Filter&&Listener
阿新 • • 發佈:2020-08-05
-
概念:filter是對客戶端訪問資源的過濾,符合條件放行,不符合條件不放行,並且可以對目標資源訪問前後進行邏輯處理
-
設定步驟
-
建立類實現Filter介面
-
在doFilter方法中編寫放行和攔截的程式碼
-
配置攔截路徑
-
-
urlpattern
-
目錄匹配和副檔名匹配不能同時使用,會造成伺服器無法啟動
-
沒有預設配置
-
@WebFilter("/*")//訪問所有資源之前,都會執行該過濾器
-
-
dispatcher:訪問的方式
-
REQUEST:預設值,代表直接訪問某個資源時執行filter
-
FORWARD:轉發時才執行filter
-
INCLUDE: 包含資源時執行filter
-
ERROR:發生錯誤時 進行跳轉是執行filter
-
-
案例
案例:敏感詞彙過濾
* 需求:
1. 對day17_case案例錄入的資料進行敏感詞彙過濾
2. 敏感詞彙參考《敏感詞彙.txt》
3. 如果是敏感詞彙,替換為 ***
* 分析:
1. 對request物件進行增強。增強獲取引數相關方法
2. 放行。傳遞代理物件
* 增強物件的功能:
* 設計模式:一些通用的解決固定問題的方式
1. 裝飾模式
2. 代理模式
* 概念:
1. 真實物件:被代理的物件
3. 代理模式:代理物件代理真實物件,達到增強真實物件功能的目的
* 實現方式:
1. 靜態代理:有一個類檔案描述代理模式
2. 動態代理:在記憶體中形成代理類
* 實現步驟:
1. 代理物件和真實物件實現相同的介面
2. 代理物件 = Proxy.newProxyInstance();
3. 使用代理物件呼叫方法。
4. 增強方法
* 增強方式:
1. 增強引數列表
2. 增強返回值型別
Listener
-
概念:web的三大元件之一。
-
事件監聽機制
-
事件 :一件事情
-
事件源 :事件發生的地方
-
監聽器 :一個物件
-
註冊監聽:將事件、事件源、監聽器繫結在一起。 當事件源上發生某個事件後,執行監聽器程式碼
-
-
-