黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Filter是什么意思

Filter是什么意思

更新時(shí)間:2021-07-27 16:44:33 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1049次

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

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

filter是什么意思

1.概念

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

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

2.適用場(chǎng)合

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

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

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

4.Filter接口

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

5.Filter的生命周期

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

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

(2)Filter的生命周期

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

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

6.Filter對(duì)象——FilterConfig

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

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

7.過濾器鏈——FilterChain

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

以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"Filter是什么意思",希望對(duì)大家有幫助,想了解更多可查看Filter過濾器。動(dòng)力節(jié)點(diǎn)在線學(xué)習(xí)教程,針對(duì)沒有任何Java基礎(chǔ)的讀者學(xué)習(xí),讓你從入門到精通,主要介紹了一些Java基礎(chǔ)的核心知識(shí),讓同學(xué)們更好更方便的學(xué)習(xí)和了解Java編程,感興趣的同學(xué)可以關(guān)注一下。

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 欧美13一18成年性 | 热99re久久精品精品免费 | 日本a天堂 | 日日夜人人澡人人澡人人看免 | 一区视频在线播放 | 免费在线你懂的 | 欧美专区在线视频 | 欧美视频精品在线 | 欧美精品专区免费观看 | 天天做天天添婷婷我也去 | 精品国产一区二区三区国产馆 | 五月天中文在线 | 国产高清在线精品免费不卡 | h片免费看| 日韩在线视频在线观看 | 久久精品国产精品亚洲综合 | 婷婷成人丁香五月综合激情 | 日韩精品一区二区三区高清 | 天天色综合3| 99精品国产成人一区二区在线 | 一级片免费在线观看 | 人人揉人人添人人捏人人看 | 日韩日日操 | 日韩精品亚洲一级在线观看 | 天天干在线观看 | 国产成在线观看免费视频成本人 | 一本一道波多野结衣一区二区 | 午夜国产小视频 | 欧美色图一区 | 婷婷综合久久狠狠色99h | 在线免费国产视频 | 成人丁香| 亚洲一区中文字幕 | 一级毛片免费完整视频 | 亚洲一区二区三 | 综合久久网| 亚洲欧美激情综合首页 | 夜夜精品视频一区二区 | 国产欧美亚洲另类第一页 | 免费精品录播大片黄满18周岁 | 日本欧美人xxxxx在线观看 |