SpringMVC的拦截器
拦截器的概述
- SpringMVC框架中的拦截器用于对处理器进行预处理和后处理的技术。
- 可以定义拦截器链,连接器链就是将拦截器按着一定的顺序结成一条链,在访问被拦截的方法时,拦截器链中的拦截器会按着定义的顺序执行。
- 拦截器和过滤器的功能比较类似,有区别:①过滤器是Servlet规范的一部分,任何框架都可以使用过滤器技术。② 拦截器是SpringMVC框架独有的。③过滤器配置了/*,可以拦截任何资源。④拦截器只会对控制器中的方法进行拦截,如果访问的是 jsp,html,css,image 或者 js 是不会进行拦截的
- 拦截器也是AOP思想的一种实现方式
- 想要自定义拦截器,需要实现HandlerInterceptor接口。
自定义拦截器步骤
1、自定义拦截器类
如果要自定义拦截器类的话,必须实现一个接口,就是HandlerInterceptor接口,该接口中有三个默认方法分别时preHandle预处理方法、postHandle后处理方法、afterCompletion页面加载完处理方法,这里我们演示第一个预处理
我们定义一个预处理类

然后配置controller方法

2、然后配置在配置文件中配置拦截器

为了方便观察执行顺序,我们在成功页面上加一个java脚本
然后部署项目,
点击拦截器超链接,执行成功

观察控制台
HandlderInterceptor接口中的方法
1、preHandle方法

return返回true就是放行,返回false就是不放行
2、postHandle方法

controller执行完执行该方法
3、afterCompletion方法

controller执行后跳转的页面加载完了之后执行该方法

浙公网安备 33010602011771号