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

springmvc控制登录用户session失效后跳转登录页面,废话不多少了,具体如下:

第一步,配置 web.xml

 <session-config> 
  <session-timeout>15</session-timeout> 
 </session-config> 

第二步,配置spring-mvc.xml

<!-- Session失效拦截 --> 
  <mvc:interceptors> 
    <!-- 定义拦截器 --> 
     <mvc:interceptor>   
        <!-- 匹配的是url路径, 如果不配置或/**,将拦截所有的Controller -->  
        <mvc:mapping path="/**" />  
        <!-- 不需要拦截的地址 --> 
        <mvc:exclude-mapping path="/login.do" /> 
        <bean class="com.cm.contract.controller.annotation.GEISSSessionTimeoutInterceptor"></bean>   
    </mvc:interceptor> 
  </mvc:interceptors> 

第三步,写拦截器SystemSessionInterceptor 方法

public class SystemSessionInterceptor implements HandlerInterceptor { 
  private static final String LOGIN_URL="/jsp/sessionrun.jsp"; 
  @Override 
  public void postHandle(HttpServletRequest request, 
      HttpServletResponse response, Object handler, 
      ModelAndView modelAndView) throws Exception { 
     
 
  } 
 
  @Override 
  public void afterCompletion(HttpServletRequest request, 
      HttpServletResponse response, Object handler, Exception ex) 
      throws Exception { 
 
  } 
 
  @Override 
  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, 
      Object handler) throws Exception { 
    HttpSession session=request.getSession(true); 
    //session中获取用户名信息 
    Object obj = session.getAttribute(CMConstant.LOGINUSER); 
    if (obj==null||"".equals(obj.toString())) { 
      response.sendRedirect(request.getSession().getServletContext().getContextPath()+LOGIN_URL;
         return false;
      }
      return true;
   }

第五步,配置友情提示页面sessionrun.jsp

<body>      
  <SCRIPT language="JavaScript"> 
    alert("用户已在其他地方登陆,请重新登录。"); 
    setTimeout(function () { 
      window.top.location.href="<%=path%>/index.jsp"; 
    },2000); 
  </script> 
  </body> 

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。