首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

web.xml 學習筆記 (3):filter 過濾器完整配置與調度機制

     編輯:關於ASP.NET

Filter 為 Servlet 變體,預處理請求、後處理回應,形成處理鏈。不能直接產生回應。

Filter 用途與類型

  • 用戶授權攔截
  • 特殊請求日誌記錄
  • 非標準編碼解碼
  • XSLT 轉換 XML 內容

建立步驟

  1. 實作 javax.servlet.Filter 介面
  2. web.xml 註冊 <filter> 與 <filter-mapping>

filter 子元素

  • <filter-name>:過濾器名稱
  • <filter-class>:完整類別名
  • <init-param>:初始化參數,透過 FilterConfig 取得

filter-mapping 調度模式

攔截資源指定方式:<url-pattern> 或 <servlet-name>。<dispatcher> 指定攔截觸發時機:

值觸發條件
REQUEST用戶直接存取(預設)
INCLUDERequestDispatcher.include()
FORWARDRequestDispatcher.forward()
ERROR聲明式異常處理

完整範例

<filter>
  <filter-name>URIFilter</filter-name>
  <filter-class>org.cjj.filter.URIFilter</filter-class>
  <init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param>
</filter>
<filter-mapping>
  <filter-name>URIFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

多個 Filter 依 web.xml 宣告順序形成鏈,FilterChain.doFilter() 控制傳遞下一環或目標資源。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved