使用过滤器访问页面出现404错误

lymne 2013-06-04 10:55:33

过滤器只过滤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>

...全文
567 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lymne 2013-06-04
  • 打赏
  • 举报
回复
引用 1 楼 yangcheng211 的回复:
request.getRequestDispatcher("../index.jsp").forward(request,response); 或者 request.getRequestDispatcher(request.getContextPath() + "index.jsp").forward(request,response); 还有我觉得这里用重定向是不是好点?
改成request.getRequestDispatcher("../index.jsp").forward(request,response);之后连index.jsp的都访问不了了
Asura211 2013-06-04
  • 打赏
  • 举报
回复
request.getRequestDispatcher("../index.jsp").forward(request,response); 或者 request.getRequestDispatcher(request.getContextPath() + "index.jsp").forward(request,response); 还有我觉得这里用重定向是不是好点?
GodFamiliar 2013-06-04
  • 打赏
  • 举报
回复
直接改成request.getRequestDispatcher("/index.jsp").forward(request,response);试试
且活且珍惜 2013-06-04
  • 打赏
  • 举报
回复
resopnse.sendRedi后面的不会拼了哈哈
Asura211 2013-06-04
  • 打赏
  • 举报
回复
什么意思?直接http://localhost:8080/weibodemo/index.jsp也报错?这没影响吧,这请求又不会被过滤

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧