入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

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

创建时间:2016-12-17 投稿人: 浏览次数:2731

第一步,配置 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失效后处理方式结束。点击打开链接
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。