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

 更新时间:2017年01月05日 15:44:20   作者:GreenRookie  
本篇文章主要介绍了springmvc控制登录用户session失效后跳转登录页面,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失效后处理方式结束。

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

相关文章

  • springboot添加多数据源的方法实例教程

    springboot添加多数据源的方法实例教程

    这篇文章主要给大家介绍了关于springboot添加多数据源方法的相关资料,在实际开发中经常可能遇到在一个应用中可能要访问多个数据库多的情况,需要的朋友可以参考下
    2023-09-09
  • logback的DuplicateMessageFilter日志过滤操作源码解读

    logback的DuplicateMessageFilter日志过滤操作源码解读

    这篇文章主要为大家介绍了logback的DuplicateMessageFilter日志过滤操作源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • log4j升级log4j2遇到的问题及解决方式

    log4j升级log4j2遇到的问题及解决方式

    这篇文章主要介绍了log4j升级log4j2遇到的问题及解决方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • 有关ServletConfig与ServletContext的访问

    有关ServletConfig与ServletContext的访问

    下面小编就为大家带来一篇有关ServletConfig与ServletContext的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • mybatis-plus多表分页查询最佳实现方法(非常简单)

    mybatis-plus多表分页查询最佳实现方法(非常简单)

    这篇文章主要给大家介绍了关于mybatis-plus多表分页查询最佳实现方法,文中介绍的方法非常简单,MyBatis-Plus中分页查询是比较方便的,这个功能在网站中也是非常常用的,这方面的知识点是必备的知识点,需要的朋友可以参考下
    2023-08-08
  • 详解Spring Cloud Hystrix断路器实现容错和降级

    详解Spring Cloud Hystrix断路器实现容错和降级

    本篇文章主要介绍了详解Spring Cloud Hystrix断路器实现容错和降级,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • 解决引入spring-cloud-starter-openfeign后部分类找不到的问题

    解决引入spring-cloud-starter-openfeign后部分类找不到的问题

    这篇文章主要介绍了解决引入spring-cloud-starter-openfeign后部分类找不到的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • java JDBC主要组件连接数据库及执行SQL过程示例全面详解

    java JDBC主要组件连接数据库及执行SQL过程示例全面详解

    这篇文章主要为大家介绍了java JDBC主要组件连接数据库及执行SQL的过程示例全面详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 简述Java中throw-throws异常抛出

    简述Java中throw-throws异常抛出

    任何Java代码都可以抛出异常,本文主要介绍了Java中throw-throws异常抛出,具有一定的参考价值,感兴趣的可以了解一下
    2021-08-08
  • Java实现把文件及文件夹压缩成zip

    Java实现把文件及文件夹压缩成zip

    这篇文章主要介绍了Java实现把文件及文件夹压缩成zip,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03

最新评论