溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解Servlet之過濾器(Filter)

發(fā)布時間:2020-09-30 02:36:20 來源:腳本之家 閱讀:119 作者:左岸-- 欄目:編程語言

過濾器

1.為什么使用它?

有很多全站性的東西需要處理,例如亂碼問題,通過過濾器統(tǒng)一進行過濾更簡單

2.有什么用?

實現(xiàn)用戶在訪問某個目標資源之前,對訪問的請求和響應進行攔截。簡單說,就是可以實現(xiàn)web容器對某資源的訪問前截獲進行相關的處理,還可以在某資源向web容器返回響應前進行截獲進行處理。

3.怎么用?

步驟1:先寫一個類實現(xiàn)javax.servlet.Filter接口

步驟2:重寫抽象方法

步驟3:在doFilter()方法中寫處理代碼,最后用FilterChain調(diào)用FilterChain.doFilter(req, resp)方法,表示可以執(zhí)行后面的攔截器(如果有的話)

步驟3:進行配置,web.xml配置如下

 <!-- 優(yōu)先配置過濾器 ,過濾器應該在Servlet前面配置,并且過濾器之間有順序 -->
 <filter>
 <filter-name>firstfilter</filter-name>
 <filter-class>cn.hk.filter.FirstFilter</filter-class>
 </filter>
 <filter-mapping>
 <filter-name>firstfilter</filter-name>
 <!-- 攔截訪問資源
   *表示攔截所以資源
  -->
 <url-pattern>/*</url-pattern>
 </filter-mapping>

4運用的場景?

  1)實現(xiàn)URL級別的權(quán)限訪問控制;

  2)處理全站中文亂碼問題;

  3)實現(xiàn)自動登錄;

  4)過濾敏感詞匯;

  5) 壓縮網(wǎng)頁;

  6)選擇性讓瀏覽器緩存;等等。

這幾種功能的實現(xiàn)采用同樣的原理,那就是使用包裝模式或動態(tài)代理增強request或response對象的功能。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI