1、web.xml配置
2、過濾器執行流程
3、過濾器生命週期
4、過濾器配置詳情
5、過濾器鏈(配置多個過濾器)
1、web.xml配置
url-pattern設定攔截路徑。
2、過濾器執行流程:
過濾器 - 伺服器-過濾器
3、執行流程:
init方法在服務啟動後,會建立filter物件,然後呼叫init方法。
destroy方法在伺服器關閉後,filter物件唄被銷毀,如果伺服器是正常關閉,則會執行destroy方法。
init和destroy都只會執行一次。dofilter方法可能會執行多次。
init方法一般用於載入資源,destroy用來是放資源。
過濾器配置詳解:
**攔截路徑配置配置**
1、具體訪問路徑: /index.jsp 只有訪問 index.jsp時才會被執行
2、攔截目錄: /user/* :訪問/user下的所有資源時,過濾器都會被執行。
3、字尾名攔截:*jsp 訪問所有字尾名為jsp資源時,過濾器都會被執行
4、攔截所有資源 : /* 訪問所有資源,過濾器都將被執行。
攔截方式配置:資源被訪問的方式註解配置:
設定dispatchertype:
request:預設值,瀏覽器直接請求資源。
forward:**訪問資源。
include:包含訪問目錄
erroe:錯誤跳轉資源
async:非同步訪問資源
web.xml配置
5、過濾器鏈
過濾器先後順序問題:註解配置,按照類名字串比較規則值小的先執行,例如afilter比bfilter先執行。web.xml配置誰定義在上邊誰先執行。
**模式:
概念:真實物件:被**的物件
**物件:
**模式:**物件**真實物件,達到增強真實物件功能的目的。
靜態**:有乙個類檔案來描述**模式
動態**:在記憶體中形成**類。
動態**實現步驟:
1、**物件和真實物件實現相同的介面。
2、proxy.newproxyinstance獲取乙個**物件。
3、使用**物件來呼叫方法。
4、增強方法。
增強方式:
1、增強引數列表
2、增強返回值
3、增強方法邏輯
web目錄下資源訪問
string getrealpath
(string path)
string b = context.
getrealpath
("/b.txt");
//web目錄下資源訪問
system.out.
println
(b);
web-inf目錄下的資源訪問
string c = context.
getrealpath
("/web-inf/c.txt");
//web-inf目錄下的資源訪問
system.out.
println
(c);
src目錄下的資源訪問
string a = context.
getrealpath
("/web-inf/classes/a.txt");
system.out.
println
(a);
listener:***
事件監聽機制:
事件:一件事情
事件源:事件發生的地方
***:乙個物件
註冊監聽:將事件、事件源、***繫結在一起,當事件源上發生某個事件後,執行*****。
使用步驟:
1、實現***介面
2、複寫方法
3、配置檔案(web.xml配置和注釋配置)
servletcontextlistener物件一般用來載入資源檔案。
布隆過濾器了解
直觀的說,bloom演算法類似乙個hash set,用來判斷某個元素 key 是否在某個集合中。和一般的hash set不同的是,這個演算法無需儲存key的值,對於每個key,只需要k個位元位,每個儲存乙個標誌,用來判斷key是否在集合中。演算法 1.首先需要k個hash函式,每個函式可以把key雜...
簡單的過濾器
1 新建個類庫 新增 system.web的應用 2 實現 ihttpmodule的介面 using system using system.collections.generic using system.linq using system.text using system.web namesp...
Vue 過濾器案例(全域性過濾器和區域性過濾器)
doctype html en utf 8 viewport content width device width,initial scale 1.0 js vue 2.4.0 js script 過濾器 title head 兩個過濾器的名稱都為msgformat,但是控制不同作用,乙個是全域性的...