10 過濾器和監聽器
阿新 • • 發佈:2018-02-12
req 刪除 ping ppi init list 一次 編碼 response 1.過濾器
1.作用:對所有請求或響應做攔截操作 2.開發Filter 1.自定義一個XxxFilter實現javax.servlet.Filter接口 2.web.xml中配置(註解@webFilter("")) <filter> <filter-name>XxxFilter</filter-name> <filter-class></filter-class> </filter> <filter-mapping> <filter-name>XxxFilter</filter-name> //攔截的資源 <url-pattern></url-pattern> </filter-mapping> 3.Filter的生命周期 生命周期方法: init(FilterConfig config) doFiler(ServletRequest request,ServletResponse response,FilterChain chain) destory() 執行的流程: 啟動服務器時,就會執行構造器和init方法 每一次請求都會執行doFilter方法 chain,doFilter(req,resp):放行 4.配置初始化參數 5.請求編碼過濾器 6.攔截所有請求,用初始化配置來配置不用攔截的uri,放行,其他uri如果用戶名存在才放行他uri
2.Listener(監聽器)
1.配置: <Listener> <Listener-class></Listener-class> </Listener> 2.使用: 要使用哪個監聽器,就去實現對應的接口 3.常用的事件監聽 1.對作用域對象的創建銷毀監聽 ServletRequestListener HttpSessionListener ServletContextListener 2.對WEB作用域對象的屬性(添加、替換、刪除)方法進行監聽: ServletRequestAttributeListener HttpSessionAttributeListener ServletContextAttributeListener
10 過濾器和監聽器