過濾器Filter的開發(筆記)

2021-06-23 04:01:06 字數 1142 閱讀 8544

開發filter

想要開發乙個過濾器需要如下兩個步驟:

(1)寫乙個類實現特定的介面filter

生命週期:當伺服器啟動時,web應用載入後,立即建立這個web應用中的所有的過濾器,過濾器建立出來後立即呼叫init方法執行初始化的操作.

建立出來後一直駐留在記憶體中為後續的攔截進行服務.每次攔截到請求後都會導致dofilter方法執行.

在伺服器關閉或web應用被移除出容器時,隨著web應用的銷毀過濾器物件銷毀.銷毀之前呼叫destory方法執行善後工作.

init

filterconfig:代表web.xml中對當前過濾器的配置資訊

~獲取servletcontext物件

~獲取初始化資訊

getinitparameter

getinitparameternames

dofilter

request

response

filterchain:

代表過濾器鏈的物件.

所有對當前資源訪問進行攔截的過濾器按照攔截順序就組成了乙個過濾器鏈.這個過濾器鏈的最後乙個節點是要訪問的資源.

filter中呼叫filterchain提供了dofilter方法,這個方法一旦被呼叫就表明當前過濾器沒有問題了,請執行過濾器鏈的下乙個節點.如果下乙個節點是資源則直接執行了資源

destory

(2)在web.xml中註冊一下過濾器

demo1filter -- 給過濾器起乙個名字

com.itheima.filter.demo1filter -- 過濾器的處理類

--可以配置當前過濾器的初始化資訊,可以配置多個,在filter中利用filterconfig物件來獲取

name1

value1

demo1filter

/servlet/*

/**.do

demo3servlet

--也可以配置多個servlet-name,其中填入servlet的名字明確的通知要攔截哪個名字的servlet

request

--配置攔截哪種方式的對資源的訪問可以是request/forward/include/error四個值之中的乙個,可以配置多個dispatcher,如果乙個都不配則預設是request

forward

Filter 過濾器(筆記)

web中的過濾器 當訪問伺服器的資源時,過濾器可以將請求攔截下來,完成一些特殊的操作。過濾器的作用 一般用於完成通用的操作。如 登入驗證 統一編碼處理 敏感字元的過濾 編寫過濾器的步驟 定義乙個類,實現介面filter 複寫方法 配置攔截路徑 配置攔截路徑的兩種方法 web.xml註解 基本 web...

Filter過濾器介紹

定義乙個類讓其實現filter介面 在dofilter 方法中加入相應的攔截 加入了相應的攔截 之後需要使用chain.dofilter req,resp 讓請求繼續走 在web.xml中進行配置 testfilterfilter name org.itat.filter.myfilterfilte...

過濾器 Filter 模式

過濾器模式也是一種結構型模式,它允許我們使用不同的規則過濾某一組物件。首先建立乙個實體類person,分別擁有年齡 性別 位址三個屬性,用於相親,嘿嘿。public class person public void setage int age public string get public vo...