當前位置:編程學習大全網 - 遊戲軟體 - java web 過濾器跟攔截器的區別和使用

java web 過濾器跟攔截器的區別和使用

區別如下:

1 、攔截器是基於java的反射機制的,而過濾器是基於函數回調。

2 、攔截器不依賴與servlet容器,過濾器依賴與servlet容器。

3 、攔截器只能對action請求起作用,而過濾器則可以對幾乎所有的請求起作用。

4 、攔截器可以訪問action上下文、值棧裏的對象,而過濾器不能訪問。

5 、在action的生命周期中,攔截器可以多次被調用,而過濾器只能在容器初始化時被調用壹次。

使用如下:

在Servlet作為過濾器使用時,它可以對客戶的請求進行處理。處理完成後,它會交給下壹個過濾器處理,這樣,客戶的請求在過濾鏈裏逐個處理,直到請求發送到目標為止。例如,某網站裏有提交“修改的註冊信息”的網頁,當用戶填寫完修改信息並提交後,服務器在進行處理時需要做兩項工作:判斷客戶端的會話是否有效;對提交的數據進行統壹編碼。

這兩項工作可以在由兩個過濾器組成的過濾鏈裏進行處理。當過濾器處理成功後,把提交的數據發送到最終目標;如果過濾器處理不成功,將把視圖派發到指定的錯誤頁面。

擴展資料

攔截器,在AOP(Aspect-Oriented Programming)中用於在某個方法或字段被訪問之前,進行攔截然後在之前或之後加入某些操作。攔截是AOP的壹種實現策略。?

在Webwork的中文文檔的解釋為——攔截器是動態攔截Action調用的對象。它提供了壹種機制可以使開發者可以定義在壹個action執行的前後執行的代碼,也可以在壹個action執行前阻止其執行。同時也是提供了壹種可以提取action中可重用的部分的方式。?

過濾器是壹個程序,它先於與之相關的servlet或JSP頁面運行在服務器上。過濾器可附加到壹個或多個servlet或JSP頁面上,並且可以檢查進入這些資源的請求信息。

參考資料:

百度百科-java

  • 上一篇:紅薯熱量
  • 下一篇:現在安居客有客戶嗎
  • copyright 2024編程學習大全網