- 浏览: 57587 次
- 来自: 北京
最新评论
-
泛泛evil:
总结的很好,谢谢分享
JavaScript -
wanxkl:
哇!总结的太好了。。凤哥哥,你好强大啊。。请问您跟凤姐什么关系 ...
css应用
监听器概述
1.Listener是Servlet的监听器
2.可以监听客户端的请求、服务端的操作等。
3.通过监听器,可以自动激发一些操作,如监听在线用户数量,当增加一个HttpSession时,给在线人数加1。
4.编写监听器需要实现相应的接口
5.编写完成后在web.xml文件中配置一下,就可以起作用了
常用的监听接口
应用事件模型提供了当ServletContext,HttpSession,ServletRequest状态改变时的通知功能。可以编写事件监听类来响应这些状态的改变,并且可以配置和部署应用事件和监听类到Web应用。
对于ServletContext事件,当Web应用部署、卸载和对context增加属性时,事件监听类可以得到通知。下表列出了ServletContext的事件类型,对应特定事件的监听类必须实现的接口和当事件发生时调用的方法。
事件类型 |
接口 |
方法 |
Servlet context被创建 |
javax.servlet.ServletContextListener |
contextInitialized() |
Servlet context被注销 |
javax.servlet.ServletContextListener |
contextDestroyed() |
增加属性 |
javax.servlet. ServletContextAttributeListener |
attributeAdded() |
删除属性 |
javax.servlet. ServletContextAttributeListener |
attributeRemoved() |
属性被替换 |
javax.servlet. ServletContextAttributeListener |
attributeReplaced() |
对于HttpSession事件,当session激活、删除或者session属性的增加、删除和替换时,事件监听类得到通知。下表列出了HttpSession的事件类型,对应特定事件的监听类必须实现的接口和当事件发生时调用的方法。
事件类型 |
接口 |
方法 |
session激活 |
javax.servlet.http. HttpSessionListener |
sessionCreated() |
session删除 |
javax.servlet.http. HttpSessionListener |
sessionDestroyed() |
增加属性 |
javax.servlet.http. HttpSessionAttributeListener |
attributeAdded() |
删除属性 |
javax.servlet.http. HttpSessionAttributeListener |
attributeRemoved() |
属性被替换 |
javax.servlet.http. HttpSessionAttributeListener |
attributeReplaced() |
对于ServletRequest事件,当request初始化、销毁或者request属性的增加、删除和替换时,事件监听类得到通知。下表列出了ServletRequest的事件类型,对应特定事件的监听类必须实现的接口和当事件发生时调用的方法。
事件类型 |
接口 |
方法 |
Request初始化 |
javax.servlet.ServletRequestListener |
requestInitialized() |
request销毁 |
javax.servlet.ServletRequestListener |
requestDestroyed() |
增加属性 |
javax.servlet.ServletRequestAttributeListener |
attributeAdded() |
删除属性 |
javax.servlet.ServletRequestAttributeListener |
attributeRemoved() |
属性被替换 |
javax.servlet.ServletRequestAttributeListener |
attributeReplaced() |
配置事件监听类的步骤:
1. 打开Web应用的部署描述文件web.xml
2. 增加事件声明标记<listener>。事件声明定义的事件监听类在事件发生时被调用。<listener>标记必须在<filter>标记和<servlet>标记之间。可以为每种事件定义多个事件监听类,Apusic应用服务器按照它们在部署描述文件声明的顺序调用。例如:
<listener>
<listener-class>
com.puckasoft.video.servlet.TestSessionListener
</listener-class>
</listener>编写和部署监听类。
编写事件监听类
编写事件监听类的步骤:
1. 创建新的类并实现事件对应的接口
2. 定义不接受参数、访问属性为public的构造函数
3. 实现接口的方法
4. 编译并拷贝到对应Web应用的WEB-INF/classes目录下,或者打包成jar文件拷贝到WEB-INF/lib目录下
监控session创建和销毁的例子:
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
import com.puckasoft.video.util.InfoWebService;
public class TestSessionListener implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent arg0) {
System.out.println("系统创建了一个HttpSession对象");
InfoWebService.addSessionNum();
}
public void sessionDestroyed(HttpSessionEvent arg0) {
// TODO Auto-generated method stub
System.out.println("系统销毁了一个HttpSession对象");
InfoWebService.decreaseSessionNum();
}
}
其他知识点:
1. 属性监听器中可以通过event.getName(),得到所创建属性的名称,event.getValue()属性得到所创建属性的值。
2. 使用某个监听器时,除了要在web.xml里配置,还要在使用监听器的页面里<%@ page language="java" import="java.util.*,com.suppervideo.listener.UserAttrListener,com.suppervideo.listener.UserListener" pageEncoding="gbk"%>引入
3. 服务器决定与某个客户端开启一个会话 创建一个Session对象 只要开启一个 浏览器就会创建一个 session对象
4. 当 session被 remove 或是 session.invalidate()失效那么一个session被清除
发表评论
-
lucene3.0 例一
2012-09-11 20:18 657package com.lucene;import java. ... -
lucene3.0
2012-09-11 20:15 873全文搜索 核心:创建索引——查询索引--分词器 索引引擎: ... -
分布式存储(转载)
2012-06-05 15:42 1208L1、HTML静态化其实大家都知道,效率最高、消耗最小的 ... -
java设计原则
2012-04-05 16:50 832原则1:DRY(Don't repeat ... -
java静态、动态代理
2012-04-04 18:51 852JAVA的动态代理 代理模式 代理模式是常用的java设计模式 ... -
Hibernate声明事务
2011-09-17 16:25 899事务处理 第一种方式: 首先配置datasoure: ... -
javascript应用3
2011-09-10 15:14 956打开一个新页面:{ <script t ... -
javascript应用2
2011-09-10 15:09 899日期插件的应用:{ <script type=& ... -
javascript应用1
2011-09-10 15:00 976javascript {<!-- 1.j ... -
css应用
2011-09-10 14:59 903CSS 本章目标 1、CSS的定义、优势 2、css的基 ... -
Html
2011-09-10 14:56 928HTML 超链接:{ <a href=”http:/ ... -
jsp、el、jstl.doc
2011-09-10 14:53 1346serlvet和jsp区别和联系 jsp从本质上讲也是s ... -
Jdbc
2011-09-10 14:49 933jdbc操作数据库插入、更新、删除、查找 mysql数据 ... -
文件上传步骤
2011-09-10 14:47 767文件上传的简单方法:(原理性的实验) 1. <b ... -
中文乱码问题解决
2011-09-10 14:43 7551. post方式提交的数据 采用request.setCha ... -
事务传播特性与隔离级别
2011-09-10 14:38 805事务传播特性了解事务的几种传播特性 ... -
过滤器
2011-09-10 14:35 12521. Servlet过滤器基础 Servlet过滤器是Se ... -
web编程常用配置2
2011-09-10 14:35 720c3p0.jar:C3PO是一个数据库连接池,Hibern ... -
web编程常用配置1
2011-09-10 14:33 987mysql数据库jdbc驱动 jdbcDriver = co ... -
sql练习
2011-09-10 14:28 22711.oracle数据库启动的服 ...
相关推荐
Java监听器的实现和原理详解 Java监听器是一种非常重要的设计模式,在Java中广泛应用于事件驱动编程。监听器模式的主要思想是将事件源和事件处理器分离,使得事件源可以独立于事件处理器,提高了系统的灵活性和可...
监听器模式是Java设计模式中的一种行为型模式,主要用于监听某些事件的发生,并在事件发生时自动执行预定义的操作。在实际开发中,监听器模式可以用于多种场景,如UI事件处理、事件广播、异步通知等。 在监听器模式...
Oracle监听器是Oracle数据库系统的重要组成部分,它负责管理和控制数据库实例与客户端应用程序之间的网络通信。在Oracle数据库环境中,监听器是运行在服务器端的一个后台进程,它的主要职责是监听来自客户端的连接...
在Java Swing中,有多种类型的监听器,例如动作监听器(ActionListener)、鼠标监听器(MouseListener)、键盘监听器(KeyListener)和窗口监听器(WindowListener)等。例如,如果我们想要在用户点击按钮时执行某些...
在Android开发中,事件监听器(Event Listeners)是实现用户交互和响应各种事件的关键机制。标题提到的“android 外部类作为事件监听器类”是指将一个非匿名类(外部类)作为事件处理的对象,这在某些情况下可能是...
### Java监听器添加:四种监听器(内部、外部、内部匿名、自身) #### 一、引言 在Java中,监听器(Listener)是事件处理机制的重要组成部分,它主要用于响应用户或其他组件产生的事件。根据实现方式的不同,可以...
在IT行业中,监听器(Listener)和过滤器(Filter)是两种非常重要的组件,它们在Web应用程序中扮演着不可或缺的角色。本文将详细讲解如何利用监听器进行访问计数以及通过过滤器来过滤非法字符,以确保系统的安全性...
### 基于RBAC与监听器机制设计作业管理软件 #### 一、项目背景与目标 本项目旨在设计一款适用于教育场景中的作业管理系统,利用角色基础的访问控制(Role-Based Access Control,简称RBAC)及监听器机制来实现安全...
1. **创建监听器类**:你需要创建一个类,并实现相关事件监听器接口。例如,如果你要处理鼠标事件,可以创建一个类实现MouseListener接口。 ```java public class MyMouseListener implements MouseListener { @...
### 如何配置Oracle监听器 在Oracle数据库管理与维护中,正确配置监听器是确保数据库服务正常运行的关键步骤之一。监听器的主要职责是接收客户端连接请求,并将其分发到相应的数据库实例。如果监听器配置不当,则会...
在Java GUI编程中,AWT和Swing提供了多种类型的监听器,如动作监听器(ActionListener)、鼠标监听器(MouseListener)、键盘监听器(KeyListener)以及组件监听器(ComponentListener)等。这些监听器允许我们对...
在JavaServer Faces (JSF)框架中,监听器和转换器是两个重要的组件,它们用于增强用户界面与后台数据处理的交互。在这个项目中,我们深入探讨了如何在JSF中有效地利用这两种机制。 首先,我们要理解JSF监听器的作用...
"Oracle 监听器深入讲解" Oracle 监听器是 Oracle 数据库的核心组件之一,负责管理 Oracle 数据库和客户端之间的通讯。下面是 Oracle 监听器的详细知识点: 1. Oracle 监听器概念 Oracle 监听器是一个独立的操作...
事件监听器的实现方式有多种,本篇文章将介绍四种常见的事件监听器实现方式:自身类作为事件监听器、外部类作为事件监听器、匿名内部类作为事件监听器和内部类作为事件监听器。 1. 自身类作为事件监听器 在这个...
### Java监听器和过滤器详解 #### 监听器概念及分类 监听器在Java Web开发中扮演着非常重要的角色,主要用于监听特定容器事件的发生,比如服务器对象的创建与销毁等,并根据这些事件做出相应的处理。它的工作原理...
当范围对象的状态发生变化的时候,服务器自动调用监听器对象中的方法。 例如:创建一个“人”类Class Person 人拥有吃的方法public void eat(){},我们的目的是,在这个人吃之前要提醒他洗手,所以我们要...
Web监听器是Java Web应用程序中的一个重要组件,它们允许开发者在特定事件发生时执行代码,比如在Servlet上下文初始化或销毁时、用户会话创建或结束时等。在Java Web开发中,监听器通过实现特定接口并配置在`web.xml...
在Java Web开发中,监听器(Listener)是不可或缺的一部分,它们可以用来监听应用程序中的特定事件,比如用户登录、会话创建或销毁等。本项目"一个简单的监听器案例项目"旨在帮助开发者理解如何在实际应用中使用监听...
### Java监听器基础知识与实践 #### 一、Java监听器概念 在Java中,监听器是一种用于处理特定事件的对象。当某个事件发生时(如按钮点击、键盘输入等),监听器将被调用来执行相应的操作。Java中的监听器机制是基于...
PLSQL配置监听器 PLSQL配置监听器是指在Oracle服务器上配置监听器,以便于远程访问数据库。监听器是Oracle Net组件之一,负责监听来自客户端的连接请求,并将其路由到相应的数据库实例。 在配置监听器之前,需要...