`

Java的监听器种类

阅读更多
Listener是Servlet的监听器,它可以监听客户端的请求、服务端的操作等。(通过监听器,可以自动激发一些操作,比如监听在线的用户的数量。当增加一个HttpSession时,就激发 sessionCreated(HttpSessionEvent se)方法,这样就可以给在线人数加1。)

Servlet 监听器用于监听一些重要事件的发生,监听器对象在事情发生前、发生后可以做一些必要的处理。

目前 Servlet2.4 和 JSP2.0 常用的有7 个监听器接口,分为3 类:

1. Servlet上下文进行监听(Application级)
用于监听 ServletContext 对象的创建和删除以及属性的添加、删除和修改等操作,该监听器需要用到如下两个接口类:
(1) ServletContextAttributeListener:监听对 ServletContext 属性的操作,比如增加、删除、修改
      attributeAdded(ServletContextAttributeEvent e)             添加属性时调用   
      attributeReplaced(ServletContextAttributeEvent e)        修改属性时调用   
      attributeRemoved(ServletContextAttributeEvent e)        删除属性时调用

(2) ServletContextListener:监听对 ServletContext  对象的创建和删除
      contextInitialized(ServletContextEvent sce)          初始化时调用   
      contextDestroyed(ServletContextEvent sce)        销毁时调用,即当服务器重新加载时调用

2. 监听HTTP会话(Session级)
用于监听 HTTP 会话活动情况和 HTTP 会话中的属性设置情况,也可以监听 HTTP 会话的 active 和 passivate 情况等,该监听器需要用到如下多个接口类:
(1) HttpSessionListener:监听 HttpSession 的操作
      sessionCreate(HttpSessionEvent se)         初始化时调用;
      sessionDestroyed(httpSessionEvent se)    销毁时调用,即当用户注销时调用
  
   package com.wl.listener.test;

import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

public class HttpSessionListenerTest implements HttpSessionListener {

	public void sessionCreated(HttpSessionEvent arg0) {
		
            System.out.println("SSSSSSSSSSSSSSSSSS");
	}

	public void sessionDestroyed(HttpSessionEvent arg0) {
				 
            System.out.println("EEEEEEEEEEEEEEEEEEE");
	}

}


在Web.xml的配置如下:
<listener>
      <listener-class>com.wl.listener.test.HttpSessionListenerTest</listener-class>
  </listener>


(2) HttpSessionActivationListener:用于监听 HTTP 会话的 active 和 passivate 情况

(3) HttpSessionAttributeListener:监听 HttpSession 中的属性操作
      attributeAdded(HttpSessionBindingEvent se)         添加属性时调用
      attributeRemoved(HttpSessionBindingEvent se)    删除属性时调用
      attributeReplaced(HttpSessionBindingEvent se)    修改属性时调用

3. 对客户端请求进行监听(Requst级)
用于对客户端的请求进行监听是在 Servlet2.4 规范中新添加的一项新技术,使用的接口如下:
(1) ServletRequestListener 接口类
       requestDestroyed(ServletRequestEvent e)       对销毁客户端进行监听,即当执行 request.removeAttribute("xxx") 时调用
       requestInitialized(ServletRequestEvent e)         对实现客户端的请求进行监听
package com.wl.listener.test;

import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;

public class ServletRequestListenerTest implements ServletRequestListener {

	public void requestDestroyed(ServletRequestEvent arg0) {

		System.out.println("ServletRequestListenerTest is destroyed .......");
	}

	public void requestInitialized(ServletRequestEvent arg0) {

		System.out.println("ServletRequestListenerTest is start .......");
	}

}


在Web.xml中添加如下配置:
   <listener>
      <listener-class>com.wl.listener.test.ServletRequestListenerTest</listener-class>
  </listener>


(2) ServletRequestAttributeListener 接口类
       attributeAdded(ServletRequestAttributeEvent e)         对属性添加进行监听
       attributeRemoved(ServletRequestAttributeEvent e)    对属性删除进行监听
       attributeReplaced(ServletRequestAttributeEvent e)    对属性替换进行监听

参考资料:http://blog.csdn.net/yxl2005play/archive/2010/01/10/5170077.aspx
        http://blog.csdn.net/opnmzxcvb/archive/2009/09/15/4554329.aspx
分享到:
评论

相关推荐

    java监听器和过滤器详解

    ### Java监听器和过滤器详解 #### 监听器概念及分类 监听器在Java Web开发中扮演着非常重要的角色,主要用于监听特定容器事件的发生,比如服务器对象的创建与销毁等,并根据这些事件做出相应的处理。它的工作原理...

    Java的监听器种类.pdf

    Java的监听器在Web开发中扮演着重要的角色,它们允许开发者在特定事件发生时执行相应的操作,而无需直接编写事件触发的代码。这些监听器主要用于Servlet容器,如Tomcat,它们是Java Servlet API的一部分,能够监控和...

    【动力节点】Javaweb开发视频教程之监听器

    教程名称: 【动力节点】Javaweb开发视频教程之监听器 动力节点推出的Java视频教程包含两大部分内容:第一部分为监听器相关设计模式的详解。其中包括观察者设计模式、监听器设计模式。第二部分为监听器用法。详细...

    java家庭收支器系统

    监听器模式是Java AWT和Swing图形用户界面(GUI)库中的核心概念,它遵循了设计模式中的观察者模式,使得组件能够动态响应用户的交互行为。 首先,我们来了解一下Java的事件处理模型。在Java GUI中,事件源(Event ...

    javaEE监听器

    JavaEE监听器是Java企业版(Java Enterprise Edition)中的一项重要特性,主要用于增强应用程序服务器的事件处理能力。在JavaEE环境中,监听器是实现特定功能的特殊类,它们可以监听和响应应用程序中的特定事件,...

    Java监听器的作用及用法代码示例

    Java监听器是在Java Web开发中经常会用到的一种技术组件,它能够在特定的Java对象(比如Servlet上下文、会话、请求)创建、销毁或者属性被添加、删除或替换时自动执行指定的代码。使用监听器可以方便地实现某些功能...

    监听器.pdf

    分类:监听器可以分为三类: 1. 监听域对象的创建、销毁(第一类监听器) 2. 监听域对象中的属性变更(第二类监听器) 3. 监听域对象中的java对象的绑定(第三类监听器) Servlet监听器:监听器可以监听三个大域...

    servlet监听器总结

    - **定义**:在Java Web开发中,Listener(监听器)是一种特殊的组件,主要用于监听容器内的特定事件,并根据这些事件的发生执行相应的处理逻辑。 - **功能**:监听器能够监测到特定事件的发生,例如用户的登录与...

    动物识别系统 java

    本系统使用了 Java 语言的基础知识和一些核心类库,设计了一个图形用户界面,并实现了一个列表选择监听器和识别按钮。该系统是一个人工智能领域中的经典问题,涉及到动物识别和分类等方面的知识。

    Java基础 Servlet监听器详解

    Java Servlet监听器是Java Servlet API中的一个重要组成部分,它们允许开发者在Web应用的生命周期内的某些关键点添加自定义行为。具体来说,监听器可以监控Web应用中的三个主要对象:ServletContext(代表整个Web...

    servlet监听器

    2. Servlet监听器的分类: - 监听域对象创建和销毁的事件监听器:例如ServletContextListener、HttpSessionListener和ServletRequestListener,分别对应ServletContext、HttpSession和ServletRequest的创建和销毁。 ...

    java笔记 java笔记

    1. **编写**:使用文本编辑器编写源代码。 2. **编译**:使用`javac`命令将源代码编译成字节码(.class文件)。 3. **加载与执行**:通过Java虚拟机(JVM)加载字节码并解释执行。 #### 1.3 Java目录结构 Java开发环境...

    java期末考试简答题

    "Java期末考试简答题" Java 中的 final、finally、finalize 的...这些知识点涵盖了 Java 中的基本概念,包括变量、方法、异常、线程同步、事件监听器、构造方法、接口和变量的分类等,都是 Java 开发必备的知识点。

    java基础班和就业班视频

    - **监听器(Listener)**:了解监听器的作用及其实现方式。 #### 2. Java EE框架 - **Spring框架**:深入了解Spring框架的核心功能——依赖注入(DI)和面向切面编程(AOP)。 - **MyBatis框架**:学习MyBatis框架的基本...

    Java大一期末试卷含答案.doc

    12. **事件监听器**: 在Java GUI中,通过继承监听类或实现监听接口,并重写相应的方法来处理用户交互事件。 13. **JDBC**: JDBC是Java数据库连接接口,用于在Java程序中访问数据库的标准API。 14. **填空题...

    sip协议的java实现

    3. **定义SIP监听器**:实现`SipListener`接口,处理接收到的SIP消息,如请求、响应和事件。 4. **创建SIP会话**:使用`SipProvider`发送请求(如INVITE)来建立会话,同时处理响应以完成会话设置。 5. **管理媒体...

    Java 写的斗兽棋

    4. **事件驱动编程**:游戏通常涉及到用户输入,因此开发者需要理解和实现事件监听器,处理用户的点击或键盘输入,更新游戏状态。 5. **图形用户界面(GUI)**:为了使游戏可视,开发者可能使用Java的Swing或JavaFX...

    Java实现捕鱼达人游戏源码

    4. **事件处理**:Java中的事件监听器机制用于处理用户的点击、键盘输入等交互事件。例如,玩家点击屏幕发射子弹,需要监听鼠标点击事件,并执行相应的动作。 5. **动画与帧率控制**:游戏中的动态效果,如鱼的游动...

Global site tag (gtag.js) - Google Analytics