Java Web监听器Listener接口原理及用法实例
监听器主要针对三个对象
- ServletContext
- HttpSession
- ServletRequest
使用方式
- 创建*Listener接口的实现类
- 在web.xml中注册该类
在同时注册多个同接口的监听器时,执行顺序参照web.xml中的注册顺序
- 监听器监听类型
- 对象的创建和销毁
- 对象属性的添加、替换、移除
创建实现类
// 用于监听session创建和销毁的监听器 package listener; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; public class SessionListener implements HttpSessionListener { @Override public void sessionCreated(HttpSessionEvent httpSessionEvent) { // 获取本次事件创建session的id String sessionId = httpSessionEvent.getSession().getId(); System.out.println("create session that id = " + sessionId); } @Override public void sessionDestroyed(HttpSessionEvent httpSessionEvent) { // 删除session的id String sessionId = httpSessionEvent.getSession().getId(); System.out.println("session has been destroy that id = " + sessionId); } }
在web.xml中注册
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>Archetype Created Web Application</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <listener> <!-- 在listener包下的SessionListener类 --> <listener-class>listener.SessionListener</listener-class> </listener> </web-app>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
快速学习JavaWeb中监听器(Listener)的使用方法
一.监听器介绍 1.1.监听器的概念 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动.监听器其实就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法立即被执行. 1.2.监听器案例--监听window窗口的事件监听器 package me.gacl.listener.demo; import java.awt.Frame; imp
-
JavaWeb监听器Listener实例解析
首先来介绍一下什么是监听器: 监听器-就是一个实现待定接口的普通Java程序,此程序专门用于监听另外一个类的方法调用. 这是使用观察者模式的. 什么是观察者模式: 定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知自动更新. 示例: GUI编程中的addXxxxListener都是观察者模式. 比如为按钮点击添加监听事件,为键盘添加监听等等- 观察者模式的三个重要类: 被监听的事件源,也就是我们在使用的对象. 注册的那个监听器,是专门用来监听当前使用的对象的.
-
java web监听器统计在线用户及人数
在线用户使用HttpSessionListener监听器统计 每当一个session会话建立 在线用户人数+1 每当一个session会话销毁 在线用户人数-1 使用ServletRequestListener监听器统计用户信息 每当一个request建立 将当前用户放入集合 每当session会话销毁 将当前用户移出集合 我使用的是Servlet3.0 监听器直接使用注解@webListener即可 不用在web.xml中布局 在web.xml中配置session-timeout标签
-
Javaweb监听器实例之统计在线人数
本文实例为大家分享了Javaweb统计在线人数示的具体代码,供大家参考,具体内容如下 1. 实现功能 统计在线人数 显示每个人的sessionId.Ip.第一次登录时间 2. 运用监听器种类 HttpSession ServletRequest 3. 实现思想 每一个用户对应着一个session,所以在每次session被创建时,num++: 实现一个用户类(sessionID.IP.Date) 获取IP地址的方法需要用request,所以我们要实现一个ServletRequest监听器 每一次
-
java web用servlet监听器实现显示在线人数
本文实例为大家分享了java web用servlet监听器实现显示在线人数,供大家参考,具体内容如下 1.创建一个监听器 package com.listener; import javax.servlet.ServletContext; import javax.servlet.http.HttpSessionAttributeListener; import javax.servlet.http.HttpSessionBindingEvent; //使用监听器实现显示在线人数 public
-
深入学习JavaWeb中监听器(Listener)的使用方法
一.监听域对象中属性的变更的监听器 域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信息事件的监听器. 这三个监听器接口分别是ServletContextAttributeListener, HttpSessionAttributeListener 和ServletRequestAttributeListener,这三个接口中都定义了三个方法来处理被监听对象中的属性的增加,删除和替换
-
Java Web监听器Listener接口原理及用法实例
监听器主要针对三个对象 ServletContext HttpSession ServletRequest 使用方式 创建*Listener接口的实现类 在web.xml中注册该类 在同时注册多个同接口的监听器时,执行顺序参照web.xml中的注册顺序 监听器监听类型 对象的创建和销毁 对象属性的添加.替换.移除 创建实现类 // 用于监听session创建和销毁的监听器 package listener; import javax.servlet.http.HttpSessionEvent;
-
Java设计模式之策略模式原理与用法实例详解
本文实例讲述了Java设计模式之策略模式原理与用法.分享给大家供大家参考,具体如下: 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换.策略模式让算法独立于使用它的客户而独立变化.其中JDK里面的TreeSet类和TreeMap类就用到了策略模式.这两个类是带排序的集合类,其中排序的规则就相当于策略模式里定义的一系列算法,而集合类就相当于是策略模式里的环境类,供用户使用,用只知道TreeSet和TreeMap是带排序的,至于怎么排序的,是由排序的算法决定的. 策略模式
-
JavaScript 接口原理与用法实例详解
本文实例讲述了JavaScript 接口原理与用法.分享给大家供大家参考,具体如下: js接口 意义: 提供一种以说明一个对象应该有哪些方法的手段. 接口是面向对象javascript程序员的工具箱中最有用的工具之一 接口的利弊: 对于一些中小型程序来说 使用接口很显然是不明智的,对项目来说接口的好处也不明显,只是徒增其复杂度而已. 对于接口的好处,那么显而易见 首先促进代码的重用,对于开发来讲,还可以告诉程序员那些类都使用了什么方法,如果你事先知道接口那么就减少了你在编码的时候对类与类之间冲突
-
Java设计模式之装饰模式原理与用法实例详解
本文实例讲述了Java设计模式之装饰模式原理与用法.分享给大家供大家参考,具体如下: 装饰模式能在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象.JDK中IO的设计就用到了装饰模式,通过过滤流对节点流进行包装来实现功能的扩展. 装饰模式的角色的组成: ① 抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加工功能的对象.(InputStream.OutputStream) ② 具体构件(Concrete Co
-
Java反射机制概念、原理与用法总结
本文实例讲述了Java反射机制概念.原理与用法.分享给大家供大家参考,具体如下: 反射机制是什么 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. 反射机制能做什么 反射机制主要提供了以下功能: ① 在运行时判断任意一个对象所属的类: ② 在运行时构造任意一个类的对象: ③ 在运行时判断任意一个类所具有的成员变量和方法: ④ 在运行时调用任意一个
-
Java web拦截器inteceptor原理及应用详解
这篇文章主要介绍了java web拦截器inteceptor原理及应用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.简介 java里的拦截器提供的是非系统级别的拦截,也就是说,就覆盖面来说,拦截器不如过滤器强大,但是更有针对性. Java中的拦截器是基于Java反射机制实现的,更准确的划分,应该是基于JDK实现的动态代理.它依赖于具体的接口,在运行期间动态生成字节码. 拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发
-
Java基础之Stream流原理与用法详解
目录 一.接口设计 二.创建操作 三.中间操作 四.最终操作 五.Collect收集 Stream简化元素计算 一.接口设计 从Java1.8开始提出了Stream流的概念,侧重对于源数据计算能力的封装,并且支持序列与并行两种操作方式:依旧先看核心接口的设计: BaseStream:基础接口,声明了流管理的核心方法: Stream:核心接口,声明了流操作的核心方法,其他接口为指定类型的适配: 基础案例:通过指定元素的值,返回一个序列流,元素的内容是字符串,并转换为Long类型,最终计算求和结果并
-
linux下用renameTo方法修改java web项目中文件夹名称的实例
经测试,在Linux环境中安装tomcat,然后启动其中的项目,在项目中使用java.io.File.renameTo(File dest)方法可行. 之前在本地运行代码可以修改,然后传到Linux服务器上一直无法实现功能,自己一直在捣鼓,以为是window环境和Linux环境不同的原因导致,后面发现在项目中使用renameTo方法修改文件夹名称不行是因为之前改了java web项目中的js,在js中传入值到后台,后台根据值来修改文件夹名称.由于没清除缓存导致js中的代码没有刷新,所以一直出现错
-
java公众平台通用接口工具类HttpConnectUtil实例代码
实例如下: package com.common.util; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.ConnectException; import java.net.HttpURLConnection; import java.net.URL; import
-
Java延迟队列原理与用法实例详解
本文实例讲述了Java延迟队列原理与用法.分享给大家供大家参考,具体如下: 延时队列,第一他是个队列,所以具有对列功能第二就是延时,这就是延时对列,功能也就是将任务放在该延时对列中,只有到了延时时刻才能从该延时对列中获取任务否则获取不到-- 应用场景比较多,比如延时1分钟发短信,延时1分钟再次执行等,下面先看看延时队列demo之后再看延时队列在项目中的使用: 简单的延时队列要有三部分:第一实现了Delayed接口的消息体.第二消费消息的消费者.第三存放消息的延时队列,那下面就来看看延时队列dem
随机推荐
- canvas+gif.js打造自己的数字雨头像的示例代码
- PHP实现服务器状态监控的方法
- scp 将数据从一台linux服务器复制到另一台linux服务器
- AngularJS之页面跳转Route实例代码
- DOS 概述及入门
- java累加和校验实现方式16进制(推荐)
- 浅谈java 增强型的for循环 for each
- asp中通过getrows实现数据库记录分页的一段代码
- node.js中的querystring.escape方法使用说明
- node.js中的http.response.removeHeader方法使用说明
- 可以用IE轻松远程控制对方电脑的软件 motelyAnywhere 安装使用图文教程
- Jquery模仿Baidu、Google搜索时自动补充搜索结果提示
- 在RedHat系统上安装JDK与Tomcat的步骤
- Spring Boot 编写Servlet、Filter、Listener、Interceptor的方法
- StackTraceElement获取方法调用栈信息实例详解
- 简单实现Android数独游戏
- Android自定义控件EditText使用详解
- 如何在Linux中设置快捷方式图标
- springboot后端解决跨域问题
- idea 离线安装lombok插件的方法步骤(图文)