Web 組件 --- 過濾器 Filter

定義:

web容器的組件之一,主要用於請求到Servlet之前處理和servlet返回信息到client 之前處理

應用:

  1. 認證(shiro、Spring security)
  2. 授權(shiro、Spring security)
  3. 信息過濾(xss)
  4. 統一信息(編碼)

聲明週期

工作原理圖,假設有三個過濾器符合請求規則

以 chain.doFilter(request,response); 爲界限,每個filter分爲前、後兩部分、

 

攔截類型: DispatcherType

public enum DispatcherType {
    FORWARD,//轉發請求
    INCLUDE,//轉發請求類型爲include
    REQUEST,//直接請求
    ASYNC,//異步請求,servlet3.0後纔有的
    ERROR //聲明式異常處理機制
}

關於異步請求的處理流程,補充一下:

直接調用異步請求 :

既會觸發 REQUEST類型的Filter,也會觸發ASYNC 類型的Filter,下面針對同時存在的REQUEST、ASYNC類型的Filter進行模擬

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章