4四、Filter和Listener

Filter:過濾器web

web中的過濾器;當訪問服務器的資源時,過濾器能夠將請求攔截下來,完成一些特殊的功能瀏覽器

過濾器的做用:通常用於完成通用的操做。例如:登錄驗證,統一編碼處理,敏感字符過濾服務器

 

Filter使用步驟:app

一、定義一個類,實現接口Filter 異步

二、複寫方法jsp

三、配置攔截路徑:一、web.xml編碼

                          二、註解配置:@webFilterspa

 

細節:xml

一、web.xml配置,相似servlet配置對象

二、過濾器執行流程

    一、執行過濾器

    二、執行放行後的資源

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

三、過濾器的生命週期

    一、init,在服務器啓動後,會建立Filter對象,而後調用init方法,只執行一次,用於加載資源

    二、doFilter,每一次請求被攔截資源時會執行。執行屢次

    三、destroy,在服務器關閉後,Filter對象被銷燬,若是服務器上正常關閉,則會執行destroy方法,只執行一次

四、過濾器的配置詳解

    攔截路徑的配置:

        一、具體資源路徑/user.jsp

        二、攔截目錄:/user/*

        三、後綴名攔截:*.jsp

        四、攔截全部資源:/*

    攔截方式的配置:

        註解配置:設置dispatchertypes屬性  

                        一、REQUEST:默認值,瀏覽器直接請求資源

                        二、FORWORD:轉發訪問資源

                        三、INCLUDE:包含訪問資源

                        四、ERROR:錯誤跳轉資源

                        五、ASYNC:異步訪問資源

五、配置多個過濾器

    執行順序:若是有兩個過濾器,過濾器1和過濾器2

     過濾器1 - 過濾器2 - 資源執行- 過濾器2 - 過濾器1

    過濾器前後順序

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

       二、web.xml配置:<filter-mapping>誰定義在上邊,誰先執行

 

Listener:監聽器

事件監聽機制:

一、事件:一件事情

二、事件源:事件發生的地方

三、監聽器:一個對象

四、註冊監聽:將事件,事件源,監聽器綁定在一塊兒,當事件源上發生某個事件後,執行監聽代碼

 

servletcontextListener接口:監聽servletContext對象的建立和銷燬

contextDestroyed():servletContext對象被銷燬以前會調用該方法

contextinitialized():servletContext對象建立後會調用該方法

 

步驟:

一、定義一個類實現接口

二、複寫方法

三、配置

        一、web.xml

        二、註解配置:@webListener

相關文章
相關標籤/搜索