Servlet 中的 Listener 和 Event:
1. 在 JSP 2.0/Servlet 2.4 中,共有八个 Listener 接口,六个 Event 类别。
ServletContextListener 接口
[ 接口方法 ] contextInitialized() 与 contextDestroyed()
[ 接收事件 ] ServletContextEvent
[ 触发场景 ] 在 Container 加载 Web 应用程序时(例如启动 Container 之后),会呼叫 contextInitialized() ,而当容器移除 Web 应用程序时,会呼叫 contextDestroyed () 方法。
2. ServletContextAttributeListener
[ 接口方法 ] attributeAdded() 、 attributeReplaced() 、 attributeRemoved()
[ 接收事件 ] ServletContextAttributeEvent
[ 触发场景 ] 若有对象加入为 application ( ServletContext )对象的属性,则会呼叫 attributeAdded() ,同理在置换属性与移除属性时,会分别呼叫 attributeReplaced() 、 attributeRemoved() 。
3. HttpSessionListener
[ 接口方法 ] sessionCreated() 与 sessionDestroyed ()
[ 接收事件 ] HttpSessionEvent
[ 触发场景 ] 在 session ( HttpSession )对象建立或被消灭时,会分别呼叫这两个方法。
4. HttpSessionAttributeListener
[ 接口方法 ] attributeAdded() 、 attributeReplaced() 、 attributeRemoved()
[ 接收事件 ] HttpSessionBindingEvent
[ 触发场景 ] 若有对象加入为 session ( HttpSession )对象的属性,则会呼叫 attributeAdded() ,同理在置换属性与移除属性时,会分别呼叫 attributeReplaced() 、 attributeRemoved() 。
5. HttpSessionActivationListener
[ 接口方法 ] sessionDidActivate() 与 sessionWillPassivate()
[ 接收事件 ] HttpSessionEvent
[ 触发场景 ] Activate 与 Passivate 是用于置换对象的动作,当 session 对象为了资源利用或负载平衡等原因而必须暂时储存至硬盘或其它储存器时(透 过对象序列化),所作的动作称之为 Passivate ,而硬盘或储存器上的 session 对象重新加载 JVM 时所采的动作称之为 Activate ,所以容 易理解的, sessionDidActivate() 与 sessionWillPassivate() 分别于 Activeate 后与将 Passivate 前呼叫。
6. ServletRequestListener
[ 接口方法 ] requestInitialized() 与 requestDestroyed()
[ 接收事件 ] RequestEvent
[ 触发场景 ] 在 request ( HttpServletRequest )对象建立或被消灭时,会分别呼叫这两个方法。
7. ServletRequestAttributeListener
[ 接口方法 ] attributeAdded() 、 attributeReplaced() 、 attributeRemoved()
[ 接收事件 ] HttpSessionBindingEvent
[ 触发场景 ] 若有对象加入为 request ( HttpServletRequest )对象的属性,则会呼叫 attributeAdded() ,同理在置换属性与移除属性时,会分别呼叫 attributeReplaced() 、 attributeRemoved() 。
8. HttpSessionBindingListener
[ 接口方法 ] valueBound() 与 valueUnbound()
[ 接收事件 ] HttpSessionBindingEvent
[ 触发场景 ] 实现 HttpSessionBindingListener 接口的类别,其实例如果被加入至 session ( HttpSession )对象的属性中,则会 呼叫 valueBound() ,如果被从 session ( HttpSession )对象的属性中移除,则会呼叫 valueUnbound() ,实现 HttpSessionBindingListener 接口的类别不需在 web.xml 中设定。
分享到:
相关推荐
这两种方式都可以有效地在Spring Boot应用中整合Listener,根据项目需求和团队喜好可以选择合适的方式。第一种方式简单直接,适合于大部分场景;第二种方式提供了更灵活的控制,例如可以配置Listener的属性,或者在...
### ServletListener大全 #### 概述 在Java Web开发中,`ServletListener`是一类特殊的设计模式,主要用于...通过这种方式,我们可以方便地在Java Web应用程序中使用各种`ServletListener`来监听和响应容器中的事件。
在Java Web开发中,Servlet监听器(Servlet Listener)扮演着重要的角色,它是Servlet规范的一部分,允许开发者对Web应用程序中的特定事件进行监听和响应。在这个范例中,我们将深入探讨如何利用监听器来统计在线...
在探讨“servlet定时器”的知识...通过上述步骤,我们成功地在Servlet环境中实现了定时任务,确保了定时任务能够随Web应用的生命周期而自动启动和停止,为Java Web应用提供了一种灵活的、基于容器的定时任务管理方案。
在JSP中,监听器(Listener)是Servlet API的一部分,属于事件驱动模型,可以监听特定的事件并进行响应。本篇文章将深入探讨如何使用Java JSP的监听器来实现用户登录次数的记录。 一、理解监听器(Listener) 在...
Tomcat中的Listener主要分为两类:`org.apache.catalina.LifecycleListener`和`java.util.EventListener`。 1. `LifecycleListener`:这类监听器主要用于监听Tomcat容器的生命周期事件,例如`StandardEngine`、`...
6. **EventListener接口**:监听器允许我们监听Web应用程序中特定的事件,如session创建、销毁,或者context初始化、销毁等。通过实现这些接口,我们可以编写代码在特定事件发生时进行响应。 7. **ServletConfig...
监听器是实现特定`java.util.EventListener`接口的类,它们可以监听应用程序中的特定事件,如会话创建、销毁、请求初始化等。在`web.xml`中,监听器通过`<listener>`标签定义。它们是最早被加载的组件,因为它们...
- **事件(Event)**:事件是应用程序中发生的一种状态改变,例如用户点击按钮、页面加载完成或Servlet上下文初始化等。 - **事件源(Event Source)**:事件的发起者,通常是用户交互的对象或者系统组件。 - **...
Called by the servlet container to indicate to a servlet that the servlet is being taken out of service. destroy() - Method in class javax.servlet.GenericServlet Called by the servlet container to ...
注解驱动,简化开发,如`@WebServlet`、`@WebFilter`和`@WebListener`。 5. **Spring MVC框架**:Spring MVC是基于Servlet的一个强大MVC框架,提供了模型绑定、数据验证、本地化、异常处理等功能,简化了Web应用的...
Listener 與 Event Filter 使用Filter,您可以先對request作一些前置處理,例如進行身份驗證、過濾不安全的請求、監視統計請求的來源與出處等等,或是對response進行後置處理,例如對輸出先進行壓縮、對XML的呈...
Tomcat支持两种类型的Listener接口:`org.apache.catalina.LifecycleListener` 和 `java.util.EventListener`。LifecycleListener关注Tomcat的生命周期事件,如启动、运行和关闭,适用于StandardEngine、...
在本DEMO中,我们将深入探讨如何创建和使用Servlet监听器,以及它们在实际应用中的作用。 首先,让我们了解Servlet监听器的基本概念。在Servlet规范中,监听器是实现了Java Servlet API中特定接口的类,这些接口...
7. **EventListener**:ServletAPI还支持事件监听器,例如HttpSessionListener、ServletRequestListener等,可以监听Web应用中的特定事件,如会话创建、请求到达等,实现更复杂的逻辑。 通过阅读这些源代码,开发者...
JAVA Servlet监听器是指在Servlet容器中,用于监听一些重要事件的发生,监听器对象可以在事情发生前、发生后做一些必要的处理。监听器可以分为多种类型,每种类型都有其特定的应用场景和用途。 ...
在Java Web开发中,监听器(Listener)是十分重要的组成部分,它们主要用于监听特定事件的发生,并执行相应的处理逻辑。Struts框架作为早期流行的MVC架构之一,充分利用了监听器机制来增强其功能性和灵活性。本文将...
- **掌握监听器的使用方法**:学会如何在项目中实现和部署监听器,以便监控和响应特定事件。 #### 二、监听器技术基础 ##### 1. 监听器简介 监听器是一种特殊的技术,用于监测服务器端对象(如`ServletContext`、...
7. **过滤器和监听器**:掌握Servlet Filter和Servlet Event Listener的用法,它们是实现请求处理前后的增强功能和监听特定事件的关键。 8. **部署描述符**:理解web.xml文件的作用,学习如何配置Servlet、Filter、...