SpringMVC拦截器
(一)SpringMVC拦截器简介
1.跟过滤器比较像的技术
2.发送请求时被拦截器拦截,在控制器的前后添加额外功能
- 2.1 跟 AOP 区分开.AOP 在特定方法前后扩充(对 ServiceImpl)
- 2.2 拦截器,请求的拦截.针对点是控制器方法.(对 Controller)
3.SpringMVC 拦截器和 Filter 的区别
- 3.1 拦截器只能拦截器 Controller 3.2 Filter 可以拦截任何请求
(二)SpringMVC拦截器实现原理
当用户请求到DispatherServlet中,DispatherServlet调用HandlerMapping查找Handler,HandlerMapping返回一个拦截器链(HandlerExecutionChain),springmvc中的拦截器是通过HandlerMapping发起的。
(三)springMVC拦截器的实现方式
- 第一种方式是要定义的Interceptor类要实现了Spring的HandlerInterceptor 接口
- 第二种方式是继承实现了HandlerInterceptor接口的类,比如Spring已经提供的实现了HandlerInterceptor接口的抽象类HandlerInterceptorAdapter
(四) HandlerInterceptor接口的方法