日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Servlet過濾器概念特點等詳談

一、Servlet過濾器的概念:

成都創(chuàng)新互聯(lián)2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目成都做網(wǎng)站、成都網(wǎng)站設計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元龍泉驛做網(wǎng)站,已為上家服務,為龍泉驛各地企業(yè)和個人服務,聯(lián)系電話:028-86922220

◆Servlet過濾器是在Java Servlet規(guī)范2.3中定義的,它能夠?qū)ervlet容器的請求和響應對象進行檢查和修改?!  ?/p>

◆Servlet過濾器本身并不產(chǎn)生請求和響應對象,它只能提供過濾作用。Servlet過期能夠在Servlet被調(diào)用之前檢查Request對象,修改Request Header和Request內(nèi)容;在Servlet被調(diào)用之后檢查Response對象,修改Response Header和Response內(nèi)容。

Servlet過期負責過濾的Web組件可以是Servlet、JSP或者HTML文件?!?/p>

二、Servlet過濾器的特點:

◆Servlet過濾器可以檢查和修改ServletRequest和ServletResponse對象

◆Servlet過濾器可以被指定和特定的URL關聯(lián),只有當客戶請求訪問該URL時,才會觸發(fā)過濾器

◆Servlet過濾器可以被串聯(lián)在一起,形成管道效應,協(xié)同修改請求和響應對象

三、Servlet過濾器的作用:

◆查詢請求并作出相應的行動。

◆阻塞請求-響應對,使其不能進一步傳遞。

◆修改請求的頭部和數(shù)據(jù)。用戶可以提供自定義的請求。

◆修改響應的頭部和數(shù)據(jù)。用戶可以通過提供定制的響應版本實現(xiàn)。

◆與外部資源進行交互。

四、Servlet過濾器的適用場合:

◆認證過濾

◆登錄和審核過濾

◆圖像轉(zhuǎn)換過濾

◆數(shù)據(jù)壓縮過濾

◆加密過濾

◆令牌過濾

◆資源訪問觸發(fā)事件過濾

◆XSL/T過濾

◆Mime-type過濾

五、Servlet過濾器接口的構成:

所有的Servlet過濾器類都必須實現(xiàn)javax.servlet.Filter接口。這個接口含有3個過濾器類必須實現(xiàn)的方法:

◆init(FilterConfig):
這是Servlet過濾器的初始化方法,Servlet容器創(chuàng)建Servlet過濾器實例后將調(diào)用這個方法。在這個方法中可以讀取web.xml文件中Servlet過濾器的初始化參數(shù)

◆doFilter(ServletRequest,ServletResponse,FilterChain):
這個方法完成實際的過濾操作,當客戶請求訪問于過濾器關聯(lián)的URL時,Servlet容器將先調(diào)用過濾器的doFilter方法。FilterChain參數(shù)用于訪問后續(xù)過濾器

◆destroy():
Servlet容器在銷毀過濾器實例前調(diào)用該方法,這個方法中可以釋放Servlet過濾器占用的資源

六、Servlet過濾器的創(chuàng)建步驟:

◆實現(xiàn)javax.servlet.Filter接口

◆實現(xiàn)init方法,讀取過濾器的初始化函數(shù)

◆實現(xiàn)doFilter方法,完成對請求或過濾的響應

◆調(diào)用FilterChain接口對象的doFilter方法,向后續(xù)的過濾器傳遞請求或響應

◆銷毀過濾器

七、Servlet過濾器對請求的過濾:

◆Servlet容器創(chuàng)建一個過濾器實例

◆過濾器實例調(diào)用init方法,讀取過濾器的初始化參數(shù)

◆過濾器實例調(diào)用doFilter方法,根據(jù)初始化參數(shù)的值判斷該請求是否合法

◆如果該請求不合法則阻塞該請求

◆如果該請求合法則調(diào)用chain.doFilter方法將該請求向后續(xù)傳遞

八、Servlet過濾器對響應的過濾:

◆過濾器截獲客戶端的請求

◆重新封裝ServletResponse,在封裝后的ServletResponse中提供用戶自定義的輸出流

◆將請求向后續(xù)傳遞

◆Web組件產(chǎn)生響應

◆從封裝后的ServletResponse中獲取用戶自定義的輸出流

◆將響應內(nèi)容通過用戶自定義的輸出流寫入到緩沖流中

◆在緩沖流中修改響應的內(nèi)容后清空緩沖流,輸出響應內(nèi)容

九、Servlet過濾器的發(fā)布:

◆發(fā)布Servlet過濾器時,必須在web.xml文件中加入﹤filter﹥元素和﹤filter-mapping﹥元素。

◆filter元素用來定義一個過濾器:

 
 
 
  1. //屬性                   含義  
  2. filter-name    指定過濾器的名字  
  3. filter-class    指定過濾器的類名  
  4. init-param    為過濾器實例提供初始化參數(shù),可以有多個 

◆filter-mapping元素用于將過濾器和URL關聯(lián):

 
 
 
  1. //屬性                     含義  
  2. filter-name    指定過濾器的名字  
  3. url-pattern    指定和過濾器關聯(lián)的URL,為”/*”表示所有URL 

十一、Servlet過濾器使用的注意事項

◆由于Filter、FilterConfig、FilterChain都是位于javax.servlet包下,并非HTTP包所特有的,所以其中所用到的請求、響應對象ServletRequest、ServletResponse在使用前都必須先轉(zhuǎn)換成HttpServletRequest、HttpServletResponse再進行下一步操作。

◆在web.xml中配置Servlet和Servlet過濾器,應該先聲明過濾器元素,再聲明Servlet元素

◆如果要在Servlet中觀察過濾器生成的日志,應該確保在server.xml的localhost對應的﹤host﹥元素中配置如下﹤logger﹥元素:

 
 
 
  1. ﹤Logger className = “org.apache.catalina.logger.FileLogger”  
  2. directory = “l(fā)ogs”prefix = “l(fā)ocalhost_log.”suffix=”.txt”  
  3. timestamp = “true”/﹥ 

Servlet過濾器的情況就向你介紹到這里,那么你對Servlet過濾器是否有了了解呢?

【編輯推薦】

  1. 什么是Servlet以及常用Servlet API有哪些
  2. JSP Servlet開發(fā)最初那點事
  3. Java Servlet API文檔實用說明
  4. 整合Apache中JSP和PHP
  5. JSP和Servlet中的幾個編碼的作用及原理

本文標題:Servlet過濾器概念特點等詳談
標題來源:http://m.5511xx.com/article/codidie.html