过滤器:
过滤器是一个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>