java-web监听器
java监听器定义
java监听器定义
Servlet规范定义的一种特殊类
用于监听ServletContext,HTTPSession,ServletRequest等域对象的创建、销毁及其属性修改发生变化的事件
监听器可以在时间发生前后进行一些必要的处理操作
常见应用场景
1.统计在线人数
2.页面访问量的统计
3.应用启动时完成信息初始化工作
4.与Spring结合
监听器的实现步骤
1.编写java类实现监听器接口,并实现其接口方法
2.在web.xml文件中对实现的监听器类进行注册
接口选择(监听器)
javax.servlet.ServletRequestListener对请求事件创建销毁事件的监听
HttpSessionListener 对会话对象创建销毁的事件的监听
ServletContextListener 对ServletContext生命周期的监听
后面加AttributeListener 对属性的监听
多监听器启动顺序
根据xml文件的顺序启动
监听器启动顺序Java监听器分类
按监听对象
ServletContext对象监听器 上下文对象
HttpSession对象监听器 会话对象
ServletRequest对象监听器 请求对象
按监听事件
域对象自身的创建和销毁事件监听器
域对象中属性的创建、替换和消除事件监听器
绑定到session中的某个对象的状态事件监听器
ServletContextListener
ServletContextListener接口及方法
ServletContextServletContext方法
ServletContext方法xml中配置初始化参数包括:数据库链接、程序名称、版本号等
程序名称和版本号SessionListener
HttpSessionListener接口及方法
用户与服务器建立连接时生成HttpSession对象,此时可将此对象看做用户
用户建立链接过程及服务器建立HttpSession对象HttpSession存储用户的专有信息比如登录名、登录事件、权限等
一个HttpSession对象可以对应一个用户
ServletRequestListener
ServletRequestListener接口及方法
ServletRequestListener接口及方法每次请求都会生成一个请求对象
每次请求都会生成一个请求对象HttpSessionBindingListener
图