Servlet组件之一——Filter过滤器
Filter
?Filter也稱(chēng)之為過(guò)濾器,它是Servlet技術(shù)中最實(shí)用的技術(shù),WEB開(kāi)發(fā)人員通過(guò)Filter技術(shù),對(duì)web服務(wù)器管理的所有web資源:例如JSP,Servlet,靜態(tài)圖片文件或靜態(tài)HTML文件進(jìn)行攔截,從而實(shí)現(xiàn)一些特殊功能。例如實(shí)現(xiàn)URL級(jí)別的權(quán)限控制、過(guò)濾敏感詞匯、壓縮響應(yīng)信息等一些高級(jí)功能。
ServletAPI中提供了一個(gè)Filter接口,開(kāi)發(fā)web應(yīng)用時(shí),如果編寫(xiě)的Java類(lèi)實(shí)現(xiàn)了這個(gè)接口,則把這個(gè)Java類(lèi)稱(chēng)之為過(guò)濾器Filter。通過(guò)Filter技術(shù),開(kāi)發(fā)人員可以實(shí)現(xiàn)用戶在訪問(wèn)某個(gè)目標(biāo)資源之前對(duì)訪問(wèn)的請(qǐng)求和響應(yīng)進(jìn)行攔截,如下所示:
Filter是如何實(shí)現(xiàn)攔截的?
Filter接口中有一個(gè)doFilter方法,當(dāng)開(kāi)發(fā)人員編寫(xiě)好Filter,并配置對(duì)哪個(gè)web資源(攔截url)進(jìn)行攔截后,web服務(wù)器每次在調(diào)用web資源之前,都會(huì)先調(diào)用一下filter的doFilter方法,因此,在該方法內(nèi)編寫(xiě)代碼可達(dá)到如下目的:
(1)調(diào)用目標(biāo)資源之前,讓一段代碼執(zhí)行。
(2) 是否調(diào)用目標(biāo)資源(即是否讓用戶訪問(wèn)web資源)。
??? web服務(wù)器在調(diào)用doFilter方法時(shí),會(huì)傳遞一個(gè)? filterChain對(duì)象進(jìn)來(lái),FilterChain對(duì)象是filter接口中最重要的一個(gè)對(duì)???? 象,它也提供了一個(gè)doFilter方法,開(kāi)發(fā)人員可以根據(jù)需求決定是否調(diào)用此方法,調(diào)用該方法,則web服務(wù)器就會(huì)?????? 調(diào)用web資源的service方法,即web資源就會(huì)被訪問(wèn),否則web資源不會(huì)被訪問(wèn)。
(3)調(diào)用目標(biāo)資源之后,讓一段代碼執(zhí)行。
?
servlet在線API
目前個(gè)人還屬于初級(jí)階段,還需要更深入的學(xué)習(xí)探究,下面給出servlet在線API,供大家一起學(xué)習(xí)探討:http://tomcat.apache.org/tomcat-5.5-doc/servletapi/index.html
?
參考博客:https://blog.csdn.net/u013087513/article/details/56835894
?
轉(zhuǎn)載于:https://www.cnblogs.com/TomFord/p/10587442.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專(zhuān)家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的Servlet组件之一——Filter过滤器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: File类 判断功能和获取功能
- 下一篇: 【译】最大限度地降低多线程 C# 代码的