概念
- 拦截器,全称处理器拦截器,类似过滤器(Filter)
- 基于反射机制实现,用于对处理器进行预处理和后处理
拦截器原理
前端控制器收到请求之后,通过映射处理器获取处理流程链,处理流程链包含:拦截器和处理器。
- 如果没有配置拦截器,那么直接由处理器处理请求
- 如果配置了拦截器,那么按照配置文件顺序执行拦截器及处理器 执行流程:
拦截器的配置及使用
框架提供了拦截器接口,通过实现 HandlerInterceptor 接口可以完成拦截器的实现。
至少要实现三个方法:
- preHandle():预处理回调方法,实现处理器的预处理:在处理器之前处理
- postHandle():后处理回调方法,处理器处理后,返回视图之前
- afterCompletion():整个请求处理完毕回调方法,即返回视图之后