vicky_yaoxj 2011-10-17 13:23
浏览 255
已采纳

session过期,过滤器器不到作用

我服务设置的session过期时间是5分钟。
5分钟不用之后,再去刷新页面。应该跑到的是登陆页面里面去(设置了过滤器)。但是没到登陆页面里面去,也没到过滤器里面去
是什么问题??

刷新之后直接跑到了:http://localhost:7070/login.jsp

项目的路径没了。本来应该是:http://localhost:7070/test/login.jsp


过滤器里面是这样子写的:

 
 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
  // TODO 自动生成方法存根
  HttpServletRequest req = (HttpServletRequest)request;
  HttpServletResponse res = (HttpServletResponse)response;
  HttpSession session = req.getSession();
  
//  System.out.println("++++++++++++++++++="+context);
  //设置application属性
  if(session.getAttribute("person")==null)
  {
   //未登录,跳转到登录界面
   String context = req.getContextPath();
   System.out.println("++++++++++++++++++="+context);
   String url = context + "/login.jsp";
//   res.sendRedirect(url);
   req.getRequestDispatcher("/login.jsp").forward(req, res);
  }else
  {
   chain.doFilter(request,response);
  }
 }

 

 

web.xml里面是这样子的:

  <filter>
   <filter-name>LoginFilter</filter-name>
   <filter-class>com.landi.filter.LoginFilter</filter-class>
  </filter>
 
  <filter-mapping>
   <filter-name>LoginFilter</filter-name>
   <url-pattern>/index.jsp</url-pattern>
  </filter-mapping>

  • 写回答

6条回答 默认 最新

  • AngelAndAngel 2011-10-17 15:01
    关注

    你没用别的框架吧?
    你照我的做法:
    1,在你的webroot新建一个admin的文件夹,把你需要登录才能访问的页面放进去。
    2,
    [code="xml"]
    LoginFilter
    /admin/*
    [/code]

    3,把你的一些路径相应改一下,然后自己跑起来试试,你不试我给你解释很多东西你还是不明白。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥15 python爬取bilibili校园招聘网站
  • ¥30 求解达问题(有红包)