过滤器(filter)
1、自定类实现Filter 并实现方法:
init()、doFilter()、detory()、
2、在web.xml中配置Filter。(类似servlet)
执行流程:(1、web应用程序启动时调用init()完成对象的初始化、
(2、请求通过过滤器是调用doFilter()
(3、Servlet容器在销毁过滤器前调用destory()
XML中的配置:
例:
<filter>
<filter-name>authority</filter-name>
<filter-class>com.util.AuthorityFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>authority</filter-name>
<url-pattern>/pages/genbill/*</url-pattern>
</filter-mapping>
Url-parrern 指定过滤器的范围
存在多个过滤器时的执行顺序:
按照在xml中的配置从上到下依次执行。(创建过滤器时,范围小的在上,范围大的在下)
监听器
1、监听器的分类
按监听对象的划分
1、用于监听应用程序环境对象(ServletContext)的事件监听器
2、监听用户会话(HttpSession)的事件监听器
3、监听请求消息(ServletRequest)的事件监听器
按照监听的事件划分
1、用于监听域对象自身的创建和销毁的事件监听器:
ServletContextListener
HttpSessionListener
ServletRequestListener
2、监听域对象中的属性的增减和删除的事件监听器:
ServletContextAttributeListener
HttpSessionAttributeListener
ServletRequestAttributener
4、用于 监听绑定到HttpSession域中的某个对象的监听器
HttpSessionBindingListener (session的绑定对象 不使用配置xml文件)
HttpSessionActivationListener(略)
创建一个监听器的步骤
1、自定义类实现某个Listener并重写方法
2、在xml中配置文件
web.xml中布置安装
<listener>
<listener-class>cn.listen.MyListener</listener-class>
</listener>