jsp過濾器的三個方法

 
1. Servlet過濾器基礎 
Servlet過濾器是Servlet的一種特殊用法,主要用來完成一些通用的操作。比如編碼的過濾,判斷用戶的登陸狀態等等。Servlet過濾器的適用場合: 
A.認證過濾 
B.登錄和審覈過濾 
C.圖像轉換過濾 
D.數據壓縮過濾 
E.加密過濾 
F.令牌過濾 
G.資源訪問觸發事件過濾 
Servlet過濾器接口的構成: 
所有的Servlet過濾器類都必須實現javax.servlet.Filter接口。這個接口含有3個過濾器類必須實現的方法: 
方法 說明 
init(FilterConfig cfg) 這是Servlet過濾器的初始化方法,性質等同與servlet的init方法。 
doFilter(ServletRequest,ServletResponse,FilterChain) 完成實際的過濾操作,當請求訪問過濾器關聯的URL時,Servlet容器將先調用過濾器的doFilter方法。FilterChain參數用於訪問後續過濾器 
destroy() Servlet容器在銷燬過濾器實例前調用該方法,這個方法中可以釋放Servlet過濾器佔用的資源。,性質等同與servlet的destory()方法。 
Servlet過濾器的創建步驟: 
A.實現javax.servlet.Filter接口的servlet類 
B.實現init方法,讀取過濾器的初始化函數 
C.實現doFilter方法,完成對請求或過濾的響應 
D.調用FilterChain接口對象的doFilter方法,向後續的過濾器傳遞請求或響應 
F.在web.xml中配置Filter 
2.使用過濾器處理中文問題 
   當用用戶登陸頁面輸入帳號時,如果輸入是中文,後臺servlet再次輸出這個內容時,可能就會是亂碼,這是因爲serlvet中默認是以ISO-8859-1格式編碼的,如果後臺有多個Servlet,多個參數,這樣就不合適,這個問題,我們可以通過一個過濾器統一解決,使後臺的輸出輸出都支持中文!將ISO-8859-1轉碼爲GBK的那段代碼! 
3.使用過濾器認證用戶: 
每個過濾器也可以配置初始化參數,可以將不需要過濾的地址配置到這個Filter的配置參數中,過濾時,如果請求地址在配置參數中,則放行,這樣就避免了在程序中硬編碼。每個Filter中初始化時,都可以得到配置對象,在Filter中配置二個不需要過濾的地址,一個是登陸頁面,一個是執行登陸認證的servlet; 
====華麗的分割線====
上面是理論知識
下面是實踐寫法
Filter中的三個方法其實只寫doFilter方法,另外兩個直接由父類實現即可。
下面給出doFilter方法覆蓋例子:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
 
 //執行servlet處理請求響應前需要做的代碼
 chain.doFilter(request, response);
 //執行servlet處理請求響應後要做的代碼
 
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章