监听器(listener)
监听器的作用:监听web中的域对象 ServletContext ServletRequest HttpSession。主要目的是给Web应用增加事件处理机制,以便更好地监视和控制Web应用的状态变化 。
监听生命周期和属性改变:listener全部是接口
监听三个对象的创建和销毁
ServletContextListener
ServletRequestListener
HttpSessionListener
监听三个对象属性的变化(创建 、移除、修改)
ServletContextAttributeListener
ServletRequestAttributeListener
HttpSessionAttributeListener
监听session中javabean的状态
HttpSessionActivationListener(钝化和活化)
HttpSessionBindingListener(绑定和解绑,在session中存放对象时使用)
使用步骤:
1.编写一个类 实现接口
2.重写方法
3.编写配置文件(标签)
过滤器(Filter)
过滤器(Filter接口):一个中间组件,用于拦截源数据和目的数据之间的消息。
过滤器的生命周期:
filter单实例多线程
filter在服务器启动的时候 服务器创建filter 调用init方法 实现初始化操作
请求来的时候,创建一个线程 根据路径调用dofilter 执行业务逻辑
当filter被移除的时候或者服务器正常关闭的时候 调用destory方法 执行销毁操作。
过滤器的方法:
intit方法:初始化
doFilter方法:进行过滤的方法,处理业务逻辑,
destroy() :销毁操作
过滤链(FilterChain):
通过chain的dofilter方法,可以将请求放行到下一个过滤器,直到最后一个过滤器放行才可以访问到servlet|jsp
注册映射的方式
xml的方式:执行的顺序是过滤器映射的顺序
注解的方式:执行的顺序类名的先后顺序,