中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Java中的過濾器Filter和監聽器Listener怎么使用

發布時間:2022-06-29 09:54:11 來源:億速云 閱讀:162 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“Java中的過濾器Filter和監聽器Listener怎么使用”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Java中的過濾器Filter和監聽器Listener怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

    Filter:過濾器

    概念

    生活中的過濾器:凈水器,空氣凈化器,土匪、 web中的過濾器:當訪問服務器的資源時,過濾器可以將請求攔截下來,完成一些特殊的功能。 過濾器的作用:

    一般用于完成通用的操作。如:登錄驗證、統一編碼處理、敏感字符過濾...

    快速入門

    步驟

    1.定義一個類,實現接口Filter

    2.復寫方法

    3.配置攔截路徑

    • web.xml

    • 注解

    代碼

    @WebFilter("/*")//訪問所有資源之前,都會執行該過濾器
    public class FilterDemo1 implements Filter {
    	@Override
    	public void init(FilterConfig filterConfig) throws ServletException {
    
    	}
    
    	@Override
    	public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    		System.out.println("filterDemo1被執行了....");
    
    
    		//放行
    		filterChain.doFilter(servletRequest,servletResponse);
    
    	}
    
    	@Override
    	public void destroy() {
    
    	}
    }

    過濾器細節

    web.xml配置

    <filter>
    	<filter-name>demo1</filter-name>
    	<filter-class>cn.zjq.web.filter.FilterDemo1</filter-class>
    </filter>
    <filter-mapping>
    	<filter-name>demo1</filter-name>
    	<!-- 攔截路徑 -->
    	<url-pattern>/*</url-pattern>
    </filter-mapping>

    過濾器執行流程

    • 執行過濾器

    • 執行放行后的資源

    • 回來執行過濾器放行代碼下邊的代碼

    過濾器生命周期方法

    • init:在服務器啟動后,會創建Filter對象,然后調用init方法。只執行一次。用于加載資源

    • doFilter:每一次請求被攔截資源時,會執行。執行多次

    • destroy:在服務器關閉后,Filter對象被銷毀。如果服務器是正常關閉,則會執行destroy方法。只執行一次。用于釋放資源

    過濾器配置詳解

    攔截路徑配置:

    • 具體資源路徑: /index.jsp   只有訪問index.jsp資源時,過濾器才會被執行

    • 攔截目錄: /user/* 訪問/user下的所有資源時,過濾器都會被執行

    • 后綴名攔截: *.jsp 訪問所有后綴名為jsp資源時,過濾器都會被執行

    • 攔截所有資源:/* 訪問所有資源時,過濾器都會被執行

    攔截方式配置:資源被訪問的方式

    注解配置:

    • 設置dispatcherTypes屬性

    • REQUEST:默認值。瀏覽器直接請求資源

    • FORWARD:轉發訪問資源

    • INCLUDE:包含訪問資源

    • ERROR:錯誤跳轉資源

    • ASYNC:異步訪問資源

    web.xml配置 設置標簽即可

    過濾器鏈(配置多個過濾器)

    執行順序:如果有兩個過濾器:過濾器1和過濾器2

    • 過濾器1

    • 過濾器2

    • 資源執行

    • 過濾器2

    • 過濾器1

    過濾器先后順序問題:

    • 注解配置:按照類名的字符串比較規則比較,值小的先執行

    如: AFilter 和 BFilter,AFilter就先執行了。 2. web.xml配置: 誰定義在上邊,誰先執行

    Listener:監聽器

    概念:web的三大組件之一。 事件監聽機制

    • 事件:一件事情

    • 事件源 :事件發生的地方

    • 監聽器 :一個對象

    • 注冊監聽:將事件、事件源、監聽器綁定在一起。 當事件源上發生某個事件后,執行監聽器代碼

    ServletContextListener:監聽ServletContext對象的創建和銷毀 方法: void contextDestroyed(ServletContextEvent sce) :ServletContext對象被銷毀之前會調用該方法 void contextInitialized(ServletContextEvent sce) :ServletContext對象創建后會調用該方法 步驟:

    • 定義一個類,實現ServletContextListener接口

    • 復寫方法

    • 配置

    web.xml

    <listener>
      <listener-class>cn.zjq.web.listener.ContextLoaderListener</listener-class>
    </listener>

    指定初始化參數

    注解:

    @WebListener

    讀到這里,這篇“Java中的過濾器Filter和監聽器Listener怎么使用”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

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

    AI

    二连浩特市| 岳普湖县| 盐津县| 太白县| 乐陵市| 资阳市| 社会| 漾濞| 秦安县| 合阳县| 平安县| 玉树县| 黎川县| 屯留县| 正阳县| 张家港市| 浑源县| 普安县| 理塘县| 会同县| 正阳县| 富源县| 河间市| 舟山市| 门源| 宜宾县| 江达县| 多伦县| 钟山县| 衡水市| 宁都县| 平湖市| 江都市| 突泉县| 禄丰县| 南澳县| 肥西县| 唐海县| 梧州市| 揭西县| 林西县|