Servlet API中定义了8个监听器接口,可以用于监听ServletContext,HttpSession和ServletRequest对象的生命周期事件,以及这些对象的属性改变.
目前Servlet2.4和JSP2.0总共有8个监听器接口和6个Event类,其中HttpSessionAttributeListener与HttpSessionBindingListener皆使用HttpSessionBindingEvent;HttpSessionListener和HttpSessionActivationListener则都使用HttpSessionEvent;其余Listener对应的Event如下所示:
ServletContextListener 接口
该接口主要用于监听Web应用程序启动,销毁.该接口可用于Web应用程序启动时执行一些初始化的任务.
该接口提供了如下方法:
public void contextInitialized(ServletContextEvent sce)
当Web应用程序初始化进程开始时,Web容器调用这个方法.该方法将在所有过滤器和Servlet初始化之前被调用.
void contextDestroyed(ServletContextEvent sce)
当Servlet上下文将要被关闭时,Web容器调用这个方法.该方法将在所有的Servlet和过滤器销毁之后调用.
ServletContextEvent类
Web容器通过ServletContextEvent对象来通知实现了ServletContextListener接口的监听器,监听器可以利用ServletContextEvent类来得到ServletContext对象.
除了构造方法,该类只有一个方法:
public ServletContext getServletContext()
该方法用于得到ServletContext对象.
要让Web应用程序启动时通知监听器,需要在Web.xml的<linstener>元素中配置监听器类.在配置监听器时,不需要告诉容器实现了什么监听器接口.容器会自动识别.
HttpSessionBindingListener接口
如果一个对象实现了
HttpSessionBindingListener 接口,当该对象被绑定到Session中或者从Session中被删除时,Servlet容器会通知该
HttpSessionBindingListener对象.这个对象在接收到通知后,可以做一些初始化或清除状态的操作.
HttpSessionAttributesListener接口提供如下方法:
public void valueBound(HttpSessionBindingEvent event)
当对象被绑定到Session中,Servlet容器调用这个方法通知该对象.
public void valueUnbound(HttpSessionBindingEvent event)
当从Session中删除对象时,Servlet容器调用这个方法来通知该对象.
HttpSessionBindingEvent类
Servlet容器通过HttpSessionBindingEvent对象来通知实现HttpSessionBindingListener接口的对象.而对象可以利用HttpSessionBindingEvent对象来访问与它相联系的HttpSession对象.
javax.servlet.http.HttpSessionBindingEvent类的方法:
public HttpSessionBindingEvent(HttpSession session,java.lang.String name)
public HttpSessionBindingEvent(HttpSession session,java.lang.String name,java.lang.Object value)
构造方法,当一个对象绑定到Session中或从Session中被删除时,容器使用该事件对象通知监听器.
public java.lang.String getName()
返回绑定到Session中或者从Session中删除的属性的名字.
public java.lang.Object getValue()
返回被添加,删除,或替换的属性的值.如果属性被添加或者被删除,该方法返回属性的值.如果属性被替换,该方法返回属性先前的值.
public HttpSession getSession()
返回HttpSession对象.
分享到:
相关推荐
在Java Web开发中,Servlet监听器(Servlet Listener)扮演着重要的角色,它是Servlet规范的一部分,允许开发者对Web应用程序中的特定事件进行监听和响应。在这个范例中,我们将深入探讨如何利用监听器来统计在线...
Servlet监听器是Java Web开发中的一个重要概念,它允许开发者在特定的Servlet容器事件发生时执行相应的代码。在本文中,我们将深入探讨Servlet监听器的工作原理、配置和使用,结合具体的"web.xml"配置以及JSP页面的...
Servlet监听器技术是Java Servlet规范中的一项重要特性,它允许开发者在特定的Servlet容器事件发生时执行自定义的代码逻辑。这些事件可以包括Web应用程序的初始化、终止,或者是Servlet或Servlet上下文...
Java Servlet监听器(Listener)是Java Web开发中的一个重要组件,它们允许开发者在特定事件发生时执行自定义逻辑,而无需直接修改原有的业务代码。监听器是Servlet规范的一部分,通过实现特定的接口,开发者可以...
"Servlet监听器在基于移动Web在线考试系统中的应用" Servlet监听器是Servlet规范中定义的一种特殊类,用于监听Web应用程序中的ServletContext、HttpSession和ServletRequest等域对象的创建与销毁事件,以及这些域...
Servlet监听器是Java Web开发中的一个重要概念,它允许开发者在特定事件发生时执行代码,比如在Web应用程序启动、停止时,或者在用户会话创建、销毁时。这为程序员提供了更多的控制权,使得他们能够更好地管理和监控...
Servlet监听器是Java Web开发中的一种关键组件,主要用于监控和响应Web应用程序中的特定事件。它们是Servlet规范中定义的特殊类,能够监听ServletContext、HttpSession和ServletRequest等域对象的生命周期事件,以及...
Servlet监听器是Java Web开发中的一个重要概念,它允许开发者在特定事件发生时执行代码,比如在Web应用程序启动、停止,或者在某个Servlet被创建或销毁时。在这个“servlet监听器实现踢人小案例”中,我们将探讨如何...
JAVA Servlet监听器是指在Servlet容器中,用于监听一些重要事件的发生,监听器对象可以在事情发生前、发生后做一些必要的处理。监听器可以分为多种类型,每种类型都有其特定的应用场景和用途。 ...
### IBM Servlet监听器课件知识点概述 #### 一、Servlet监听器定义与作用 - **定义**: Servlet监听器是一种特殊类型的Java类,用于监听并响应Web应用中的特定事件或状态变化。 - **作用**: - 监听Web模块的状态...
### Servlet监听器总结 #### 一、Listener概念与作用 - **定义**:在Java Web开发中,Listener(监听器)是一种特殊的组件,主要用于监听容器内的特定事件,并根据这些事件的发生执行相应的处理逻辑。 - **功能**...
Servlet监听器是Java Web开发中的一个重要概念,它们是Servlet API的一部分,允许开发者在特定的Servlet容器事件发生时执行代码。这些事件可以是Web应用程序启动、关闭,或者与HTTP会话相关的事件,如创建、销毁或...
Servlet监听器是Java Web开发中的一个重要概念,它允许开发者在特定事件发生时执行代码,比如在Web应用程序启动或停止时,或者在某个Servlet实例被创建或销毁时。本教程将深入探讨Servlet监听器的工作原理、类型以及...
在Java Web开发中,Servlet监听器(Servlet Listeners)是一种重要的组件,它们可以在特定的事件发生时被调用,比如Web应用的初始化、用户会话的创建或销毁等。在这个例子中,我们将探讨如何利用Servlet监听器在系统...
在本文中,我们将深入探讨Java EE(J2EE)中的Servlet监听器以及它们在Web应用程序中的作用,特别是在访问人数统计和引入MVC模式方面。首先,让我们了解什么是Servlet监听器。 Servlet监听器是Java Servlet规范的一...
servelt 监听器 class MyRequest extends HttpServletRequestWrapper { public MyRequest(HttpServletRequest request) { super(request); } public String MyEncoding(String value) { String value...
servlet过滤器和监听器,servlet过滤器和监听器课件,servlet过滤器和监听器PPT