监听器的相关概念
1.监听器就是监听摸个对象的状态变化的组件
事件源:被监听的三个对象-------三个域对象 request session servletContext
监听器:监听事件源对象 事件源对象的状态的变化都会触发监听器------监听器个数8个
注册监听器:将监听器与事件源进行绑定
响应行为:监听器监听到事件源的状态变化时,所设计的功能代码--程序员编写代码
2.监听器有哪些?这里有6个需要配置
第一维度:按照被监听的对象划分:ServletRequest ServletSession ServletContext
第二维度 :监听的内容分:监听域对象的创建和销毁 监听域对象的属性变化的
ServletRequest域 ServletSession域 ServletContext域
监听域对象的创建和销毁 ServletRequestListener ServletSessionListener ServletContextListener
监听域对象的属性变化的 ServletRequestAttributeListener ServletSessionAttributeListener ServletContextAttributeListener
监听ServletContext域的创建和销毁监听器ServletContextListener
何时创建:服务器启动
何时销毁:服务器关闭
3.监听器的编写步骤
a:编写一个监听器类去实现监听器接口
b:覆盖监听器的方法
c:需要在web.xml中进行配置
4.ServletContextListener监听器的主要作用
1.初始化的工作:初始化对象 初始化数据-------加载数据库驱动 连接池的初始化
2.加载一些初始化的配置文件------soring的配置文件
3.任务调度-------定时器 Timer/TimerTask
5.Session域
何时创建:第一次调用request.getSession
何时销毁:服务器关闭 session过期 手动销毁
6.监听三大域对象的属性变化的
1.域对象的通用的方法
setAttribute(name ,value)
-------触发添加属性的监听操作的方法
-------触发修改属性的监听器的方法
2.getAttribute(name)
removeAttribute(name)
----触发删除属性的监听器的方法
7.与session中的绑定的对象相关的监听器(对象感知监听器)不用配置
1.即将要绑定到session中的对象有几种状态
绑定状态:就是一个对象被放到session域中
解绑状态:就是这个对象从session域中移除 继承HttpSessionBindingListener
钝化状态:是将session内存中的对象持久化(序列化)到磁盘
活化状态:就是将磁盘上的对象再次回复到session内存中 继承HttpSessionActivationListener,Serializable两个接口
服务器关闭时候钝化
服务器开启时候活化
自动钝化是要在META-INF中配置context.xml
面试题:当用户很多时,怎么对服务器进行优化?
session的钝化和活化
监听器(Listener)的相关概念
最新推荐文章于 2024-05-13 18:00:50 发布