监听器定义:是指专门用于其他对象身上发生的事件或状态改变进行监听和相应的处理的对象,当被监视的对象发生变化时立即采取相应的行动。
web监听器的定义:servlet规范中定义的一种特殊类。用于监听ServletContext,HttpSession,ServletRequest等域对象的创建和销毁过程,用于监听这些域对象的属性发生修改的事件,可以在事件的发生前发生后做一些必要的处理。
web监听器的用途:
1、统计在线人数或在线用户
2、系统系统是加载初始化信息
3、统计网站访问量
4、和spring结合
监听器的创建 :实现相应的接口,在web.xml配置listener-class
监听器的踢动顺序:在web.xml中监听器的启动顺序是在web.xml的注册顺序
监听器、过滤器、servlet的加载顺序:监听器>过滤器>servlet
监听器的分类:
按监听的对象话划分:
用于监听应用程序环境对象(ServletContext)的事件监听器
用于监听用户会话的对象(HttpSession)的事件监听器
用于监听请求消息的对象(ServletContext)的事件监听器
按监听的事件划分:
监听域对象自身的创建销毁的事件监听器
监听域对象的属性增加或删除的事件监听器
监听绑定到HttpSession域中某个对象的状态的事件监听器
Session的钝化机制:
本质就在于把服务器中不经常使用的Session对象暂时序列化到文件系统或数据库系统中,当被使用时反序列化代内存中,整个过程由服务器自动完成
Servlet3.0下监听器的使用:
要使用注解@WebListener,并且至少实现以下接口中的一个:
ServletContextListener
ServletContextAttributeListener
ServletRequestListener
ServletRequestAttributeListener
HttpSessionListener
HttpSessionAttributelistener