使用ServletContextAttributeListener
当调用如下操作时,就会自动执行监听。
application.setAttribute("username","tom");
application.removeAttribute("username");
ServletContextAttributeListener用于监听ServletContext(application)范围内属性的变化,实现该接口的监听器需要实现如下三个方法。
attributeAdded(ServletContextAttributeEvent event):当程序把一个属性存入application范围时触发该方法。
attributeRemoved(ServletContextAttributeEvent event):当程序把一个属性从application范围删除时触发该方法。
attributeReplaced(ServletContextAttributeEvent event):当程序替换application范围内的属性时将触发该方法。
下面是一个监听ServletContext范围内属性改变的Listener。
@WebListener public class MyServletContextAttributeListener implements ServletContextAttributeListener { //当程序向application范围添加属性时触发该方法 public void attributeAdded(ServletContextAttributeEvent event) { ServletContext application = event. getServletContext(); //获取添加的属性名和属性值 String name = event.getName(); Object value = event.getValue(); System.out.println(application + "范围内添加了名为" + name + ",值为" + value + "的属性!"); } //当程序从application范围删除属性时触发该方法 public void attributeRemoved (ServletContextAttributeEvent event) { ServletContext application = event.getServletContext(); //获取被删除的属性名和属性值 String name = event.getName(); Object value = event.getValue(); System.out.println(application + "范围内名为" + name + ",值为" + value + "的属性被删除了!"); } //当application范围的属性被替换时触发该方法 public void attributeReplaced (ServletContextAttributeEvent event) { ServletContext application = event.getServletContext(); //获取被替换的属性名和属性值 String name = event.getName(); Object value = event.getValue(); System.out.println(application + "范围内名为" + name + ",值为" + value + "的属性被替换了!"); } }
上面的ServletContextAttributeListener使用了@WebListener Annotation修饰,这就是向Web应用中注册了该Listener,该Listener实现了attributeAdded、 attributeRemoved、attributeReplaced方法,因此当application范围内的属性被添加、删除、替换时,这些对应 的监听器方法将会被触发。
相关推荐
4. **ServletContextAttributeListener**:监听上下文属性的变化。 5. **HttpSessionAttributeListener**:监听session中属性的添加、移除和替换。 监听器通过实现特定的监听器接口,并在web.xml中声明注册,或者...
Listener 示例</title> </head> <body> ServletContext context = getServletContext(); context.setAttribute("key", "value");...通过正确地使用监听器,我们可以实现更高效、更健壮的应用程序。
综合以上内容,可以理解为:Web系统与技术实验十的核心在于学习和实践Java Servlet技术,特别是与Web应用环境相关的高级特性,比如监听器的使用、会话管理、Web应用的初始化和销毁过程等。通过这些实验,学习者能够...
ServletContextAttributeListener用于监听WEB应用属性改变的事件,包括:增加属性、删除属性、修改属性,监听器类需要实现javax.servlet.ServletContextAttributeListener接口。 SessionListener SessionListener...
在JavaWeb开发中,监听器(Listener)是JavaServlet API的一部分,用于监控应用程序或Web容器中的特定事件。这些事件可能包括用户会话的创建、...通过理解并正确使用监听器,可以提高JavaWeb应用的健壮性和可维护性。
- 监听域对象属性增加和删除的事件监听器:例如ServletContextAttributeListener、HttpSessionAttributeListener和ServletRequestAttributeListener,用于监听域对象中属性的添加、移除和替换事件。 - 监听绑定到...
ServletContextAttributeListener 接口定义了三个方法 attributeAdded、attributeRemoved 和 attributeReplaced,分别在给 ServletContex 添加属性值、删除属性值和替换属性值时触发。 下面是一个基于 Application ...
通过理解和熟练使用这些监听器,开发者可以提高应用的性能、稳定性和安全性,从而提升整体的用户体验。在实际开发中,结合适当的日志记录和错误处理,这些监听器可以成为诊断问题和优化系统的关键工具。
例如,`ServletContextAttributeListener`、`HttpSessionAttributeListener`和`ServletRequestAttributeListener`分别监听ServletContext、HttpSession和ServletRequest对象中属性的变化。 3. **编写Servlet监听器*...
ServletContextListener、ServletContextAttributeListener、HttpSessionListener和HttpSessionAttributeListener则帮助监控和响应Web应用程序的特定事件。 【DAO与MVC框架】 第三周,你将学习Data Access Object ...
1. 下列哪个不属于监听器接口ServletContextAttributeListener提供的方法() (1分) A.public void attributeAdded(ServletContextAttributeEvent?scab) B.public void attributeRemoved...
- `ServletContextAttributeListener`: 监听ServletContext中属性的增删改事件,可以用来记录日志、初始化全局变量等。 - `ServletContextListener`: 监听ServletContext的创建与销毁,通常用于初始化和清理资源,...
- **Servlet上下文监听器**:监听ServletContext对象的创建、销毁以及属性的变动,例如实现`ServletContextListener`和`ServletContextAttributeListener`接口。 - **会话监听器**:监控HttpSession对象的创建、...
- `ServletContextAttributeListener`:监听`ServletContext`中属性的变化,包括添加、移除和替换属性的事件。 - `ServletRequestListener`和`ServletRequestAttributeListener`:分别监听HTTP请求的创建和销毁,...
- **Servlet容器初始化参数监听器**(ServletContextAttributeListener):监听Servlet上下文属性的添加、修改和移除。 - **过滤器监听器**(FilterRegistrationListener):监听过滤器的注册和移除。 - **组件...
1. **`ServletContextAttributeListener`** - **功能**:监听`ServletContext`属性的变化。 - **方法**: - `attributeAdded(ServletContextAttributeEvent e)`:当向`ServletContext`中添加新属性时被调用。 -...
* ServletContextAttributeListener:监听ServletContext域对象中的属性的添加、替换、移除。 * HttpSessionAttributeListener:监听HttpSession域对象中的属性的添加、替换、移除。 * ...
ServletContextAttributeListener ServletContextEvent ServletContextListener ServletException ServletInputStream ServletOutputStream ServletRequest ServletRequestAttributeEvent ...
- **事件监听**:通过实现 `ServletContextAttributeListener` 接口,监听属性的添加、修改和移除。 - **会话管理**:当会话范围不足以存储数据时,可以使用全局属性作为会话数据的备份。 - **日志记录**:存储统计...