1.Filter过滤器
filter执行流程(与filter接口的三个方法有关)
(1)定义fliter
创建一个类,并实现Filter接口的所有方法
(2)配置filter
filter类上加@WebFilter注解,并配置拦截的路径,启动类上加上@ServletComponentScan注解来开启servlet组件支持
(3)拦截路径@WebFilter注解的urlPatterns值
(4)过滤器链
再创建一个filter类并实现Filter接口的所有方法,类名为AAFilter
在Postman发送login请求,看一下过滤器执行的顺序
(5)过滤器的执行顺序
根据类名的首字母的自然排序按顺序执行
2、Interceptor拦截器
(1)定义拦截器
创建一个类LoginCheckInterceptor类来实现HandlerInterceptor接口并实现所有的方法
并将该类交给ioc容器管理(供等下注册拦截器使用)
(2)注册拦截器
创建一个类,类名为WebConfig并添加上注解@Configuration变为项目的配置类
(3)拦截路径的范围
(4)拦截器的执行流程
总结、Filter过滤器和Interceptor共同点与不同点
(1)共同点:他们都可以实现对网络请求的拦截
(2)不同点:
接口规范不同:过滤器需要实现Filter接口,而拦截器需要实现HandlerInterceptor接口。
拦截范围不同:过滤器Filter会拦截所有的资源,而Interceptor只会拦截Spring环境中的资源。