91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Java Web的Filter怎么使用

發布時間:2021-12-20 15:47:29 來源:億速云 閱讀:150 作者:iii 欄目:大數據

這篇文章主要介紹“Java Web的Filter怎么使用”,在日常操作中,相信很多人在Java Web的Filter怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java Web的Filter怎么使用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

##Servlet 過濾器概述

  1. Servlet過濾器本身并不生成請求和響應對象,它只提供過濾作用。

  1. Servlet過濾器能夠在Servlet被調用之前檢查Request對象,修改RequestHeader和Request內容;

  1. 在、servlet被調用之后檢查Response對象,修改Response Header和Response內容。Servlet過濾器負責過濾的web組件可以是Servelt、jsp、或html文件。

Filter API

方法說明
public void init(FilterConfig filterConfig)web 應用程序啟動時,web 服務器將創建Filter 的實例對象,并調用其init方法,讀取web.xml配置,完成對象的初始化功能,從而為后續的用戶請求作好攔截的準備工作(filter對象只會創建一次,init方法也只會執行一次)。開發人員通過init方法的參數,可獲得代表當前filter配置信息的FilterConfig對象。
public void doFilter (ServletRequest, ServletResponse, FilterChain)用于完成實際的過濾操作,當客戶請求訪問與過濾器相關聯的URL時,Servlet容器將先調用過濾器的這個方法,FilterChain參數用于訪問后續過濾器
void  destroy()過濾器在被取消前執行這個方法,釋放過濾器申請的資源
public class LoginFilter implements Filter {    public void init(FilterConfig config) throws ServletException {        String site = config.getInitParameter("Site");        System.out.println(site);    }    public void destroy() {    }    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {        System.out.println(req.getServerName()+req.getServerPort());        chain.doFilter(req,resp);    }}

web.xml

<filter>        <filter-name>LoginFilter</filter-name>        <filter-class>cn.java.servlet.LoginFilter</filter-class>        <init-param>            <param-name>Site</param-name>            <param-value>www.google.com</param-value>        </init-param>    </filter>    <filter-mapping>        <filter-name>LoginFilter</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping>

web.xml配置各節點說明
指定一個過濾器。
用于為過濾器指定一個名字,該元素的內容不能為空。
元素用于指定過濾器的完整的限定類名。
元素用于為過濾器指定初始化參數,它的子元素指定參數的名字,指定參數的值。
在過濾器中,可以使用FilterConfig接口對象來訪問初始化參數。
元素用于設置一個 Filter 所負責攔截的資源。一個Filter攔截的資源可通過兩種方式來指定:Servlet 名稱和資源訪問的請求路徑
子元素用于設置filter的注冊名稱。該值必須是在元素中聲明過的過濾器的名字
設置 filter 所攔截的請求路徑(過濾器關聯的URL樣式)
指定過濾器所攔截的Servlet名稱。
指定過濾器所攔截的資源被 Servlet 容器調用的方式,可以是REQUEST,INCLUDE,FORWARD和ERROR之一,默認REQUEST。用戶可以設置多個子元素用來指定 Filter 對資源的多種調用方式進行攔截。
子元素可以設置的值及其意義
REQUEST:當用戶直接訪問頁面時,Web容器將會調用過濾器。如果目標資源是通過RequestDispatcher的include()或forward()方法訪問時,那么該過濾器就不會被調用。
INCLUDE:如果目標資源是通過RequestDispatcher的include()方法訪問時,那么該過濾器將被調用。除此之外,該過濾器不會被調用。
FORWARD:如果目標資源是通過RequestDispatcher的forward()方法訪問時,那么該過濾器將被調用,除此之外,該過濾器不會被調用。
ERROR:如果目標資源是通過聲明式異常處理機制調用時,那么該過濾器將被調用。除此之外,過濾器不會被調用。

到此,關于“Java Web的Filter怎么使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

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

AI

彭阳县| 田阳县| 巴林右旗| 荥经县| 德庆县| 辽中县| 侯马市| 健康| 宿州市| 房产| 祁东县| 保定市| 封丘县| 固原市| 岳西县| 新龙县| 区。| 晋中市| 金寨县| 高州市| 裕民县| 兴山县| 烟台市| 云和县| 郑州市| 仙居县| 英超| 科技| 宁明县| 桐庐县| 陈巴尔虎旗| 万宁市| 泗洪县| 铜川市| 栖霞市| 保德县| 九龙县| 泰来县| 凤翔县| 澳门| 饶阳县|