2016-02-28 24 views

回答

8

Web應用程序使用過濾器在請求或響應到達或離開服務器上的實際操作處理程序之前執行某些操作(可能是Servlet,REST服務,JSF Managed Bean等)。通過使用過濾器,您可以例如檢查某些請求是否被授權給登錄用戶,並且實際上您可以取消請求並向客戶端返回響應,而不允許請求到達實際的操作處理程序。

如果你有多個過濾器,你將不得不鏈接它們。

攔截器正在採用類方法。它允許你在調用一個對象的方法時做一些額外的處理,而不需要改變方法主體。這可能是非常有用的,當:

  • 你沒有訪問方法的身體
  • 處理的東西是重複特定類型的方法,你不想把額外的代碼隨處可見(例如記錄輸入參數和輸出結果以便跟蹤執行或檢查特定方法的安全約束(如果已經定義了某些方法)。