SpringMVC拦截器

(一)SpringMVC拦截器简介

1.跟过滤器比较像的技术

2.发送请求时被拦截器拦截,在控制器的前后添加额外功能

  1.  2.1 跟 AOP 区分开.AOP 在特定方法前后扩充(对 ServiceImpl)
  2. 2.2 拦截器,请求的拦截.针对点是控制器方法.(对 Controller)

3.SpringMVC 拦截器和 Filter 的区别

  1. 3.1 拦截器只能拦截器 Controller 3.2 Filter 可以拦截任何请求

(二)SpringMVC拦截器实现原理 

  当用户请求到DispatherServlet中,DispatherServlet调用HandlerMapping查找Handler,HandlerMapping返回一个拦截器链(HandlerExecutionChain),springmvc中的拦截器是通过HandlerMapping发起的。

SpringMVC拦截器 

(三)springMVC拦截器的实现方式 

  1. 第一种方式是要定义的Interceptor类要实现了Spring的HandlerInterceptor 接口
  2. 第二种方式是继承实现了HandlerInterceptor接口的类,比如Spring已经提供的实现了HandlerInterceptor接口的抽象类HandlerInterceptorAdapter

(四)  HandlerInterceptor接口的方法

SpringMVC拦截器