010-【過濾器和監聽器】session
一、什麼事過濾器:Servlet 規範當中定義的一種特殊的組件,能夠攔截 Servlet 容器的調用過程並進行相應的處理。某個過濾器只有一個實例,即單例模式
二、編寫過濾器
step1:寫一個 Java 類,實現 Filter 接口
step2:在 doFilter 方法裏面,編寫處理邏輯
step3:配置過濾器
注意事項:Filter 的 xml 配置在 Servlet 的 xml 配置前!
三、過濾器的優先級:若是有多個過濾器都知足過濾的條件,則容器會依據<filter-mapping>的前後順序來調用過濾器
四、初始化參數
step1:使用<init-param>配置初始化參數
step2:調用 FilterConfig.getInitParameter(String parameter);返回一個字符串
五、優勢
1)能夠實現代碼的「可插拔性」(增長或減小某個模塊,不會影響程序的正常運行)。
2)能夠將多個組件相同的處理邏輯集中寫在過濾器裏面,方便代碼的維護。
如:四個Web 組件都須要 session 驗證,把驗證寫在一個過濾器便可。配置中寫「/*」,攔截全部請求。app
一、什麼事監聽器:Servlet 規範當中定義的一種特殊的組件,用來監聽容器產生的事件並進行處理。
二、如何寫一個監聽器
step1:寫一個 Java 類,實現監聽器接口(依據監聽的事件類型來選擇對應的接口,8 種,如
繼承 HttpSessionListener)
step2:在監聽器接口定義的方法裏面,編寫處理邏輯
step3:配置監聽器spa