Servlet編寫過濾器
Servlet 過濾器是可用于 Servlet 編程的 Java 類,有以下目的:
1.在客戶端的請求訪問后端資源之前,攔截這些請求。
2.在服務器的響應發送回客戶端之前,處理這些響應。
根據規范建議的各種類型的過濾器:
1.身份驗證過濾器(Authentication Filters)。
2.數據壓縮過濾器(Data compression Filters)。
3.加密過濾器(Encryption Filters)。
4.觸發資源訪問事件過濾器。
5.圖像轉換過濾器(Image Conversion Filters)。
6.日志記錄和審核過濾器(Logging and Auditing Filters)。
7.MIME-TYPE 鏈過濾器(MIME-TYPE Chain Filters)。
8.標記化過濾器(Tokenizing Filters)。
9.XSL/T 過濾器(XSL/T Filters),轉換 XML 內容。
過濾器被部署在部署描述符文件 web.xml 中,然后映射到您的應用程序的部署描述符中的 Servlet 名稱或 URL 模式。
當 Web 容器啟動 Web 應用程序時,它會為您在部署描述符中聲明的每一個過濾器創建一個實例。該過濾器執行的順序是按它們在部署描述符中聲明的順序。
- Servlet過濾器方法
過濾器是一個實現了 javax.servlet.Filter 接口的 Java 類。javax.servlet.Filter 接口定義了三個方法:
方法 | 描述 |
---|---|
public void doFilter(SerlvetRequest,SrevletResponse,FilterChain) | 該方法在每次一個請求/響應對因客戶端在鏈的末端請求資源而通過鏈傳遞時由容器調用。 |
public void init(FilterConfig filterConfig) | 該方法由 Web 容器調用,指示一個過濾器被放入服務。 |
public void destroy() | 該方法由 Web 容器調用,指示一個過濾器被取出服務。 |
Servlet Cookies處理
Cookies 是存儲在客戶端計算機上的文本文件,并保留了各種跟蹤信息。Java Servlet 顯然支持 HTTP Cookies。
識別返回用戶包括三個步驟:
1.服務器腳本向瀏覽器發送一組 Cookies。例如:姓名、年齡或識別號碼等。
2.瀏覽器將這些信息存儲在本地計算機上,以備將來使用。
3.當下一次瀏覽器向 Web 服務器發送任何請求時,瀏覽器會把這些 Cookies 信息發送到服務器,服務器將使用這些信息來識別用戶。