Filter過濾器介紹

2021-08-08 20:06:20 字數 1795 閱讀 1632

定義乙個類讓其實現filter介面

在dofilter()方法中加入相應的攔截**,加入了相應的攔截**之後需要使用chain.dofilter(req,resp)讓請求繼續走

在web.xml中進行配置

testfilterfilter-name>

org.itat.filter.myfilterfilter-class>

filter>

testfilterfilter-name>

/*

url-pattern表示要攔截哪些請求:/

·/* :表示攔截所有請求

·/01/1.jsp : 表示僅僅只對01/1.jsp檔案進行攔截

·/01/* : 表示攔截01/這個資料夾中的所有資訊

特別注意:/01/*.jsp這種方式是不允許的,只允許以上三種方式

定義乙個characterencodingfilter,在dofilter中使用request.setcharacterencoding(***);來解決

注意:當有多個filter被定義的時候會每乙個filter都執行,執行順序按照web.xml中配置先後執行

為了讓一些常量在配置檔案中定義,可以使用

characterfilterfilter-name>

org.itat.filter.characterencodingfilterfilter-class>

param>

charparam-name>

utf-8

param-value>

param>

filter>

init-param就是用來定義相應的初始化引數,需要在filter的init中通過config來獲取

@override

public

void

init(filterconfig config) throws servletexception

}

charencoding需要在dofilter中使用,所以將charencoding定義成成員變數。

request.setcharacterencoding(charencoding);

chain.dofilter(request,response);

使用過濾器根據正規表示式過濾訪問位址

1、在初始化引數中傳遞乙個正規表示式

param>

patternparam-name>

.*\.jsp|.*servletparam-value>

param>

.*.jsp|.*servlet表示匹配.jsp結尾和servlet結尾的所有字串

2、獲取瀏覽器的訪問位址

string url = req.getrequesturi();//獲取瀏覽器的訪問位址

//引數中是servletrequest,servletrequest中沒有getrequesturi方法,getrequeturl方法是在httpservletrequest中,所以需要進行強制型別轉換(httpservletrequest req = (httpservletrequest)request;)。3、判斷是否匹配

if(url.matches(pattern))

過濾器 Filter 模式

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

Filter 過濾器(筆記)

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

過濾器(filter)實現

花了2天時間,實現了過濾器功能,針對資料進行篩選,包含以下7個過濾器 date currency number tolowercase touppercase orderby filter 其中前5個針對資料格式轉換,orderby 和 filter 針對陣列過濾。orderby 支援多個屬性 a ...