springboot 过滤器拦截器消息转换器切片执行顺序 及区别

Posted panchanggui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot 过滤器拦截器消息转换器切片执行顺序 及区别相关的知识,希望对你有一定的参考价值。

request 请求 -->
1:过滤器 doFilter
2:拦截器 preHandle
3:消息转换器 readInternal
4:AOP before
5:Controller
6:Response
7:AOP after
8:消息转换器 writeInternal
9:拦截器 postHandle

过滤器:
可以拿到原始的Http请求和响应的信息,只能获得其请求和响应携带的参数,但是却拿不到真正处理请求的控制器和方法的信息
拦截器: 可以拿到原始Http请求和响应的信息 也可拿到请求的方法的信息
切片 :可拿到请求的方法的值 ,拿不到原始的Http的请求和响应的对象)

拦截器与过滤器的区别 :
拦截器是基于java的反射机制的,而过滤器是基于函数回调。
拦截器不依赖与servlet容器,过滤器依赖与servlet容器。
拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用。
拦截器可以访问action上下文、值栈里的对象,而过滤器不能访问。
在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次。

 

以上是关于springboot 过滤器拦截器消息转换器切片执行顺序 及区别的主要内容,如果未能解决你的问题,请参考以下文章

Resultful API的拦截(切片Aspect)

springboot的四种拦截机制

过滤器 ;spring拦截器 切片 小结

springboot安全组件总结

springboot安全组件总结

SpringBoot全局拦截器