servlet 监听2

来源:互联网 发布:黑米软件有用吗 编辑:程序博客网 时间:2024/06/05 10:11
6.监听三个域对象属性变化:
Servlet规范定义了监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性 变更信息事件的监听器。
这三个监听器接口分别是ServletContextAttributeListener, HttpSessionAttributeListener ServletRequestAttributeListener
这三个接口中都定义了三个方法来处理被监听对象中的属性的增加,删除和替换的事件,同一个事件 在这三个接口中对应的方法名称完全相同,只是接受的参数类型不同。
7.attributeAdded 方法:
当向被监听器对象中增加一个属性时,web容器就调用事件监听器的 attributeAdded 方法进行相应, 这个方法接受一个事件类型的参数,监听器可以通过这个参数来获得正在增加属性的域对象和被保存 到域中的属性对象

各个域属性监听器中的完整语法定义为:
public void attributeAdded(ServletContextAttributeEvent scae)
public void attributeReplaced(HttpSessionBindingEvent hsbe)
public void attributeRmoved(ServletRequestAttributeEvent srae)
8.attributeRemoved 方法:
当删除被监听对象中的一个属性时,web 容器调用事件监听器的这个方法进行相应
各个域属性监听器中的完整语法定义为:
public void attributeRemoved(ServletContextAttributeEvent scae)
public void attributeRemoved (HttpSessionBindingEvent hsbe)
public void attributeRemoved (ServletRequestAttributeEvent srae)
9.attributeReplaced 方法:
当监听器的域对象中的某个属性被替换时,web容器调用事件监听器的这个方法进行相应
各个域属性监听器中的完整语法定义为:
public void attributeReplaced(ServletContextAttributeEvent scae)
public void attributeReplaced (HttpSessionBindingEvent hsbe)
public void attributeReplaced (ServletRequestAttributeEvent srae)
10.感知 Session 绑定的事件监听器
保存在 Session 域中的对象可以有多种状态:绑定到 Session 中;从 Session 域中解除绑定;随   Session 对象持久化到一个存储设备中;随 Session 对象从一个存储设备中恢复
Servlet 规范中定义了两个特殊的监听器接口来帮助 JavaBean 对象了解自己在 Session 域中的这些 状态:HttpSessionBindingListener接口和HttpSessionActivationListener接口 ,实现这两个接口 的类不需要 web.xml 文件中进行注册实现了HttpSessionBindingListener接口的 JavaBean 对象可以 感知自己被绑定到 Session 中和从 Session 中删除的事件
当对象被绑定到 HttpSession 对象中时,web 服务器调用该对象的 void valueBound (HttpSessionBindingEvent event) 方法
当对象从 HttpSession 对象中解除绑定时,web 服务器调用该对象的 void valueUnbound (HttpSessionBindingEvent event)方法

11.HttpSessionBindingListener接口:

实现了HttpSessionBindingListener接口的 JavaBean 对象可以感知自己被绑定到 Session 中和从   Session 中删除的事件
当对象被绑定到 HttpSession 对象中时,web 服务器调用该对象的 void valueBound (HttpSessionBindingEvent event) 方法
当对象从 HttpSession 对象中解除绑定时,web 服务器调用该对象的 void valueUnbound (HttpSessionBindingEvent event)方法

12.HttpSessionActivationListener接口:

实现了HttpSessionActivationListener接口的 JavaBean 对象可以感知自己被活化和钝化的事件
当绑定到 HttpSession 对象中的对象将要随 HttpSession 对象被钝化之前,web 服务器调用如下方 法sessionWillPassivate(HttpSessionBindingEvent event) 方法
当绑定到 HttpSession 对象中的对象将要随 HttpSession 对象被活化之后,web 服务器调用该对象 的 void sessionDidActive(HttpSessionBindingEvent event)方法


原创粉丝点击