1.區(qū)別:
- 攔截器是基于Java的反射機制的,而過濾器是基于函數(shù)回調(diào)宏怔。
- 攔截器不依賴與servlet容器奏路,過濾器依賴與servlet容器。
- 攔截器只能對action請求起作用臊诊,而過濾器則可以對幾乎所有的請求起作用鸽粉。
- 攔截器可以訪問action上下文、值棧里的對象抓艳,而過濾器不能訪問触机。
- 在action的生命周期中,攔截器可以多次被調(diào)用玷或,而過濾器只能在容器初始化時被調(diào)用一次儡首。
- 攔截器可以獲取IOC容器中的各個bean,而過濾器就不行偏友,這點很重要蔬胯,在攔截器里注入一個service,可以調(diào)用業(yè)務(wù)邏輯位他。
2.調(diào)用過程:
Paste_Image.png