Filter
这个是Servlet的过滤器,基于回调函数实现,实现接口Filter就可以,可以使用@Compoent将实现的Filter托管给spring的ioc容器,也可以在@Configuration注解实现的配置类中注册,可以使用如下方式进行代码注册:
FilterRegistrationBean registrationBean = new FilterRegistratonBean();
XXFilter xxFilter = new XXFilter();
registrationBean.setFilter(xxFilter);
List<String> urls = new ArrayList<>();
urls.add("/*");
registrationBean.setUrlPatterns(urls);
return registrationBean;
它可以拿到原始的HTTP请求,但是拿不到请求的控制器和请求的控制器中的方法的信息
HandlerInterceptor
这是spring的拦截器,直接实现HandlerInterceptor就可以,可以使用@Component注解将实现的拦截器注入spring的ioc容器,也可以使用基于@Configuration注解实现的配置类来注册拦截器,底层基于反射,采用责任链模式下面是一般实现代码:
@Configuration
public