Spring Boot 过滤器
一。过滤器和拦截器的区别
1 Filter 是基于函数回调doFilter(),而Interceptor是基于AOP思想
2 Filter只在Servlet前后起作用,而Interceptor能够深入到方法前后、异常跑出前后等
3 Filter依赖于Servlet容器即web应用中,而Interceptor不依赖于Servlet容器,所以可以运行在多种环境
4 在调用方法的生命周期里,Interceptor可以被多次调用,而Filter只能在容器初始化的时候调用一次
二。Filter和Interceptor的执行顺序
过滤前->拦截前->action执行->拦截后->过滤后
三。实现过滤方法
四。配置过滤
注册过滤器添加 @ServletComponentScan
总结:在SpringBootApplication上使用@ServletComponentScan注解后,Servlet、Filter、Listener可以直接通过@WebServlet、@WebFilter、@WebListener注解自动注册,无需其他代码。
获取源码:https://github.com/alindada/springboot
评论