今日内容

六、拦截器【理解】

1 拦截器简介

问题导入

问题1:拦截器拦截的对象是谁?

问题2:拦截器和过滤器有什么区别?

1.1 拦截器概念和作用

image-20210805175445422

1.2 拦截器和过滤器的区别

image-20210805175539717

2 入门案例

问题导入

定义拦截器需要实现什么接口?

2.1 拦截器代码实现

【第一步】定义拦截器

做法:定义一个类,实现HandlerInterceptor接口即可

【第二步】配置加载拦截器

使用标准接口WebMvcConfigurer简化开发(注意:侵入式较强)

2.2 拦截器流程分析

image-20210805180846313

3 拦截器参数

问题导入

postHandle()和afterCompletion()方法都是处理器方法执行之后执行,有什么区别?

3.1 前置处理

3.2 后置处理

注意:如果处理器方法出现异常了,该方法不会执行

3.3 完成后处理

注意:无论处理器方法内部是否出现异常,该方法都会执行。

4 拦截器链配置

问题导入

什么是拦截器链?

4.1 多个拦截器配置

4.2 多个连接器工作流程分析

image-20210805181537718