SpringMVC拦截器实现监听session是否过期详解
2017-11-11 10:10
991 查看
本文主要向大家介绍了SpringMVC拦截器实现:当用户访问网站资源时,监听session是否过期的代码,具体如下:
一、拦截器配置
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <mvc:exclude-mapping path="/user/login"/> <!-- 不拦截登录请求 --> <mvc:exclude-mapping path="/user/logout"/> <!-- 不拦截注销请求 --> <mvc:exclude-mapping path="*.jsp"/> <mvc:exclude-mapping path="*.html"/> <mvc:exclude-mapping path="*.js"/> <mvc:exclude-mapping path="*.css"/> <bean class="org.huaxin.interceptor.AccessInterceptor"></bean> </mvc:interceptor> </mvc:interceptors>
二、拦截器编码
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) throws Exception { System.out.println("[AccessInterceptor]:preHandle执行"); HttpSession session = request.getSession(); ServletContext application = session.getServletContext(); if(application.getAttribute(session.getId()) == null){ //未登录 PrintWriter out = response.getWriter(); StringBuffer sb = new StringBuffer("<script type=\"text/javascript\" charset=\"UTF-8\">"); sb.append("alert(\"你的账号被挤掉,或者没有登录,或者页面已经过期,请重新登录\")"); sb.append("window.location.href='/user/logout';"); sb.append("</script>"); out.print(sb.toString()); out.close(); return false; }else{ //已经登录 return true; } }
三、总结
1.注意这里使用的拦截器是HandlerInterceptor,你的拦截器需要实现这个接口
2.在你的登录handler里面,要将session保存到application中,方便根据sessionId来判断是否存在session
3.sb.append("window.location.href='/user/logout';"); 这行代码是说,执行注销操作,在你的/user/logout 这个handler里面得把页面解析到登录页,方便重新登录
以上就是本文关于SpringMVC拦截器实现监听session是否过期详解的全部内容,希望对大家有所帮助,感兴趣的朋友可以继续参阅本站:Java监听器的作用及用法代码示例、SpringMVC开发restful API之用户查询代码详解、springmvc接收jquery提交的数组数据代码分享等,如有不足之处,欢迎留言指出。小编会及时进行更改,感谢朋友们对本站的支持!
您可能感兴趣的文章:
相关文章推荐
- 详解Spring MVC拦截器实现session控制
- shiro 拦截器实现session过期拦截ajax请求的处理
- ajax实现session不过期
- SpringMVC拦截器(包括自定以拦截器--实现HandlerInterceptorAdapter)(资源和权限管理)
- 详解之:linux下tomcat、nginx的负载均衡及memcached对session共享的实现配置详细总结
- 详解集群内Session高可用的实现原理
- SpringMVC_04 拦截器 【拦截器的编程步骤】【session复习?】
- Nginx反向代理Tomcat实现现负载均衡(高可用)以及利用redis+Session同步会话共享配置详解
- SpringMVC 拦截器遇到浏览器请求/favicon.ico被拦截导致触发session失效问题的处理办法
- Android应用如何监听自己是否被卸载及卸载反馈功能的实现(第三版)
- SpringMVC:java拦截器实现 HandlerInterceptor
- 详解Android短信的发送和广播接收实现短信的监听
- SpringMVC 登录拦截器实现
- springmvc配置拦截器及测试详解
- Node.js刷新session过期时间的实现方法推荐
- PHP设置会话(Session)超时过期时间实现登录时间限制
- 关于拦截器和过滤器以及实现国际化和session超时验证
- 详解PHP SESSION 的TIMEOUT(过期)和总结
- SpringMVC使用session实现简单登录
- session是否过期