国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

過濾器

2019-11-08 01:53:05
字體:
來源:轉載
供稿:網友

         過濾器是Servlet 2.3中定義的,可以對Servlet容器傳給web組件的ServletRequest和ServletResponse對象進行檢查和修改。過濾器本身不會產生ServletRequset和ServletResponse對象??梢詾閣eb組件提供一下功能:

         1.在調用web組件之前檢查ServletRequest對象,修改請求頭和修改正文內容,或者對請求進行預處理操作。

         2.在web組件被調用之后檢查ServletResponse對象。修改響應頭和響應正文。

過濾器的特點:

         1.可以檢查ServletRequest和ServletResponse對象,并利用ServletRequestWrapper和ServletResponseWrapper包裝類來修改這兩個對象。

         2.可以在web文件中為過濾器映射特定的url。請求這些url時,servlet會先觸發過濾器工作。

         3.servlet2.3以上的版本都支持過濾器。

         4.多個過濾器可以串聯在一起,協同過濾請求對象和響應對象。

創建過濾器

        所有的過濾器類都要實現javax.servlet.Filter接口。有三個必須實現的方法。

        1.init(FilterConfig config)servlet容器創建FilterConfig對象,讓后創建Filter對象,調用init(FilterConfig)方法.config可以讀取web.xml中為配置的初始化參數。

        2.doFilter(ServletRequest request,ServletResponse response,FilterChain chain)請求url和配置url相同時調用這個方法。用于訪問后續過濾器或者web組件。

        3.destroy()銷毀對象調用。

過濾器的生命周期

       1.初始化,web應用啟動,servlet容器加載過濾器類,創建過濾器配置對象和過濾器對象。調用init方法。

        2.運行時,只有過濾器映射url和請求url匹配時,調用doFilter方法。

       3.銷毀階段,web應用終止時。servlet容器調用destroy方法,銷毀對象。

發布過濾器

       要在web.xml中加入Filter。

         <filter>		<description></description>		<filter-name>名字</filter-name>		<filter-class>過濾器的class路徑</filter-class>		<init-param>//參數可以有多個,可以用FilterConfig.getInitParameter(String name)來得到			<description></description>			<param-name></param-name>			<param-value></param-value>		</init-param>		<init-param>			<param-name></param-name>			<param-value></param-value>		</init-param>	</filter>	<filter-mapping>		<filter-name>跟上面的名字對應</filter-name>		<url-pattern>/*</url-pattern>/*為過濾所有	</filter-mapping>

串聯過濾器

       web.xml中一個請求url與多個過濾器匹配就可以串聯。按順序調用,先調用第一個過濾器的doFilter方法,然后執行chain.doFilter之前的方法,然后執行chain.doFilter,跳到第二個過濾器,在執行chain.filter之前的方法.同理一直到最后一個過濾器的chain.doFilter,調用servlet方法。結束后返回前一個過濾器,執行chain.doFilter之后的方法。

        使用自定義的wrapper繼承ServletRequestWrapper,修改里面的方法,把自定義的Wrapper傳給chain.doFilter()中的request就可以修改request對象,同理也可以修改response響應內容。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 云阳县| 大姚县| 郧西县| 聊城市| 敖汉旗| 莆田市| 明光市| 洪湖市| 曲周县| 乐亭县| 富顺县| 如东县| 新营市| 阳东县| 怀柔区| 汝州市| 曲松县| 神池县| 巢湖市| 得荣县| 赤峰市| 绍兴市| 驻马店市| 类乌齐县| 理塘县| 濉溪县| 浮山县| 阳朔县| 仁寿县| 巢湖市| 兴仁县| 衢州市| 金堂县| 海兴县| 全椒县| 宁化县| 博野县| 衡水市| 白玉县| 亳州市| 托里县|