過濾器:
過濾器是一個Web組件。用來攔截請求和響應過程。例如:記錄請求和響應過程中的數據,管理會話。
編寫過濾器步驟:
1、實現Filter接口
2、在doFilter方法中實現攔截處理邏輯
3、強過濾器添加到Web程序中
4、部署
常用接口:Filter、FilterChain、FilterConfig要實現的方法:void init(FilterConfig filterConfig) void doFilter(ServletRequest request,ServeltResponse response ,FilterChain chain) void destroy()
在web.xml文件中實現配置。
<filter>
<filter-name>test</filter-name>
<filter-class>web.FilterServlet</filter-class>
<init-param>
<param-name>student</param-name>
<param-value>kk</param-value>
</init-param>
<filter>
<filter-mapping>
<filter-name>test</filter-name>
<url-pattern>/test.do</url-pattern>
</filter-mapping>
過濾器的優先級由<filter-mapping>的順序決定。
讀取過濾器中的初始配置:String FilterConfig.getInitParamter("student")
監聽器:
1、監測容器生命週期相關的事件。容器創建或銷燬request,session,ServletContext時的事件。ServletRequestListener,HttpSessionListener,ServletContextListener
2、綁定數據相關的事件。調用request,session,servletContext的setAttribute,removeAttribute方法時產生的事件。ServletRequestAttributeListener,ServletSessionAttributeListener,ServletContextAttributeListener
實現監聽器:
1、實現監聽器類。
2.在web.xml中配置:
<listener>
<listener-class>web.testListener</listener-class>
</listener>