监听域对象中属性的变更的监听器
域对象中属性的变更的事件监听器就是用来监听 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>
相关推荐
(1)创建测试页面,在chapter08项目的WebContext根目录中,编写一个testattribute.jsp页面,以观察各个域对象属性事件监听器的作用。 (2)在cn.itcast.chapter08.listener包中,编写一个名为MyAttributeListener的...
实现监听器通常需要创建一个类,该类实现特定的监听器接口,比如要监听域对象属性变更,我们可以实现`HttpSessionAttributeListener`。在类中定义对应事件的方法,例如`attributeAdded()`, `attributeRemoved()` 和 ...
2. 监听域对象中的属性变更(第二类监听器) 3. 监听域对象中的java对象的绑定(第三类监听器) Servlet监听器:监听器可以监听三个大域对象:request、session、servletContext。监听器可以通过web.xml配置或@Web...
- 监听域对象属性增加和删除的事件监听器:例如ServletContextAttributeListener、HttpSessionAttributeListener和ServletRequestAttributeListener,用于监听域对象中属性的添加、移除和替换事件。 - 监听绑定到...
5. **属性变更监听器** - `ServletContextAttributeListener`:监听ServletContext对象中属性的添加、替换和移除,分别通过`attributeAdded`、`attributeReplaced`和`attributeRemoved`方法处理。 - `...
- **第二类**:属性变更监听器,如HttpSessionAttributeListener、ServletRequestAttributeListener,用于监听域对象属性的添加、移除和替换。 - **第三类**:HttpSessionBindingListener和...
二、域对象属性变更监听器 除了上述基本的监听器,还有针对域对象(ServletContext、HttpSession和HttpServletRequest)属性变更的监听器: 1. **ServletContextAttributeListener** - 监听ServletContext域对象中...
本书详细讨论了$watch(监听属性)和$digest(消化循环)的机制,包括如何检查脏值、初始化监听值、获取消化循环的通知、处理不稳定的消化循环,以及通过最后一个监听器干净时的消化短路处理。还涉及到了基于值的脏...
`true`参数表示开启深度监听,这样就可以监控对象属性的变更,而不仅仅是对象的引用变化。 ### 深度监听对象属性的变化 当需要监听对象中属性的变化时,应该使用深度监听,即将`$watch`的第三个参数设置为`true`。...
学生将学习如何实现Filter链,理解请求与响应的拦截执行顺序,以及如何配置监听器来监控域对象的生命周期和属性变更。JDBC部分则涵盖数据库的连接、查询、更新和删除操作,使学生能够熟练地进行数据库操作。 课程...
在这个`Person`类中,我们实现了`PropertyChangeListener`接口,并且添加了一个`PropertyChangeSupport`实例,以便于管理属性变更监听器。这样做的目的是为了让该类能够支持属性变更事件的发布与监听,从而实现数据...
Servlet事件监听器\nServlet事件监听器用于监听ServletContext、HttpSession和ServletRequest等域对象的生命周期和属性变更。监听器可以感知到这些对象的创建、销毁以及属性的变化,从而实现定制化的管理逻辑,比如...
- **执行一次性任务**:如初始化配置或设置监听器。 - **封装变量**:保护变量不被外部代码覆盖或修改。 #### 五、强大的原型和原型链 这部分内容解释了JavaScript中对象的原型和原型链的概念及其重要性。 - **...
- **Declarative Event Listener Registration**:描述了如何声明式地注册事件监听器。 - **Using depends-on**:说明了如何指定一个对象依赖于另一个对象的初始化。 - **Lazily-initialized objects**:讨论了延迟...
监听器则让我们可以监听某个数据的变化并执行相应操作。两者都通过`computed`和`watch`选项定义。 7. **异步组件与路由**: Vue 2.x 支持异步组件,这在大型应用中有利于按需加载。同时,配合官方的`vue-router`库...
在MXML中添加事件监听器 1.7节.设置子节点属性 1.8节.定义数组和对象 1.9节.在ActionScript中设置变量的作用域 1.10节.在ActionScript中创建组件 1.11节.使用事件冒泡机制 1.12节.使用代码隐藏模式分离MXML和...
- **v-on**:绑定事件监听器。 - **v-once**:只渲染元素和组件一次,后续数据改变不再更新。 9. **vue-loader**:转换Vue组件,使其可以在webpack中使用,支持ES6、预处理器等。 10. **key的作用**:在虚拟DOM ...
子组件通过自定义事件向父组件传递数据,而父组件可以通过`props`或事件监听器接收。 8. 插槽:插槽允许父组件向子组件传递内容,其中作用域插槽允许子组件向父组件传递数据。在Vue2中,需通过`scope`或`slot-scope...
- `v-on`:绑定事件监听器。 - `v-once`:只渲染元素和组件一次,后续数据变化不再更新。 9. **vue-loader** - 用于处理Vue单文件组件(SFC),将模板、脚本和样式转换为JavaScript模块。 10. **使用key的目的*...
6. **计算属性与侦听器**:计算属性提供了一种便捷的方式来处理复杂的表达式,而无需手动在`watch`对象中创建监听器。计算属性缓存了结果,只有当依赖改变时才会重新计算。`watch`则用于监听数据变化,执行深度观察...