javaweb三大组件---监听器

来源:互联网 发布:java main sleep 编辑:程序博客网 时间:2024/05/14 15:55
Servlet规范中定义了多种类型的监听器,它们用于监听的事件源分别为 ServletContext, HttpSession 和 ServletRequest 这三个域对象。

关于ServletContext域对象的
ServletContextListener  是否创建或撤销了一个上下文(上下文由容器读取xml后生成的键值,并把上下文的引用放在ServletContext中) 事件类型:ServletContextAttributeEvent
ServletContextAttributeListener 监听Web应用上下文是否增加,删除或替换了一个属性 事件类型ServletContextAttributeEvent
关于HttpSession域对象的
HttpSessionListener 监听有多少个并发用户,跟踪活动的会话   事件类型:HttpSessionEvent
HttpSessionBindingListener 监听你的属性类在绑定到会话属性或从会话属性中删除时得到通知(针对这个特有的属性) 事件类型:HttpSessionBindingEvent
HttpSessionAttributeListener 增加,删除或更替一个会话属性时希望你知道(针对会话属性)事件类HttpSessionBindingEvent
HttpSessionActivationListener 当一个属性类所绑定的会话属性迁移到另一个JVM时得到通知    事件类型:HttpSessionEvent
关于ServletRequest域对象的
ServletRequestListener 每次请求到来时你都想知道以便建立日志记录 事件类型:ServletRequestEvent
ServletRequestAttributeListener 增加,删除或替换一个请求属性时希望你能知道

统计在线人数的程序用例:
想要统计当前在线人数实际上就是查看有多少个有效session,使用HttpSessionListener
创建一个Session时,sessionCreated(HttpSessionEvent se) 方法将会被调用。
 销毁一个Session时,sessionDestroyed (HttpSessionEvent se) 方法将会被调用。
 Session域对象创建和销毁的时机创建:用户每一次访问时,服务器创建session

监听器代码:


xml设置:


0 0
原创粉丝点击