SpringMVC的拦截器

拦截器的概述

  1. SpringMVC框架中的拦截器用于对处理器进行预处理和后处理的技术。
  2. 可以定义拦截器链,连接器链就是将拦截器按着一定的顺序结成一条链,在访问被拦截的方法时,拦截器链中的拦截器会按着定义的顺序执行。
  3. 拦截器和过滤器的功能比较类似,有区别:①过滤器是Servlet规范的一部分,任何框架都可以使用过滤器技术。② 拦截器是SpringMVC框架独有的。③过滤器配置了/*,可以拦截任何资源。④拦截器只会对控制器中的方法进行拦截,如果访问的是 jsp,html,css,image 或者 js 是不会进行拦截的
  4. 拦截器也是AOP思想的一种实现方式
  5. 想要自定义拦截器,需要实现HandlerInterceptor接口。

自定义拦截器步骤

1、自定义拦截器类

如果要自定义拦截器类的话,必须实现一个接口,就是HandlerInterceptor接口,该接口中有三个默认方法分别时preHandle预处理方法、postHandle后处理方法、afterCompletion页面加载完处理方法,这里我们演示第一个预处理
我们定义一个预处理类
在这里插入图片描述
然后配置controller方法
在这里插入图片描述

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

在这里插入图片描述
为了方便观察执行顺序,我们在成功页面上加一个java脚本在这里插入图片描述
然后部署项目,在这里插入图片描述
点击拦截器超链接,执行成功
在这里插入图片描述
观察控制台在这里插入图片描述

HandlderInterceptor接口中的方法

1、preHandle方法

在这里插入图片描述
return返回true就是放行,返回false就是不放行

2、postHandle方法

在这里插入图片描述
controller执行完执行该方法

3、afterCompletion方法

在这里插入图片描述

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

posted @ 2021-01-28 10:06  谢海川  阅读(39)  评论(0)    收藏  举报