-
监听器的定义
监听器是servlet规范定义的一种个特殊类,用于监听servletContext,HttpSession,ServetRequest等域对象的创建,销毁,一级其属性修改发生变化的事件,可以在事件发生后做一些必要的处理操作其应用场景包括统计在线人数,页面访问量的统计,应用启动时的完成信息的初始化等。
使用监听器有以下两步:创建类实现监听器接口,并重写其方法;在xml文件中进行注册。 -
监听器的分类
按监听对象分类:
1.1 ServletContext对象监听器 监听上下文对象
1.2 HttpSession对象监听器 监听会话对象
1.3 ServletRequest对象监听器 监听请求对象
按监听事件分类:
2.1 域对象自身的创建和销毁事件监听器;
2.2 域对象中属性的创建、替换和消除事件监听器
2.3 绑定到session中的某个对象的状态事件监听器ServletContext在web应用程序启动时完成创建和初始化,在应用程序关闭后销毁;Session在用户通过浏览器第一次与服务器交互时完成创建,持续时间按结束后销毁,配置session对象的有效期:
<session-config><session-timeout>1(单位为min)</session-time-out></sesion-config>;
Request是每一个处理用户请求的过程;
-
HttpSessionBindingListener
绑定到session中的某个对象的状态事件监听,不需要在xml文件中注册。valueBound(HttpSessionBindingEnent enent)(当监听器对象绑定值HTTP会话调用)
valueUnbound(HttpSessionBindingEvent event)(当监听器对象从HTTP会话内修改,移除或会话销毁时调用)
例如:用户登录将信息存入session时触发绑定监听,当用户退出时触发解绑监听