需要引入
http://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd

之前是3.0.xsd  mvc:exclude-mapping 报错 需要改成3.2.xsd
<mvc:interceptors>    <mvc:interceptor>        <!-- 需拦截的地址 -->        <!-- 一级目录 -->        <mvc:mapping path="/**" />        <mvc:exclude-mapping path="/api*"/>        <bean class="com.xw.interceptor.LoginInterceptor"/>    </mvc:interceptor></mvc:interceptors>

拦截器类 实现 HandlerInterceptor 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;/*** @author 12561*/
public class LoginInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {HttpSession session = request.getSession();User user= (User)session.getAttribute("user");/*** 判断session有没有失效*/if (user==null || "".equals(user)){System.out.println("session失效");/*跳转到500页面 然后500在弹登录超时,2秒后自动跳转到登录页*/response.sendRedirect("/500.jsp");return false;}else{System.out.println("session验证通过");return true;}}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {}
}

  500 页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>H+ 后台主题UI框架 - 500错误</title><meta name="keywords" content="H+后台主题,后台bootstrap框架,会员中心主题,后台HTML,响应式后台"><meta name="description" content="H+是一个完全响应式,基于Bootstrap3最新版本开发的扁平化主题,她采用了主流的左右两栏式布局,使用了Html5+CSS3等现代技术"><link rel="shortcut icon" href="favicon.ico"> <link href="/static/css/bootstrap.min.css?v=3.3.5" rel="stylesheet"><link href="/static/css/font-awesome.min.css?v=4.4.0" rel="stylesheet"><link href="/static/css/animate.min.css" rel="stylesheet"><link href="/static/css/style.min.css?v=4.0.0" rel="stylesheet"><base target="_blank"><script src="/static/js/jquery.min.js"></script><script src="/static/layui/layui.js"></script></head><body class="gray-bg"><%--<div class="middle-box text-center animated fadeInDown">--%><%--<h1>500</h1>--%><%--<h3 class="font-bold">服务器内部错误</h3>--%><%--<div class="error-desc">--%><%--服务器好像出错了...--%><%--<br/>您可以返回看看--%><%--<br/><a href="/login.jsp" class="btn btn-primary m-t">主页</a>--%><%--</div>--%><%--</div>--%><script src="/static/js/jquery.min.js?v=2.1.4"></script><script src="/static/js/bootstrap.min.js?v=3.3.5"></script><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9051096" charset="UTF-8"></script>
</body><script>layui.use('layer', function(){var layer = layui.layer ;layer.msg('您的登录已过期,请重新登录',{icon: 1,time: 2000 //2秒关闭(如果不配置,默认是3秒)},function () {window.parent.location.href="/login.jsp";});});
</script>
</html>

  

转载于:https://www.cnblogs.com/SeaWxx/p/9468586.html

interceptor 拦截器的使用 (session验证)相关推荐

  1. 框架:SpringMVC中Interceptor拦截器的两种实现

    Spring中使用Interceptor拦截器 SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证, ...

  2. spring拦截器覆盖_Spring中使用Interceptor拦截器

    SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那 ...

  3. SpringMVC中使用Interceptor拦截器

    2019独角兽企业重金招聘Python工程师标准>>> SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理. ...

  4. interceptor拦截器典型应用实例----数据稽核

    interceptor拦截器典型应用实例----数据稽核 Interceptor拦截器的使用小结,程序实例是典型的 "数据稽核"过程,即在对数据库中的数据进行修改后会自动添加对应的 ...

  5. Struts2自定义拦截器实例—登陆权限验证

    版本:struts2.1.6 此实例实现功能:用户需要指定用户名登陆,登陆成功进入相应页面执行操作,否则返回到登陆页面进行登陆,当直接访问操作页面(登陆后才能访问的页面)时则不允许,须返回登陆页面. ...

  6. Struts2自己定义拦截器实例—登陆权限验证

    版本号:struts2.1.6 此实例实现功能:用户须要指定username登陆,登陆成功进入对应页面运行操作,否则返回到登陆页面进行登陆,当直接訪问操作页面(登陆后才干訪问的页面)时则不同意,须返回 ...

  7. springMVC之Interceptor拦截器

    转自:https://blog.csdn.net/qq_25673113/article/details/79153547 Interceptor拦截器用于拦截Controller层接口,表现形式有点 ...

  8. Mybatis Interceptor 拦截器

    拦截器(Interceptor)在 Mybatis 中被当做插件(plugin)对待,官方文档提供了 Executor(拦截执行器的方法),ParameterHandler(拦截参数的处理),Resu ...

  9. springboot Interceptor拦截器excludePathPatterns失效

    springboot Interceptor拦截器excludePathPatterns失效 使用jwt和HandlerInterceptorAdapter做登录的拦截放行失效,其实更多时候不是配置文 ...

最新文章

  1. 2013年十大IT发展趋势预测
  2. VI和VIM编辑器深入学习笔记--基本vi命令
  3. WP8.1学习系列(第一章)——添加应用栏
  4. 【报告分享】企业出海全知道.pdf(附80页pdf下载链接)
  5. Django数据获取操作
  6. 4G模块使用记录SIMCOM7070
  7. 【数据分享】滤泡性淋巴瘤研究数据集
  8. 几种常见排序算法时间复杂度
  9. 【好玩的代码雨(附源代码
  10. GIT无法提交到码云。原因可能是所在提交位置不对
  11. OCSNG inventory | 介绍
  12. 热设计功耗(TDP)与功耗(P)
  13. GUI优化工具optimtool
  14. ORA-15018: diskgroup cannot be created
  15. 交叉测试、探索性测试的概念、价值、实践
  16. HM下载调试_ubuntu20
  17. 游戏语音聊天系统完美运营源码,附详尽视频教程
  18. 计算机体系结构的庖丁解牛
  19. CHOJ 5202 自然数拆分Lunatic版 【完全背包模型】
  20. 以太网学习(2)-- 网络协议简介

热门文章

  1. JVM垃圾收集器与内存分配策略学习总结
  2. LeetCode 2104. 子数组范围和(单调栈)
  3. LeetCode 1007. 行相等的最少多米诺旋转
  4. LeetCode MySQL 1077. 项目员工 III
  5. LeetCode 271. 字符串的编码与解码(4位16进制字符+字符串)
  6. LeetCode 1458. 两个子序列的最大点积(动态规划,类似编辑距离)
  7. LeetCode 1209. 删除字符串中的所有相邻重复项 II(栈)
  8. LeetCode 1161. 最大层内元素和(层序遍历)
  9. LeetCode 134. 加油站(贪心)
  10. python接活网站_python能自己接活_python开发接活 - CSDN