Java Web高階特性之(一)過濾器

2021-07-02 00:46:37 字數 1855 閱讀 6689

過濾器是乙個伺服器端的元件,它可以擷取使用者端的請求與響應資訊,並對這些資訊過濾。

request——使用者直接訪問頁面時,web容器將會呼叫過濾器

error——目標資源是通過宣告式異常處理機制呼叫時,過濾器將被呼叫

forward——目標資源是通過requestdispatcher的forward方法呼叫時,過濾器將被呼叫

include——目標資源是通過requestdispatcher的include方法呼叫時,過濾器將被呼叫

async——目標資源是非同步處理時,過濾器將被呼叫

以修改請求引數為例,講解***的用法:

/**

* 過濾器類

* 過濾請求引數content的前後空格

* @author yonggang

* @date 2015-4-24 上午12:12:58

*/@component

public class paramfilter implements filter

@override

public void dofilter( servletrequest request, servletresponse response, filterchain chain ) throws ioexception, servletexception );

} }@override

public void destroy()

}

/**

* 請求包裝類

* 用於替換原有request的params

* * @author yonggang

* @date 2015-4-7 下午8:56:44

*/ private mapparams;

super( request );

this.params = newparams;

} @override

public string getparameter( string name ) else if( v instanceof string ) else

} else if( v instanceof string ) else

return result;

} @override

public mapgetparametermap()

@override

public enumerationgetparameternames()

@override

public string getparametervalues( string name ) else if( v instanceof string ) else if( v instanceof string ) ;

} else ;

} return result;

}}

web.xml增加配置:

paramfilter 

org.springframework.web.filter.delegatingfilterproxy

/*

Hadoop 之 實驗一(過濾 合併檔案)

從該目錄中過濾出所有字尾名不為 abc 的檔案 對過濾之後的檔案進行讀取 將這些檔案的內容合併到檔案 hdfs localhost 9000 user hadoop merge.txt 重要 配置1 配置2 因為凡凡使用virtualbox虛擬機器,本地想訪問虛擬機器中ubuntu。1 配置 2 在...

管道一過濾器架構個人經驗

在管道 過濾器架構模式中,每個構件都有一組輸入,輸出,構件讀取輸入的資料流,經過內部處理後,產生輸出資料流,該過程主要完成輸入流的變換及增量計算。這裡的構件就是過濾器,而連線過濾器的就是管道,這個管道將上乙個過濾器處理的結果資料流傳送到下乙個過濾器,在進行其他的計算。簡單來說,管道 過濾器模式結構就...

mac os高階之一

需求 1.macbook 現在rmb兌換港幣來算買港貨筆記本已經很便宜了 macbook 6800rmb左右 macbook pro大概7450rmb左右 air book初級版本7000rmb 如果打算在開發上有所為,無論你是像跟我一樣基於macos的開發,還是iphone,ipad的ios5開發...