小編給大家分享一下如何實(shí)現(xiàn)web過濾器,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)專注于永興網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供永興營(yíng)銷型網(wǎng)站建設(shè),永興網(wǎng)站制作、永興網(wǎng)頁設(shè)計(jì)、永興網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)服務(wù),打造永興網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供永興網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
過濾器
概述
從技術(shù)上講,過濾器是一個(gè)中間組件,用于攔截源數(shù)據(jù)和目的數(shù)據(jù)之間的消息,并且過濾二者之間傳遞的數(shù)據(jù)。其作用類似于警衛(wèi),阻止不想的信息從一個(gè)點(diǎn)傳遞到另一個(gè)點(diǎn)
對(duì)于Web應(yīng)用程序,過濾器是駐留在Web服務(wù)器上的Web組件,它可以過濾從客戶端傳遞到服務(wù)器的請(qǐng)求和響應(yīng),當(dāng)Web容器接收到一個(gè)對(duì)資源的請(qǐng)求,它將判斷是否有過濾器與這個(gè)資源相關(guān)聯(lián)。如果有,就交給過濾器,過濾器可以更改請(qǐng)求的內(nèi)容,或者重設(shè)置請(qǐng)求頭,然后再將請(qǐng)求傳遞給目標(biāo)資源。同樣它也可以對(duì)服務(wù)器發(fā)出的響應(yīng)進(jìn)行修改。
從上面的過程可以看出客戶端和目標(biāo)資源來說都是透明的,他們不需要知道過濾器的存在
在這個(gè)過程當(dāng)中還可以設(shè)置多個(gè)過濾器,形成一條鏈,來進(jìn)行相應(yīng)的處理
應(yīng)用:
1.認(rèn)證過濾:對(duì)用戶請(qǐng)求進(jìn)行統(tǒng)一的認(rèn)證
2.登錄和審核過濾:對(duì)用戶的訪問請(qǐng)求進(jìn)行記錄和審核。
3.圖像轉(zhuǎn)換過濾:轉(zhuǎn)換圖像格式
4.數(shù)據(jù)壓縮過濾:對(duì)用戶發(fā)生的數(shù)據(jù)進(jìn)行壓縮,從而減少傳輸量
5.加密過濾:對(duì)請(qǐng)求和響應(yīng)進(jìn)行加密解密處理
6.令牌過濾
7.資源訪問觸發(fā)事件過濾
8.XSLT過濾
9.MIME-type過濾
代碼:
過濾器必須實(shí)現(xiàn)Filter這個(gè)接口
有三個(gè)方法需要實(shí)現(xiàn)
1.init()-初始化
2.doFilter()-過濾
3.destroy()-銷毀
注意:javax.servlet包中包括
ServletRequest、ServletResponse、ServletExcption、FilterConfig、Filter、FilterChain
javax.io包中包括:
PrinterWriter、IOExcption
Filter的布署
它的布署跟servlet的 布署差不多eg:
過濾器API:
容器實(shí)現(xiàn)的三個(gè)接口:
1.javax.servlet.Filter
2.javax.serlvet.Filter.Chain
3.javax.servlet.FilterConfig-跟servlet中的servletConfig一樣,主要是提供過濾器初始化參數(shù)
容器實(shí)現(xiàn)的四個(gè)包裝類:
1.javax.servlet.ServletRequestWrapper
2.javax.servlet.Servletresponsewrapper
3.javax.servlet.HttpServletRequestWrapper
4.javax.servlet.HttpServletResponseWrapper
web過濾器可以防止WVS掃描和注入、跨站等***。
以上是“如何實(shí)現(xiàn)web過濾器”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!