读书人

使用过滤器访问页面出现404异常

发布时间: 2013-06-25 23:45:42 作者: rapoo

使用过滤器访问页面出现404错误
使用过滤器访问页面出现404异常
过滤器只过滤page文件夹下的jsp,一旦没有登陆而访问则跳转回index.jsp

当我在浏览器输入http://localhost:8080/weibodemo/page/homepage.jsp的时候
页面出现的是
HTTP Status 404 - /weibodemo/page/index.jsp

Filter代码
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException,ServletException{
HttpServletRequest req=(HttpServletRequest) request;
HttpSession ses=req.getSession();
if(ses.getAttribute("uesrid")!=null){
chain.doFilter(request, response);
}else{
request.getRequestDispatcher("index.jsp").forward(request,response);}
}


xml配置

<filter>
<filter-name>LoginFilter</filter-name>
<filter-class>weibodemo.filter</filter-class>

</filter>
<filter-mapping>
<filter-name>LoginFilter</filter-name>
<url-pattern>/page/*</url-pattern>
</filter-mapping>


[解决办法]
request.getRequestDispatcher("../index.jsp").forward(request,response);
或者
request.getRequestDispatcher(request.getContextPath() + "index.jsp").forward(request,response);
还有我觉得这里用重定向是不是好点?

读书人网 >Java Web开发

热点推荐