日期:2014-05-17  浏览次数:20699 次

servlet转向问题

 <servlet-mapping>
    <servlet-name>ControlServlet</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>


public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletExceptionIOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

request.getRequestDispatcher("/jsp/login.jsp").forward(request, response);
}

编写想法是,当浏览器访问该应用的时候,跳转到jsp文件夹里面的login.jsp。
但是为什么这样转不过去?
还有那位大哥能告诉小弟,request.getRequestDispatcher().forward();
这个在什么条件下可以用,什么情况下不可以用。
如果那位大哥有request.getRequestDispatcher().forward();详细介绍的文章,麻烦给个链接
谢谢!!!

------解决方案--------------------
学习一下Filter,想法是对的,但是你这个只是一个Servlet,不是整个应用。
------解决方案--------------------
首先我感觉应该用拦截器。而不是普通的servlet
------解决方案--------------------
在web.xml中配置
------解决方案--------------------
应该是配置filter而不是servlet

------解决方案--------------------
servlet只能对单一页面实现操作,如果让所有的页面都跳转用servlet太麻烦了,用Filter可以,web.xm.中配置url-pattern 为 /*,页面跳转可以自动先执行Filter里面的操作,如果不符合条件让它到login.jsp,否则就传给servlet处理.
------解决方案--------------------
楼主可以设置以下 欢迎主页就醒了 跳转的话我博客又一篇简单的博文
------解决方案--------------------
<url-pattern>/*</url-pattern>

servlet不能这样配置,要么 /servlet/* 要么*.servlet