监听器的使用

 * 监听器的使用:*   作用:*        监听作用域对象request、session、application的创建、销毁和内容的改变*     使用:*        创建一个实现了指定接口的java类*          监听request--->ServletRequestListener  监听request对象的创建和销毁*              requestInitialized(ServletRequestEvent sre)//创建*                requestDestroyed(ServletRequestEvent sre)//销毁*              注意:*                    形参可以获取监听的request对象*                     sre.getServletRequest();*           监听request--->ServletRequestAttributeListener  监听request作用域数据的变更。attributeAdded(ServletRequestAttributeEvent srae)*               attributeRemoved(ServletRequestAttributeEvent srae) *               attributeReplaced(ServletRequestAttributeEvent srae)*               注意:形参可以获取被监听的数据  *                   srae.getName()  获取监听数据的键*                   srae.getValue() 获取监听数据的值*           监听session--->HttpSessionListener 监听session的创建和销毁*                sessionCreated(HttpSessionEvent se)  创建*                sessionDestroyed(HttpSessionEvent se) 销毁*               注意:形参可以获取被监听的session对象*                  se.getSession();*           监听session--->HttpSessionAttributeListener 监听session数据的变更*                attributeAdded(HttpSessionBindingEvent event)*              attributeRemoved(HttpSessionBindingEvent event)*                attributeReplaced(HttpSessionBindingEvent event)*               注意:形参可以获取被监听的数据*                    event.getName()     获取数据的键名*                    event.getValue()    获取数据的值*         监听application--->ServletContextListener 监听application对象的初始化和销毁*              contextInitialized(ServletContextEvent sce) 初始化    服务器启动*               contextDestroyed(ServletContextEvent sce)   销毁       服务器关闭*             注意:*                 形参可以获取当前application对象。*                 sce.getServletContext();监听application--->ServletContextAttributeListener 监听数据的变更attributeAdded(ServletContextAttributeEvent event)*                  attributeRemoved(ServletContextAttributeEvent event)*                   attributeReplaced(ServletContextAttributeEvent event)*              注意:*                 形参可以获取当前监听的数据*                  event.getName()  获取数据的键名*                   event.getValue() 获取数据的值*        在web.xml中配置监听器类*            <listener><listener-class>com.bjsxt.listener.MyListener</listener-class></listener>案例:统计当前在线人数。统计网页浏览器次数。
package com.bjsxt.listener;import javax.servlet.ServletContextAttributeEvent;
import javax.servlet.ServletContextAttributeListener;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.ServletRequestAttributeEvent;
import javax.servlet.ServletRequestAttributeListener;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
/*** 监听器的使用*/
public class MyListener implements ServletRequestListener,ServletRequestAttributeListener,HttpSessionListener,HttpSessionAttributeListener,ServletContextListener,ServletContextAttributeListener{//request对象销毁@Overridepublic void requestDestroyed(ServletRequestEvent sre) {System.out.println("我被销毁了");}//request对象创建@Overridepublic void requestInitialized(ServletRequestEvent sre) {System.out.println("我被创建了");}//监听request作用域数据的添加@Overridepublic void attributeAdded(ServletRequestAttributeEvent srae) {System.out.println("request中增加了一条数据-"+srae.getName()+":"+srae.getValue());}@Overridepublic void attributeRemoved(ServletRequestAttributeEvent srae) {// TODO Auto-generated method stub}@Overridepublic void attributeReplaced(ServletRequestAttributeEvent srae) {// TODO Auto-generated method stub}
/*------------------------------------------------------------------------------*///监听session的创建@Overridepublic void sessionCreated(HttpSessionEvent se) {System.out.println("session被创建了");}//监听session的销毁@Overridepublic void sessionDestroyed(HttpSessionEvent se) {System.out.println("session被销毁了");}//监听session数据的表更@Overridepublic void attributeAdded(HttpSessionBindingEvent event) {System.out.println("session中增加了一条数据"+event.getName()+":"+event.getValue());}@Overridepublic void attributeRemoved(HttpSessionBindingEvent event) {// TODO Auto-generated method stub}@Overridepublic void attributeReplaced(HttpSessionBindingEvent event) {// TODO Auto-generated method stub}
/*------------------------------------------------------------------------------*/@Overridepublic void contextInitialized(ServletContextEvent sce) {System.out.println("application对象被初始化了");}@Overridepublic void contextDestroyed(ServletContextEvent sce) {System.out.println("application对象被销毁了");}//监听application的数据变更@Overridepublic void attributeAdded(ServletContextAttributeEvent event) {System.out.println("application中存储了数据:"+event.getName()+":"+event.getValue());}@Overridepublic void attributeRemoved(ServletContextAttributeEvent event) {// TODO Auto-generated method stub}@Overridepublic void attributeReplaced(ServletContextAttributeEvent event) {// TODO Auto-generated method stub}
}

【Servlet】Listener监听器相关推荐

  1. 【Servlet】Java Serlvet Listener 监听器

    Listener监听器 Servlet规范中定义的一种特殊的组件,用来监听Servlet容器产生的事件并进行相应的处理 容器产生的事件分类- 生命周期相关的事件- 设置和删除Attribute数据相关 ...

  2. Listener 监听器

    Listener 监听器 前言:之前写了一篇关于Filter的文章:http://tianweili.github.io/blog/2015/01/26/java-filter/,现在再来一篇List ...

  3. 第 8 章 配置listener监听器

    第 8 章 配置listener监听器 注意 还记得我们之前讲过的在线列表吗?第 4.2 节 "例子:在线列表".我们曾经说过那个在线列表无法判断用户非法退出,很可能造成在线列表无 ...

  4. Filter(过滤器)、Listener(监听器)

    一: 过滤器: 可以把"不和谐"的东西给过滤掉 01.过滤器概述 生活中的过滤器:带有过滤功能的净水器,滤纸,香烟的过滤嘴,测试,丈母娘.程序中的过滤器:在JAVA中最小的程序单元 ...

  5. javaweb(11) Listener监听器与Filter过滤器

    javaweb(11) Listener监听器与Filter过滤器 Listener监听器 什么是Listener监听器 Listener 监听器它是 JavaWeb 的三大组件之一.JavaWeb ...

  6. spring listener监听器

    1.Listener的定义与作用 监听器Listener就是在application,session,request三个对象创建.销毁或者往其中添加修改删除属性时自动执行代码的功能组件. Listen ...

  7. Java中的Listener监听器与Ajax技术和Axios异步框架以及JSON传递接收数据

    Listener监听器与Ajax Listener 概念 Listener 表示监听器,是 JavaWeb 三大组件(Servlet.Filter.Listener)之一. 监听器可以监听就是在 ap ...

  8. web核心 8-filter过滤器 listener监听器 相对路径 绝对路径 项目名路径

    内容介绍 1.Filter过滤器 2.listener监听器 Filter过滤器 概述 web服务器端有三大技术:Servlet Filter Listener Servlet:本质上是一个类,这个类 ...

  9. 2011级-csdn-java-张侃— Servlet事件监听器

    监听器 l      监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行. l       ...

  10. Servlet/listener/filter应用大全

    服务器servlet/listener/filter 11 http/tomcat - http协议版本 使用最广泛的是1.1的版本.  它是一种请求 - 响应  模型的协议. 1.0请求 - 响应完 ...

最新文章

  1. (017)java后台开发之客户端通过HTTP获取接口Json数据
  2. python8皇后不攻击问题_Python八皇后问题(落最后一颗子)
  3. 模型算法_数据分析师,要懂多少算法模型?
  4. Spring Boot log4j多环境日志级别的控制
  5. HBase(2) Java 操作 HBase 教程
  6. 我爱我家:旗下APP已全面兼容鸿蒙系统
  7. 虚拟化技术、云计算服务模式、Docker安装
  8. 《精通javascript》5,6章小结(一)
  9. 几种常见的 Kafka 集群监控工具
  10. Idea使用SVN教程
  11. python读音有道-[Python]通过有道词典API获取单词发音MP3
  12. C# 设置Word文本框中的文字旋转方向
  13. 贪吃蛇游戏 js网页版
  14. linux登录提示文件 motd 有趣的motd
  15. 若依图片上传到服务器,前端显示图片
  16. XSuperNEST套料引擎
  17. cpu选择K还是f?哪个更靠谱?
  18. 十六进制字符串转换为字节数组
  19. 【Web】分页简单实现
  20. n流水线m装配站调度问题

热门文章

  1. HihoCoder - 1829 Tomb Raider(暴力)
  2. android 动画动态消失,Android属性动画——没有什么动画是一个AnimSet不能解决的...
  3. 排序算法-07归并排序(python实现)
  4. 《openssl编程》之BIO
  5. (六)boost库之内存管理shared_ptr
  6. 动态语言和静态语言的比较
  7. 白话科普系列——最好用的浏览器 Chrome,你用了么?
  8. docker下安装Pillow模块
  9. 大图详解负载神器 LVS、Nginx及HAProxy工作原理
  10. Java集合框架:HashMap