成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Servlet過濾器概念特點(diǎn)等詳談

開發(fā) 后端
Servlet過濾器的概念、特點(diǎn)、作用以及Servlet過濾器的應(yīng)用范圍、創(chuàng)建使用,本文都將給你做一一介紹。

一、Servlet過濾器的概念:

◆Servlet過濾器是在Java Servlet規(guī)范2.3中定義的,它能夠?qū)ervlet容器的請(qǐng)求和響應(yīng)對(duì)象進(jìn)行檢查和修改。   

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

Servlet過期負(fù)責(zé)過濾的Web組件可以是Servlet、JSP或者HTML文件。 

二、Servlet過濾器的特點(diǎn):

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

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

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

三、Servlet過濾器的作用:

◆查詢請(qǐng)求并作出相應(yīng)的行動(dòng)。

◆阻塞請(qǐng)求-響應(yīng)對(duì),使其不能進(jìn)一步傳遞。

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

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

◆與外部資源進(jìn)行交互。

四、Servlet過濾器的適用場(chǎng)合:

◆認(rèn)證過濾

◆登錄和審核過濾

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

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

◆加密過濾

◆令牌過濾

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

◆XSL/T過濾

◆Mime-type過濾

五、Servlet過濾器接口的構(gòu)成:

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

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

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

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

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

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

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

◆實(shí)現(xiàn)doFilter方法,完成對(duì)請(qǐng)求或過濾的響應(yīng)

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

◆銷毀過濾器

七、Servlet過濾器對(duì)請(qǐng)求的過濾:

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

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

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

◆如果該請(qǐng)求不合法則阻塞該請(qǐng)求

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

八、Servlet過濾器對(duì)響應(yīng)的過濾:

◆過濾器截獲客戶端的請(qǐng)求

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

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

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

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

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

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

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

◆發(fā)布Servlet過濾器時(shí),必須在web.xml文件中加入﹤filter﹥?cè)睾桐俧ilter-mapping﹥?cè)亍?/P>

◆filter元素用來定義一個(gè)過濾器:

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

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

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

十一、Servlet過濾器使用的注意事項(xiàng)

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

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

◆如果要在Servlet中觀察過濾器生成的日志,應(yīng)該確保在server.xml的localhost對(duì)應(yīng)的﹤host﹥?cè)刂信渲萌缦漏俵ogger﹥?cè)兀?/P>

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

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

【編輯推薦】

  1. 什么是Servlet以及常用Servlet API有哪些
  2. JSP Servlet開發(fā)最初那點(diǎn)事
  3. Java Servlet API文檔實(shí)用說明
  4. 整合Apache中JSP和PHP
  5. JSP和Servlet中的幾個(gè)編碼的作用及原理
責(zé)任編輯:仲衡 來源: JSP中文網(wǎng)
相關(guān)推薦

2021-07-05 15:22:03

Servlet過濾器客戶端

2009-07-03 18:26:11

Servlet過濾器

2009-07-08 15:30:56

Servlet過濾器

2009-07-08 16:07:04

Servlet過濾器配

2009-07-08 17:33:37

Servlet過濾器

2011-07-14 13:20:49

Servlet過濾器

2009-07-08 16:10:36

Servlet和JSPJSP頁面

2024-01-05 09:04:35

隆過濾器數(shù)據(jù)結(jié)構(gòu)哈希函數(shù)

2009-07-14 09:09:08

Swing模型過濾器

2009-09-29 13:55:23

Hibernate設(shè)置

2011-06-29 16:14:59

Qt 事件 過濾器

2024-11-04 08:45:48

布隆過濾器元數(shù)據(jù)指紋值

2009-07-08 10:02:41

Servlet 3.0

2017-07-18 14:10:31

大數(shù)據(jù)Apache Flum過濾器

2009-09-25 15:19:44

Hibernate過濾

2009-06-18 10:13:00

Hibernate過濾

2025-04-21 00:50:50

2016-12-07 09:56:13

JavaFilter過濾器

2023-01-26 01:41:27

核心全局過濾器

2024-03-15 11:21:22

布隆過濾器數(shù)據(jù)庫數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 成人免费视频一区二区 | 精品一区二区电影 | 高清国产午夜精品久久久久久 | 国产精品一区二区三级 | 成人性生交大片免费看中文带字幕 | 国产高清精品在线 | 黄色一级大片视频 | 国产91综合 | 欧美另类视频 | 日日干干 | 日韩和的一区二区 | 美女黄网站视频免费 | 亚洲精品福利视频 | 视频一区二区在线观看 | 日本不卡高清视频 | 国产在线观看网站 | 午夜在线免费观看视频 | 国产一区二区三区四区区 | 午夜在线影院 | 视频一区二区三区四区五区 | a级在线| 亚州精品天堂中文字幕 | 99re国产视频| 国产一区二区高清在线 | 日本午夜视频 | 久久视频免费看 | 亚洲日韩中文字幕一区 | av一区二区三区四区 | 日本欧美在线视频 | 一区二区三区免费看 | 永久免费在线观看 | 亚洲精品电影在线观看 | 嫩草最新网址 | 亚洲 成人 在线 | 精品二 | 精品久久久久一区二区国产 | 自拍偷拍中文字幕 | 色一级| 成人二区| 国产精品69av| 国产一区二区三区久久久久久久久 |