详解springmvc控制登录用户session失效后跳转登录页面
程序员文章站
2024-03-09 11:33:41
springmvc控制登录用户session失效后跳转登录页面,废话不多少了,具体如下:
第一步,配置 web.xml
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失效后处理方式结束。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。