springMVC
拦截器(Interceptor)和过滤器(Filter)的执行顺序和区别
拦截器是基于java的反射机制的,aop实现,可以在方法前后,而过滤器是基于函数回调,需要在web.xml中配置。
拦截器不依赖与servlet容器,过滤器依赖与servlet容器。
拦截器可以多次被调用,还可以访问当前作用于的栈和对象,可以详细到每个方法,而过滤器器只能在请求的前后过滤
过滤器能够修改reques,而拦截器不行
Filter的执行顺序在Interceptor之前,具体的流程见下图
也就是
过滤器:能够拿到原始的http请求,但是拿不到你请求的控制器和请求控制器中的方法的信息
拦截器:可以拿到你请求的控制器和方法,拿不到请求方法的参数
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 吕小医's BLOG!