1. 程式人生 > >Spring中Interceptor和Filter區別

Spring中Interceptor和Filter區別

本質區別

Interceptor:基於Java的反射機制

filter:基於函式回撥。

從靈活性上說攔截器功能更強大些,Filter能做的事情,Interceptor都能做,而且可以在請求前,請求後執行,比較靈活。

其他區別

  filter Interceptor
呼叫次數 只能在容器初始化時呼叫一次 可以被多次呼叫
規範 依賴於Servlet容器 依賴於Spring容器
訪問範圍 Filter不能訪問Action的上下文,值棧裡的物件 Action的上下文,值棧裡的物件
深度 Filter在只在Servlet前後起作用 攔截器能夠深入到方法前後、異常丟擲前後等