過濾器簡單了解

2021-10-03 22:52:26 字數 2257 閱讀 5573

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,但是控制不同作用,乙個是全域性的...