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

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

            <div class="art_xg">
    
  • 相关阅读:
    AJAX实现文件下载
    正则表达式收集
    C# Winform使用线程改变窗体控件的属性
    C# DataTable转List<Model>通用类
    C# ExcelHelper
    CSS浏览器兼容
    asp.net mvc Razor视图引擎
    『C程序设计』读书笔记系列文章之第八章 预编译处理
    .NET发邮件错误之"Could not access 'CDO.Message' object."
    英语词组日常积累
  • 原文地址:https://www.cnblogs.com/jpfss/p/9487104.html
  • Copyright © 2020-2023  润新知