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