拦截器和过滤器的区别
Filter和Interceptor⼆者都是AOP编程思想的体现,功能基本都可以实现
拦截器功能更强⼤些,Filter能做的事情它都能做
Filter在只在Servlet前后起作⽤,⽽Interceptor够深⼊到⽅法前后、异常抛出前后等
filter依赖于Servlet容器即web应⽤中,⽽Interceptor不依赖于Servlet容器所以可以运⾏在多种环境。
在接⼝调⽤的⽣命周期⾥,Interceptor可以被多次调⽤,⽽Filter只能在容器初始化时调⽤⼀次。
Filter和Interceptor的执⾏顺序
过滤前->拦截前->action执⾏->拦截后->过滤后
拦截器不⽣效常⻅问题:
- 是否有加@Configuration
- 拦截路径是否有问题 ** 和 *
- 拦截器最后路径⼀定要 /** 如果是⽬录的话则是 /*/
拦截器拦截循序
按照注册顺序进⾏拦截,先注册,先被拦截