springmvc控制登录用户session失效后跳转登录页面

8 篇文章 0 订阅
2 篇文章 0 订阅

第一步,配置 web.xml

[html]  view plain  copy
 print ?
  1. <span style="font-size:18px;">  <session-config>  
  2.     <session-timeout>15</session-timeout>  
  3.   </session-config>  
  4. </span>  

第二步,配置spring-mvc.xml

[html]  view plain  copy
 print ?
  1. <span style="font-size:18px;"><!-- Session失效拦截 -->  
  2.     <mvc:interceptors>  
  3.         <!-- 定义拦截器 -->  
  4.          <mvc:interceptor>      
  5.                 <!-- 匹配的是url路径, 如果不配置或/**,将拦截所有的Controller -->    
  6.                 <mvc:mapping path="/**" />    
  7.                 <!-- 不需要拦截的地址 -->  
  8.                 <mvc:exclude-mapping path="/login.do" />  
  9.                 <bean class="com.cm.contract.controller.annotation.GEISSSessionTimeoutInterceptor"></bean>      
  10.         </mvc:interceptor>  
  11.     </mvc:interceptors>  
  12. </span>  

第三步,写拦截器SystemSessionInterceptor 方法

[java]  view plain  copy
 print ?
  1. public class SystemSessionInterceptor implements HandlerInterceptor {  
  2.     private static final String LOGIN_URL="/jsp/sessionrun.jsp";  
  3.     @Override  
  4.     public void postHandle(HttpServletRequest request,  
  5.             HttpServletResponse response, Object handler,  
  6.             ModelAndView modelAndView) throws Exception {  
  7.           
  8.   
  9.     }  
  10.   
  11.     @Override  
  12.     public void afterCompletion(HttpServletRequest request,  
  13.             HttpServletResponse response, Object handler, Exception ex)  
  14.             throws Exception {  
  15.   
  16.     }  
  17.   
  18.     @Override  
  19.     public boolean preHandle(HttpServletRequest request, HttpServletResponse response,  
  20.             Object handler) throws Exception {  
  21.         HttpSession session=request.getSession(true);  
  22.         //session中获取用户名信息  
  23.         Object obj = session.getAttribute(CMConstant.LOGINUSER);  
  24.         if (obj==null||"".equals(obj.toString())) {  
  25.             response.sendRedirect(request.getSession().getServletContext().getContextPath()+LOGIN_URL;
  26.                  return false;
  27.            }
  28.            return true;
  29.      }
第五步,配置友情提示页面sessionrun.jsp

[javascript]  view plain  copy
 print ?
  1. <span style="white-space:pre">    </span><body>  
  2.           
  3.     <SCRIPT language="JavaScript">  
  4.         alert("用户已在其他地方登陆,请重新登录。");  
  5.         setTimeout(function () {  
  6.             window.top.location.href="<%=path%>/index.jsp";  
  7.         },2000);  
  8.     </script>  
  9.     </body>  


到此 springMvc拦截session失效后处理方式结束。


  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值