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的生命周期中,攔截器可以多次被調用,而過濾器只能在容器初始化時被調用一次。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM