日韩精品在线字幕-最新日韩中文字幕在线-老熟女精品久久久-中文精品日韩精品-日韩精品v在线观看

歡迎光臨成都善榮機(jī)電設(shè)備有限公司!
服務(wù)熱線17302157802
News新聞動(dòng)態(tài)
首頁(yè) > 新聞動(dòng)態(tài) > 什么是ROSS過(guò)濾器! 它的功能和作用是什么啊?

什么是ROSS過(guò)濾器! 它的功能和作用是什么啊?

更新時(shí)間:2018-10-23瀏覽:1017次

    什么是ROSS過(guò)濾器! 它的功能和作用是什么啊?
    ROSS過(guò)濾器是小型的 Web 組件,它們攔截請(qǐng)求和響應(yīng),以便查看、提取或以某種方式操作正在客戶機(jī)和器之間交換的數(shù)據(jù)。過(guò)濾器是通常封裝了一些功能的 Web 組件,這些功能雖然很重要,但是對(duì)于處理客戶機(jī)請(qǐng)求或發(fā)送響應(yīng)來(lái)說(shuō)不是決定性的。典型的例子包括記錄關(guān)于請(qǐng)求和響應(yīng)的數(shù)據(jù)、處理安全協(xié)議、管理會(huì)話屬性, 等等。過(guò)濾器提供一種面向?qū)ο蟮哪K化機(jī)制,用以將公共任務(wù)封裝到可插入的組件中,這些組件通過(guò)一個(gè)配置文件來(lái)聲明,并動(dòng)態(tài)地處理。Servlet 過(guò)濾器中結(jié)合了許多元素,從而使得過(guò)濾器成為*、和模塊化的 Web 組件。也就是說(shuō),Servlet 過(guò)濾器是:聲明式的:過(guò)濾器通過(guò) Web 部署描述符(web.xml)中的 XML 標(biāo)簽來(lái)聲明。
    這樣允許添加和刪除ROSS過(guò)濾器,而無(wú)需改動(dòng)任何應(yīng)用程序代碼或 JSP 頁(yè)面。
    動(dòng)態(tài)的:ROSS過(guò)濾器運(yùn)行時(shí)由 Servlet 容器調(diào)用來(lái)攔截和處理請(qǐng)求和響應(yīng)。靈活的:過(guò)濾器在 Web 處理環(huán)境中的應(yīng)用很廣泛,涵蓋諸如日志記錄和安全等許多公共的輔助任務(wù)。
    ROSS過(guò)濾器還是靈活的,因?yàn)樗鼈兛捎糜趯?duì)來(lái)自客戶機(jī)的直接調(diào)用執(zhí)行預(yù)處理和后期處 理,以及處理在防火墻之后的 Web 組件之間調(diào)度的請(qǐng)求。后,可以將過(guò)濾器鏈接起來(lái)以提供必需的功能。模塊化的:通過(guò)把應(yīng)用程序處理邏輯封裝到單個(gè)類文件中,過(guò)濾器從而定義了可容易地從請(qǐng)求/響應(yīng)鏈中添加或刪除的模塊化單元??梢浦驳模号c Java 平臺(tái)的其他許多方面一樣,Servlet 過(guò)濾器是跨平臺(tái)和跨容器可移植的,從而進(jìn)一步支持了 Servler 過(guò)濾器的模塊化和可重用本質(zhì)。
    可重用的:歸功于過(guò)濾器實(shí)現(xiàn)類的模塊化設(shè)計(jì),以及聲明式的過(guò)濾器配置方式,過(guò)濾器可以容易地跨越不同的項(xiàng)目和應(yīng)用程序使用。透明的:在請(qǐng)求/響應(yīng)鏈中包括過(guò)濾器,這種設(shè)計(jì)是為了補(bǔ)充(而不是以任何方式替代)servlet 或 JSP 頁(yè)面提供的核心處理。因而,過(guò)濾器可以根據(jù)需要添加或刪除,而不會(huì)破壞頁(yè)面。
    所以 Servlet 過(guò)濾器是通過(guò)一個(gè)配置文件來(lái)靈活聲明的模塊化可重用組件。
    過(guò)濾器動(dòng)態(tài)地處理傳入的請(qǐng)求和傳出的響應(yīng),并且無(wú)需修改應(yīng)用程序代碼就可以透明地添加或刪除它 們。后,過(guò)濾器獨(dú)立于任何平臺(tái)或者 Servlet 容器,從而允許將它們?nèi)菀椎夭渴鸬饺魏蜗嗳莸?J2EE 環(huán)境中。在接下來(lái)的幾小節(jié)中,我們將進(jìn)一步考察 Servlet 過(guò)濾器機(jī)制的總體設(shè)計(jì),以及實(shí)現(xiàn)、配置和部署過(guò)濾器所涉及的步驟。
    我們還將探討ROSS過(guò)濾器的一些實(shí)際應(yīng)用,后簡(jiǎn)要考察一下模型-視圖-控制器(MVC)體系結(jié)構(gòu)中包含的 Servlet 過(guò)濾器,從而結(jié)束本文的討論。Servlet 過(guò)濾器體系結(jié)構(gòu)正如其名稱所暗示的,Servlet 過(guò)濾器 用于攔截傳入的請(qǐng)求和/或傳出的響應(yīng),并監(jiān)視、修改或以某種方式處理正在通過(guò)的數(shù)據(jù)流。
    ROSS過(guò)濾器是自包含、模塊化的組件,可以將它們添加到請(qǐng)求/響應(yīng)鏈中, 或者在無(wú)需影響應(yīng)用程序中其他 Web 組件的情況下刪除它們。
    ROSS過(guò)濾器僅只是改動(dòng)請(qǐng)求和響應(yīng)的運(yùn)行時(shí)處理,因而不應(yīng)該將它們直接嵌入 Web 應(yīng)用程序框架,除非是通過(guò) Servlet API 中良定義的標(biāo)準(zhǔn)接口來(lái)實(shí)現(xiàn)。Web 資源可以配置為沒(méi)有過(guò)濾器與之關(guān)聯(lián)(這是默認(rèn)情況)、與單個(gè)過(guò)濾器關(guān)聯(lián)(這是典型情況),甚至是與一個(gè)過(guò)濾器鏈相關(guān)聯(lián)。那么過(guò)濾器究竟做什么呢? 像 ROSS過(guò)濾器一樣,它接受請(qǐng)求并響應(yīng)對(duì)象。
    然后ROSS過(guò)濾器會(huì)檢查請(qǐng)求對(duì)象,并決定將該請(qǐng)求轉(zhuǎn)發(fā)給鏈中的下一個(gè)組件,或者中止該請(qǐng)求并直接向客戶機(jī)發(fā)回一個(gè)響應(yīng)。如果請(qǐng)求被 轉(zhuǎn)發(fā)了,它將被傳遞給鏈中的下一個(gè)資源(另一個(gè)過(guò)濾器、servlet 或 JSP 頁(yè)面)。在這個(gè)請(qǐng)求設(shè)法通過(guò)過(guò)濾器鏈并被器處理之后,一個(gè)響應(yīng)將以相反的順序通過(guò)該鏈發(fā)送回去。這樣就給每個(gè)過(guò)濾器都提供了根據(jù)需要處理響應(yīng)對(duì)象的機(jī) 會(huì)。
    當(dāng)過(guò)濾器在 Servlet 2.3 規(guī)范中引入時(shí),它們只能過(guò)濾 Web 客戶機(jī)和客戶機(jī)所訪問(wèn)的 Web 資源之間的內(nèi)容。如果該資源然后將請(qǐng)求調(diào)度給其他 Web 資源,那就不能向幕后委托的任何請(qǐng)求應(yīng)用過(guò)濾器。2.4 規(guī)范消除了這個(gè)限制。Servlet 過(guò)濾器現(xiàn)在可以應(yīng)用于 ROSS過(guò)濾器環(huán)境中存在請(qǐng)求和響應(yīng)對(duì)象的任何地方。因此,Servlet 過(guò)濾器可以應(yīng)用在客戶機(jī)和 servlet 之間、servlet 和 servlet 或 JSP 頁(yè)面之間,以及所包括的每個(gè) JSP 頁(yè)面之間。這才是我所稱的能力和靈活性!實(shí)現(xiàn)一個(gè) Servlet 過(guò)濾器他們說(shuō)“事多磨”。
    我不知道“他們”指的是誰(shuí),或者這句古老的諺語(yǔ)究竟有多,但是實(shí)現(xiàn)一個(gè) Servlet 過(guò)濾器的確要經(jīng)歷三個(gè)步驟。要編寫過(guò)濾器實(shí)現(xiàn)類的程序,然后要把該過(guò)濾器添加到 Web 應(yīng)用程序中(通過(guò)在 Web 部署描述符 /web.xml 中聲明它),后要把過(guò)濾器與應(yīng)用程序一起打包并部署它。
    我們將詳細(xì)研究這其中的每個(gè)步驟。1. 編寫實(shí)現(xiàn)類的程序過(guò)濾器 API 包含 3 個(gè)簡(jiǎn)單的接口(又是數(shù)字 3!),它們整潔地嵌套在 javax.servlet 包中。那 3 個(gè)接口分別是ROSS過(guò)濾器從編程的角度看,過(guò)濾器類將實(shí)現(xiàn) Filter 接口,然后使用這個(gè)ROSS過(guò)濾器接口。
    該ROSS過(guò)濾器類的一個(gè)引用將傳遞給 FilterChain 對(duì)象,以允許過(guò)濾器把控制權(quán)傳遞給鏈中的下一個(gè)資源。
    ROSS過(guò)濾器對(duì)象將由容器提供給過(guò)濾器,以允許訪問(wèn)該過(guò)濾器的初始化數(shù)據(jù)。為了與我們的三步模式保持一致,過(guò)濾器必須運(yùn)用三個(gè)方法,以便*實(shí)現(xiàn) Filter 接口:ROSS過(guò)濾器這個(gè)方法在容器實(shí)例化過(guò)濾器時(shí)被調(diào)用,它主要設(shè)計(jì)用于使過(guò)濾器為處理做準(zhǔn)備。該方法接受一個(gè) FilterConfig 類型的對(duì)象作為輸入。

 

17302157802
在線客服

川公網(wǎng)安備 51010702001158號(hào)