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条)

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码