java web的html中调用servlet怎么显示空白页,点击登录后跳转过LoginServlet,但是页面显示空白。怎么回事?

package servlets;
import java.io.IOException;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.*;
public class LoginServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

doPost(request,response);

}
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String user=req.getParameter("user");
RequestDispatcher rd=null;
if(user!=null&&user.equals("admin")){
req.getSession().setAttribute("login", "true");
rd=req.getRequestDispatcher("/admin.html");
rd.forward(req, resp);}
else if(user!=null&&user.equals("common")){
req.getSession().setAttribute("login", "true");
rd=req.getRequestDispatcher("/common.html");
rd.forward(req, resp);
}
else{

resp.sendRedirect("/ch08/login.html");

}

}

}
web的配置
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>servlets.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/servlet/LoginServlet</url-pattern>
</servlet-mapping>
<filter>
<filter-name>LoginValidationFilter</filter-name>
<filter-class>servlets.LoginValidationFilter</filter-class>
</filter>
<filter-mapping>
login.html
<form method="post" action="/ch08/servlet/LoginServlet">
<table bordercolor="blue">
<tr align="center"><td colspan="2">选择用户</td></tr>
<tr align="center"><td width="75%">
<input type="radio" name="user" value="admin">管理员
<input type="radio" name="user" value="common">普通用户
</td>
<td>
<input type="submit" name="login" value="登录">
</td>
</tr>
</table>
</form>

看了你代码路径都没问题。
只是web.xml中的filter没贴完全 看看是否进入了拦截器中。
空白画面一般是指进入了servlet而没有跳转出来,不是路径错误。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-19
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/servlet/LoginServlet</url-pattern>
</servlet-mapping>

改成
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/ch08/servlet/LoginServlet</url-pattern>
</servlet-mapping>

试试看行不,要不在servlet中的doPost中打印一句话,在点击提交的时候看看有没有打印出来那一句话。
第2个回答  2012-04-19
caoyunhui73这个回答 就绝对行
你要理解servlet和html两个之间的目录关系,也就是说你要根据html所在目录找到servlet所在目录
第3个回答  2012-04-19
action="LoginServlet"
<url-pattern>/ch08/servlet/LoginServlet</url-pattern>
相似回答