IT兄弟連 JavaWeb教程 過濾器與監聽器經典面試題

  • 2019 年 10 月 5 日
  • 筆記

版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/ITXDL123/article/details/90761525

1.談談你對Servlet過濾器的理解

過濾器是Servlet2.3規範中定義的一種小型的、可插入的Web組件。用來攔截Servlet容器的請求和響應過程,以便查看、提取客戶端和伺服器之間正在交換的數據。過濾器通常是封裝了一些功能的Web組件,這些功能很重要,但對於處理客戶端請求或發送響應來說不是決定性的。典型的應用包括記錄請求和響應的數據、管理會話屬性等。

2.簡述什麼是監聽器

監聽web應用,監聽許多資訊的初始化,銷毀,增加,修改,刪除值等Servlet監聽器用於監聽一些重要事件的發生,監聽器對象可以在事情發生前、發生後可以做一些必要的處理。

● Listener是Servlet的監聽器。

● 可以監聽客戶端的請求、服務端的操作等。

● 通過監聽器,可以自動激發一些操作,如監聽在線用戶數量,當增加一個HttpSession時,給在線人數加1。

● 編寫監聽器需要實現相應的介面。

● 編寫完成後在web.xml文件中配置一下,就可以起作用了。

● 可以在不修改現有系統基礎上,增加web應用程式生命周期事件的跟蹤。

3.過濾器的工作原理?

當客戶端發出Web資源的請求時,Web伺服器根據應用程式配置文件設置的過濾規則進行檢查,若客戶請求滿足過濾規則,則對客戶請求/響應進行攔截,對請求頭和請求數據進行檢查或改動,並依次通過過濾器鏈,最後把請求/響應交給請求的Web資源處理。請求資訊在過濾器鏈中可以被修改,也可以根據條件讓請求不發往資源處理器,並直接向客戶機發回一個響應。當資源處理器完成了對資源的處理後,響應資訊將逐級逆向返回。同樣在這個過程中,用戶可以修改響應資訊,從而完成一定的任務。