過濾器和攔截器的區別

引言

過濾器和攔截器都是Web應用中常見的概念,但兩者之間有何差別什麼時候應該使用過濾器,什麼時候應該使用攔截器,卻經常讓很多人感到茫然,其實過濾器和攔截器在某些方面的功能是類似的,所以容易讓人混淆,當然他們也有區別。

相同點

  • 同樣可以攔截請求,可以進行權限驗證等操作

  • 同樣都是鏈式的,一個請求可以對應多個攔截器或者過濾器

不同點

  • 過濾器是web項目中的 普遍的概念,而攔截器是類似struts、springMVC這些表現層框架提供的功能
  • 實現不同,過濾器一般實現Filter接口,而攔截器一般實現Interceptor接口
  • 攔截器可以訪問Servlet API、ActionContext、值棧,而過濾器只能訪問Servlet API。
  • 過濾器一般配置於攔截器之前
  • 過濾器依賴於servlet容器,攔截器則一般不依賴於servlet容器
  • 過濾器在web.xml中必須要先於servlet進行聲明
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章