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