监听器---2

来源:互联网 发布:网络综艺节目优势 编辑:程序博客网 时间:2024/06/04 19:28

监听三个域对象属性变化:

Servlet规范定义了监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信息事件的监听器。

这三个监听器接口分别是ServletContextAttributeListener, HttpSessionAttributeListener ServletRequestAttributeListener

这三个接口中都定义了三个方法来处理被监听对象中的属性的增加,删除和替换的事件,同一个事件在这三个接口中对应的方法名称完全相同,只是接受的参数类型不同

attributeAdded 方法

       当向被监听器对象中增加一个属性时,web容器就调用事件监听器的 attributeAdded 方法进行相应,这个方法接受一个事件类型的参数,监听器可以通过这个参数来获得正在增加属性的域对象和被保存到域中的属性对象

各个域属性监听器中的完整语法定义为:

public void attributeAdded(ServletContextAttributeEvent scae)

public void attributeReplaced(HttpSessionBindingEvent  hsbe)

public void attributeRmoved(ServletRequestAttributeEvent srae)

         attributeRemoved 方法:

       当删除被监听对象中的一个属性时,web 容器调用事件监听器的这个方法进行相应

各个域属性监听器中的完整语法定义为:

public void attributeRemoved(ServletContextAttributeEvent scae)

public void attributeRemoved (HttpSessionBindingEvent  hsbe)

public void attributeRemoved (ServletRequestAttributeEvent srae)

attributeReplaced 方法:

当监听器的域对象中的某个属性被替换时,web容器调用事件监听器的这个方法进行相应

各个域属性监听器中的完整语法定义为:

public void attributeReplaced(ServletContextAttributeEvent scae)

public void attributeReplaced (HttpSessionBindingEvent  hsbe)

public void attributeReplaced (ServletRequestAttributeEvent srae)

感知Session绑定的事件监听器

保存在Session域中的对象可以有多种状态:绑定到Session中;从Session域中解除绑定;随Session对象持久化到一个设备中;随Session对象从一个存储设备中恢复

Servlet规范中定义了两个特殊的监听器接口来帮助JavaBean对象了解自己在session域中的这些状态

HttpSessionBingdingListener接口和HttpSessionActivationListener接口,实现这连个接口的类不需要web.xml文件中进行注册。

HttpSessionBingdingListener接口:

实现了HttpSessionBindingListener接口的Javabean对象可以感知自己被绑定到Session和Session中删除的事件

当对象被绑定到HttpSession对象中时,web服务器调用该对象的 void valueBound(HttpSessionBindingEvent event)方法

当对象从HttpSession对象中解除绑定时,web服务器调用该对象的void valueUnBound(HttpSessionBindingEvent event)方法

HttpSessionActivationListener接口:

实现了HttpSessionActivationListener接口的JavaBean对象可以感知自己被活化和钝化的事件

当绑定到HttpSession对象中的对象将要随HttpSession对象被钝化之前,web服务器调用sessionWillPassivate(HttpSessionBindingEvent event)方法

当绑定到HttpSession对象中的对象将要随HttpSession对象被活化之后,web服务器调用该对象的 void sessionDidActive(HttpSessionBindingEvent event)方法

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 自动挡汽车亏电怎么办 自动挡亏电了怎么办 面包车打不起火怎么办 汽车电瓶亏电怎么办 小车电池没电怎么办 汽车电瓶有电打不着火怎么办 汽车电瓶没电打不着火怎么办 汽车电池没电打不着火怎么办 汽车电瓶亏电打不着火怎么办 自动挡电瓶没电打不着火怎么办 自动挡车子没电打不着火怎么办 自动挡汽车没电打不着火怎么办 自动挡汽车有电打不着火怎么办 p0846骐达故障怎么办 汽车冷却液漏了怎么办 冷却液管子漏了怎么办 电脑网络不可用怎么办 手表带子坏了怎么办 这几天生意不好怎么办 大学不想住宿舍怎么办 在北京买车后被骗怎么办 联通套餐不到期怎么办 联通全国流量包怎么办 缤智车钥匙丢了怎么办 车遮阳板松了怎么办 洗车把内饰划了怎么办 新车销售没销量怎么办 住院时间重叠了怎么办 长安cs75油耗高怎么办 墙内线烧了怎么办 如果没买票想进高铁站怎么办 老赖拒绝还款怎么办 gta5资产不兼容怎么办 平板黑屏闪退怎么办 施工证学历不够怎么办 隧道放炮声大怎么办 58工作被骗了怎么办 学历国家不承认怎么办 福州居住证一年到期怎么办 居住证过期2年怎么办 被房东坑了怎么办