监听域对象中属性的变更的监听器

 

监听域对象中属性的变更的监听器

 

域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信息事件的监听器。
   这三个监听器接口分别是ServletContextAttributeListener, HttpSessionAttributeListener 和ServletRequestAttributeListener,这三个接口中都定义了三个方法来处理被监听对象中的属性的增加,删除和替换的事件, 同一个事件在这三个接口中对应的方法名称完全相同,只是接受的参数类型不同。

 

1.1、attributeAdded 方法

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

1 public void attributeAdded(ServletContextAttributeEvent scae)
2 public void attributeReplaced(HttpSessionBindingEvent  hsbe)
3 public void attributeRmoved(ServletRequestAttributeEvent srae)

1.2、attributeRemoved 方法

  当删除被监听对象中的一个属性时,web容器调用事件监听器的attributeRemoved方法进行响应
  各个域属性监听器中的完整语法定义为:

1 public void attributeRemoved(ServletContextAttributeEvent scae)
2 public void attributeRemoved (HttpSessionBindingEvent  hsbe)
3 public void attributeRemoved (ServletRequestAttributeEvent srae)

1.3、attributeReplaced 方法

  当监听器的域对象中的某个属性被替换时,web容器调用事件监听器的attributeReplaced方法进行响应
  各个域属性监听器中的完整语法定义为:

1 public void attributeReplaced(ServletContextAttributeEvent scae)
2 public void attributeReplaced (HttpSessionBindingEvent  hsbe)
3 public void attributeReplaced (ServletRequestAttributeEvent srae)

 

测试代码:

 

<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML>
<html>
  <head>
    <title>ServletContextAttributeListener,RequestAttributeListener,SessionAttributeListener监听器测试</title>
  </head>
  
  <body>
        <%
           //往application域对象中添加属性
           application.setAttribute("name", "tom");
          //替换application域对象中name属性的值
           application.setAttribute("name", "mike");
           //移除application域对象中name属性
           application.removeAttribute("name");


           //往session域对象中添加属性
           session.setAttribute("aa", "bb");
          //替换session域对象中aa属性的值
           session.setAttribute("aa", "xx");
           //移除session域对象中aa属性
           session.removeAttribute("aa");
           
           //往request域对象中添加属性
           request.setAttribute("aa", "bb");
          //替换request域对象中aa属性的值
           request.setAttribute("aa", "xx");
           //移除request域对象中aa属性
           request.removeAttribute("aa");

           %>
  </body>
</html>

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值