Listener(监听)

来源:互联网 发布:java 9 编辑:程序博客网 时间:2024/05/20 07:17
/** * Listener监听器 * 概念:所谓的监听器就是对整个web环境进行监听,事件源:被监听的对象;监听的对象:监听事件源对象 事件源对象的状态的变化都会触发监听器 * java中的Listener主要监听三个对象 * ServletContext,ServletRequest,HttpSession * 可以监听这三个对象的创建和销毁,属性的变化javabean在session中撞他的变化 * 监听对象 * 三个对象创建和销毁 * 一、ServletContextListener 监听ServletContext创建和销毁 * a.创建:服务器启动的时候,服务器会为每一个项目创建一个ServletContext * b.销毁:服务器正常挂关闭和项目移除的时候 * 二、ServletRequestListener 监听ServletRequest创建和销毁 * a.创建:请求来的时候 * b.销毁:响应信息生成的时候 * 三、HttpSessionListener 监听HttpSession创建和销毁 * a.创建:在java代码中,可以认为第一次调用request.getSession()的时候 *       在jsp中,可以认为第一次访问项目下的任何一个jsp页面 * b.销毁:服务器非正常关闭、超时、手动销毁(session.invalidate) * 三个对象属性的变化(添加,修改,删除) * a.ServletContextAttribute 监听servletContext中属性的变化 * b.ServletRequestAttributeListener 监听servletRequest中的属性的变化 * c.HttpSessionAttributeListener 监听HttpSession中属性的变化 * javabean在session中状态的变化 * 注意:不需要编写配置文件,只需要实现监听接口即可 * 一.HttpSessionBindingListener:绑定和解绑 * a.绑定:javabean对象放入了session中 * b.解绑:javabean对象从session中移除了 * 二、HttpSessionActivationListener:活化和纯化 * a.纯化:javabean从session中持久化到硬盘上 ---->服务器正常关闭 * b.活化:javabean从硬盘上放到session中(必须保证实现序列化接口) --->项目启动的时候 * 编写配置文件: * <listener> * <listener-class></listener-class> * </listener> *  * */