filter指的是什么意思-創(chuàng)新互聯(lián)

這篇文章主要介紹了filter指的是什么意思,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)服務(wù)項目包括海鹽網(wǎng)站建設(shè)、海鹽網(wǎng)站制作、海鹽網(wǎng)頁制作以及海鹽網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,海鹽網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到海鹽省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

Filter,過濾器,顧名思義,即是對數(shù)據(jù)等的過濾,預(yù)處理過程。為什么要引入過濾器呢?在平常訪問網(wǎng)站的時候,有時候發(fā)一些敏感的信息,發(fā)出后顯示時 就會將敏感信息用*等字符替代,這就是用過濾器對信息進(jìn)行了處理。

推薦課程:Java教程。

這只是一個簡單的例子,當(dāng)然,過濾器那么強大,它的功能也不可能局限于此,它不僅能預(yù)處 理數(shù)據(jù),只要是發(fā)送過來的請求它都是可以預(yù)處理的,同時,它還可以對服務(wù)器返回的響應(yīng)進(jìn)行預(yù)處理,這樣,大大減輕了服務(wù)器的壓力。例如,實現(xiàn)URL級別的 權(quán)限訪問控制、過濾敏感詞匯、壓縮響應(yīng)信息等一些高級功能。下面來詳細(xì)介紹一下過濾器。

Filter 技術(shù)是servlet 2.3 新增加的功能。servlet2.3是sun公司于2000年10月發(fā)布的,它的開發(fā)者包括許多個人和公司團(tuán)體,充分體現(xiàn)了sun公司所倡導(dǎo)的代碼開放性原則。在眾多參與者的共同努力下,servlet2.3比以往功能都強大了許多,而且性能也有了大幅提高。

1.概念

過濾作用,對從客戶端向服務(wù)器端發(fā)送的請求進(jìn)行過濾,也可以對服務(wù)器端返回的響應(yīng)進(jìn)行處理。它使用戶可以改變一個request和修改一個 response.。Filter 不是一個servlet,它不能產(chǎn)生一個response,但是它能夠在一個request到達(dá)servlet之前預(yù)處理request,也可以在 response離開servlet時處理response。換句話說,filter其實是客戶端與servlet中間的一個傳遞者,并且它可以對要傳遞 的東西進(jìn)行修改。

注意:過濾器是用來攔截請求和響應(yīng)的,不能產(chǎn)生響應(yīng),而servlet是用來處理請求并產(chǎn)生響應(yīng)的。

2.適用場合

實現(xiàn)URL級別的權(quán)限訪問控制,過濾敏感詞匯,壓縮響應(yīng)信息等。

3.過濾器如何實現(xiàn)攔截

當(dāng)客戶端發(fā)生請求后,在HttpServletRequest 到達(dá)Servlet 之前,過濾器攔截客戶的HttpServletRequest 。 根據(jù)需要檢查HttpServletRequest ,也可以修改HttpServletRequest 頭和數(shù)據(jù)。 在過濾器中調(diào)用doFilter方法,對請求放行。請求到達(dá)Servlet后,對請求進(jìn)行處理并產(chǎn)生HttpServletResponse發(fā)送給客戶端。在HttpServletResponse 到達(dá)客戶端之前,過濾器攔截HttpServletResponse 。 根據(jù)需要檢查HttpServletResponse ,可以修改HttpServletResponse 頭和數(shù)據(jù)。最后,HttpServletResponse到達(dá)客戶端。

4.Filter接口

Servlet API提供了一個Filter接口,編寫的過濾器必須實現(xiàn)該接口。

5.Filter的生命周期

(1)Filter接口中有三個重要的方法。

init()方法:初始化參數(shù),在創(chuàng)建Filter時自動調(diào)用。當(dāng)我們需要設(shè)置初始化參數(shù)的時候,可以寫到該方法中。doFilter()方法:攔截到要執(zhí)行的請求時,doFilter就會執(zhí)行。這里面寫我們對請求和響應(yīng)的預(yù)處理。destroy()方法:在銷毀Filter時自動調(diào)用。

(2)Filter的生命周期

Filter的創(chuàng)建和銷毀由web服務(wù)器控制。

服務(wù)器啟動的時候,web服務(wù)器創(chuàng)建Filter的實例對象,并調(diào)用其init方法,完成對象的初始化功能。filter對象只會創(chuàng)建一次,init方法也只會執(zhí)行一次。攔截到請求時,執(zhí)行doFilter方法。可以執(zhí)行多次。服務(wù)器關(guān)閉時,web服務(wù)器銷毀Filter的實例對象。

6.Filter對象——FilterConfig

用 戶在配置filter時,可以使用<init-param>為filter配置一些初始化參數(shù),當(dāng)web容器實例化Filter對象,調(diào)用其 init方法時,會把封裝了filter初始化參數(shù)的filterConfig對象傳遞進(jìn)來。因此開發(fā)人員在編寫filter時,通過 filterConfig對象的方法,就可獲得:

String getFilterName():得到filter的名稱。String getInitParameter(String name): 返回在部署描述中指定名稱的初始化參數(shù)的值。如果不存在返回null.Enumeration getInitParameterNames():返回過濾器的所有初始化參數(shù)的名字的枚舉集合。public ServletContext getServletContext():返回Servlet上下文對象的引用。

7.過濾器鏈——FilterChain

一組過濾器對某些web資源進(jìn)行攔截,那么這組過濾器就稱為過濾器鏈。過濾器的執(zhí)行順序和<filter-mapping>有關(guān)(誰在前先執(zhí)誰)。

filter指的是什么意思

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享filter指的是什么意思內(nèi)容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來學(xué)習(xí)!

新聞名稱:filter指的是什么意思-創(chuàng)新互聯(lián)
分享鏈接:http://muchs.cn/article24/ceegce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、靜態(tài)網(wǎng)站、企業(yè)建站搜索引擎優(yōu)化、微信公眾號、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)