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

所属分类: 软件编程 / java 阅读数: 45
收藏 0 赞 0 分享

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失效后处理方式结束。

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

更多精彩内容其他人还在看

Java基于反射机制实现全部注解获取的方法示例

这篇文章主要介绍了Java基于反射机制实现全部注解获取的方法,结合实例形式分析了java反射机制获取注解的具体实现方法与操作注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

Java 信号量Semaphore的实现

这篇文章主要介绍了Java 信号量Semaphore的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

eclipse+maven+spring mvc项目基本搭建过程

这篇文章主要介绍了eclipse+maven+spring mvc项目基本搭建过程,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring boot集成swagger2生成接口文档的全过程

这篇文章主要给大家介绍了关于Spring boot集成swagger2生成接口文档的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Java冒泡排序法和选择排序法的实现

这篇文章主要介绍了Java冒泡排序法和选择排序法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Spring Cloud Alibaba教程之Sentinel的使用

这篇文章主要介绍了Spring Cloud Alibaba教程之Sentinel的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Josephus环的四种解法(约瑟夫环)基于java详解

这篇文章主要介绍了Josephus环的四种解法(约瑟夫环)基于java详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Java继承Thread类创建线程类示例

这篇文章主要介绍了Java继承Thread类创建线程类,结合实例形式分析了java线程操作相关使用技巧与注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

Java使用Callable和Future创建线程操作示例

这篇文章主要介绍了Java使用Callable和Future创建线程操作,结合实例形式分析了java使用Callable接口和Future类创建线程的相关操作技巧与注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

springBoot使用JdbcTemplate代码实例

这篇文章主要介绍了springBoot使用JdbcTemplate代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多