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 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大