JAVA监听器Listener
JAVA监听器Listener
一、 简介
监听器用于对web中内置对象的状态或者属性变化进行监听并做出相应响应的一种Servlet;在内置对象的生命周期中,产生、销毁等状态发生变化时,监听器就会进行监听并做出响应,当内置对象的属性发生增加,删除,修改等变化时,监听器也会做出相应响应。
二、 分类
ServletContext对象监听器
HttpSession对象监听器
ServletRequest对象监听器
三、 如何配置监听器
在web.xml中添加:
<listener>
<listener-class>com.zsl33.mvc.listener.RequestListener</listener-class>
<listener-class>com.zsl33.mvc.listener.SessionListener</listener-class>
<listener-class>com.zsl33.mvc.listener.ApplicationListener</listener-class>
</listener>
使用注解进行配置:
在监听器类上加上
@WebListener
四、 接口
Session监听器类对Session状态进行监听需要实现javax.servlet.http.HttpSessionListener 接口,对Session属性进行监听则需要实现``` javax.servlet.http.HttpSessionAttributeListener 接口
实例:
@WebListener
public class SessionListener implements HttpSessionListener,HttpSessionAttributeListener{
@Override
public void attributeAdded(HttpSessionBindingEvent arg0) {
// TODO Auto-generated method stub
System.out.println("session增加:"+arg0.getSession().getId());
}
@Override
public void attributeRemoved(HttpSessionBindingEvent arg0) {
// TODO Auto-generated method stub
System.out.println("session删除:"+arg0.getSession().getId());
}
@Override
public void attributeReplaced(HttpSessionBindingEvent arg0) {
// TODO Auto-generated method stub
System.out.println("session替换:"+arg0.getSession().getId());
}
@Override
public void sessionCreated(HttpSessionEvent arg0) {
// TODO Auto-generated method stub
System.out.println("session创建:"+arg0.getSession().getId());
}
@Override
public void sessionDestroyed(HttpSessionEvent arg0) {
// TODO Auto-generated method stub
System.out.println("session销毁:"+arg0.getSession().getId());
}
}
Request监听器类对Request状态进行监听需要实现javax.servlet.ServletRequestListener 接口,对Request属性进行监听需要实现
javax.servlet.ServletRequestAttributeListener 接口
实例:
@WebListener
public class RequestListener implements ServletRequestListener,ServletRequestAttributeListener{
@Override
public void requestDestroyed(ServletRequestEvent arg0) {
// TODO Auto-generated method stub
System.out.println("监听:Request内置对象销毁");
}
@Override
public void requestInitialized(ServletRequestEvent arg0) {
// TODO Auto-generated method stub
System.out.println("监听:Request内置对象初始化");
}
@Override
public void attributeAdded(ServletRequestAttributeEvent arg0) {
// TODO Auto-generated method stub
System.out.println("监听:新增:"+arg0.getName()+":"+arg0.getValue());
}
@Override
public void attributeRemoved(ServletRequestAttributeEvent arg0) {
// TODO Auto-generated method stub
System.out.println("监听:删除:"+arg0.getName()+":"+arg0.getValue());
}
@Override
public void attributeReplaced(ServletRequestAttributeEvent arg0) {
// TODO Auto-generated method stub
System.out.println("监听:替换:"+arg0.getName()+":"+arg0.getValue());
}
}
Application监听器类对Application对象状态进行监听,需要实现javax.servlet.ServletContextListener 接口,对Application对象属性进行监听需要实现
javax.servlet.ServletContextAttributeListener 接口;
实例:
@WebListener
public class ApplicationListener implements ServletContextListener,ServletContextAttributeListener{
@Override
public void contextDestroyed(ServletContextEvent arg0) {
System.out.println("监听:Application内置对象销毁");
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
System.out.println("监听:Application内置对象初始化");
}
@Override
public void attributeAdded(ServletContextAttributeEvent arg0) {
System.out.println("监听:新增:"+arg0.getName()+":"+arg0.getValue());
}
@Override
public void attributeRemoved(ServletContextAttributeEvent arg0) {
System.out.println("监听:删除:"+arg0.getName()+":"+arg0.getValue());
}
@Override
public void attributeReplaced(ServletContextAttributeEvent arg0) {
System.out.println("监听:替换:"+arg0.getName()+":"+arg0.getValue());
}
}
JAVA监听器Listener的更多相关文章
- Java监听器listener的介绍
Java监听器listener的介绍 listener 能做什么 当web中某些动作发生之后,服务器就调用listener中对应的方法. 内部机制 接口回调 Web监听器 步骤 创建需要的监听器类,实 ...
- Java监听器Listener使用说明
转载:http://blog.csdn.net/meng2602956882/article/details/13511587 1.什么是Java监听器 监听器也叫Listener,是Servlet的 ...
- Java监听器Listener使用详解
监听器用于监听web应用中某些对象.信息的创建.销毁.增加,修改,删除等动作的发生,然后作出相应的响应处理.当范围对象的状态发生变化的时候,服务器自动调用监听器对象中的方法.常用于统计在线人数和在线用 ...
- Java监听器Listener的使用详解
监听器用于监听Web应用中某些对象的创建.销毁.增加,修改,删除等动作的发生,然后作出相应的响应处理.当监听范围的对象的状态发生变化的时候,服务器自动调用监听器对象中的方法.常用于统计网站在线人数.系 ...
- java之Servlet监听器Listener
常用应用场景:单点登录.统计在线人数 一.简介 (一)概述 1.Listener 用于监听 java web程序中的事件,例如创建.修改.删除Session.request.context等,并触发响 ...
- java监听器(Listener)学习笔记
现在来说说Servlet的监听器Listener,它是实现了javax.servlet.ServletContextListener 接口的服务器端程序,它也是随web应用的启动而启动,只初始化一次, ...
- 【java web】监听器listener
一.简介 Java的监听器,也是系统级别的监听.监听器随web应用的启动而启动.Java的监听器在c/s模式里面经常用到,它会对特定的事件产生产生一个处理.监听在很多模式下用到,比如说观察者模式,就是 ...
- JAVA监听器原理
http://blog.csdn.net/longyulu/article/details/25054697 JAVA监听器原理 标签: 监听器 2014-05-05 15:40 9070人阅读 评论 ...
- javaweb学习总结(四十七)——监听器(Listener)在开发中的应用
监听器在JavaWeb开发中用得比较多,下面说一下监听器(Listener)在开发中的常见应用 一.统计当前在线人数 在JavaWeb应用开发中,有时候我们需要统计当前在线的用户数,此时就可以使用监听 ...
随机推荐
- masonry布局说明
这个要根据情况而定,有时会很有用的. setContentHuggingPriority: 优先级越高,代表压缩越厉害,越晚被拉伸.就是上图中那人拉的力量更强. setContentCompressi ...
- Express全系列教程之(九):将session上传至mysql数据库
一.简介 实际引用中,有些公司在不同地区会设置不同服务器,因此就需要用到nginx以实现负载均衡,这时,将session数据保存至数据库就成为了需要面对的问题,我们以MySQL数据库为例,看看他是如何 ...
- SENG201 (Software Engineering I) Project
SENG201 (Software Engineering I) ProjectSpace ExplorerFor project admin queries:For project help, hi ...
- python基础之类的多态与多态性
原文链接:https://www.cnblogs.com/luchuangao/p/6739557.html 很多人喜欢将多态与多态性二者混为一谈,然后百思不得其解,其实只要分开看,就会很明朗. 一 ...
- mysql8.0.13免安装版配置
一.下载 下载地址:https://dev.mysql.com/downloads/mysql/ 二.解压到某个目录,例如:D:/mysql/mysql-8.0.13-winx64 三.配置环境变量 ...
- Elasticsearch学习笔记(五)索引元数据和集群元数据
一.索引元数据 执行:GET /ecommerce/product/1 返回结果: { "_index": "ecommerce", "_ty ...
- ES6 Symbol数据类型和set-map 数据结构
Symbol数据类型 ES6新加的数据类型,提供一个独一无二的值 { let a1 = Symbol() ;let a2 = Symbol() } //声明 { let a3 = Symbol.for ...
- Centos7 初始化硬盘分区、挂载
1.通过命令fdisk-l查看硬盘信息 可以看到有两块硬盘/dev/vda和/dev/vdb,启动vda是系统盘vdb是我们新增的数据盘. 2.执行以下命令,进入fdisk模式,开始对新增数据盘执行分 ...
- nginx中的超时设置,请求超时、响应等待超时等
nginx比较强大,可以针对单个域名请求做出单个连接超时的配置. 比如些动态解释和静态解释可以根据业务的需求配置 proxy_connect_timeout :后端服务器连接的超时时间_发起握手等候响 ...
- 2018-2019-2 20175211 实验二《Java面向对象程序设计》实验报告
目录 代码托管 一.单元测试 (1)三种代码 二.TDD(Test Driven Development,测试驱动开发) 三.面对对象三要素 四.练习 五.问题及解决 六.PSP 代码托管 一.单元测 ...