加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

過濾器和攔截器的區(qū)別

2021/04/19
2857
閱讀需 2 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

硬件型號:戴爾靈越7400

系統(tǒng)版本:Windows10

過濾器和攔截器區(qū)別如下:

1.攔截器是基于java的反射機制的,而過濾器是基于函數(shù)回調(diào)。

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

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

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

5.在action的生命周期中,攔截器可以多次被調(diào)用,而過濾器只能在容器初始化時被調(diào)用一次。

在Servlet作為過濾器使用時,它可以對客戶的請求進行處理。處理完成后,它會交給下一個過濾器處理,客戶的請求在過濾鏈里逐個處理,直到請求發(fā)送到目標為止。例如,某網(wǎng)站里有提交修改的注冊信息的網(wǎng)頁,當用戶填寫完修改信息并提交后,服務(wù)器在進行處理時需要做兩項工作:判斷客戶端的會話是否有效;對提交的數(shù)據(jù)進行統(tǒng)一編碼。

相關(guān)推薦

電子產(chǎn)業(yè)圖譜