详解springmvc控制登录用户session失效后跳转登录页面
发布时间:2020-12-14 14:35:52 所属栏目:Java 来源:网络整理
导读:springmvc控制登录用户session失效后跳转登录页面,废话不多少了,具体如下: 第一步,配置 web.xml session-config session-timeout15/session-timeout /session-config 第二步,配置spring-mvc.xml !-- Session失效拦截 -- mvc:interceptors !-- 定义拦截
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,Exception ex) throws Exception { } @Override public boolean preHandle(HttpServletRequest request,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失效后处理方式结束。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |