什么事web 监听器?

  • Servlet规范中定义的一种特殊类
  • 用于监听ServletContext、HttpSession和ServletRequest等象的创建与销毁的事件
  • 用监听域对象的属性发生修改的事件

web 监听器的常见用途:

  • 统计在线人数和在线用户
  • 系统启动时加载初始化信息
  • 统计网站访问量
  • 跟Sring结合

配置web监听器:

  • 创建一个实现监听接口的类

    import javax.servlet.ServletContextEvent;

    import javax.servlet.ServletContextListener;

    public class FirstListener implements ServletContextListener {

      @Override
      public void contextDestroyed(ServletContextEvent arg0) {

        System.out.println("context Destroyed!");
      }

      @Override
      public void contextInitialized(ServletContextEvent arg0) {
        System.out.println("context Initialized!");
      }

    }

  • 配置web.xml进行注册

    <!-- 注册web监听器 -->

    <listener>
      <listener-class>com.cgj.spring.mvc.listener.FirstListener</listener-class>
    </listener>

web监听器的启动顺序:

  • 一个web.xml中多个监听器,按注册的顺序启动
  • 加载优先级:监听器 > 过滤器 > Servlet

web监听器的分类:

  • 按监听的对象划分:

    监听应用程序环境对象(ServletContext)的事件监听器

    监听用户会话对象(HttpSession)的事件监听器

    监听请求消息对象(ServleRequest)的事件监听器

  • 按监听的事件划分:

    监听域对象自身的创建和销毁的事件监听器

      ServletContextListener:编写定时器、加载全局属性对象

      HttpSessionListener:统计在线人数、记录访问日志

      ServleRequestListener:读取请求参数、记录访问历史

    监听域对象的属性增加和删除的事件监听器

      方法:attributeAdded,attributrRemoved,attributeReplaced

      接口:ServletContextAttributeListener、HttpSessionAttributeListener、ServletRequestAttributeListener

    监听绑定到HttpSession域中的某个对象的状态的事件监听器(不需要在web.xml中注册,只需在对应类中实现相应的接口)

      HttpSessionBinDingListener:

        绑定:valueBound方法

        解除绑定:valueUnbound方法

      HttpSessionActivationListener(钝化和活化需要实现Serializable接口)

        钝化:sessionWillPasivate方法

        活化:sessionDidActivate方法

     (什么是Session钝化?

Servlet3.0下的监听器的用法:

  不需要在web.xml中注册只需要在,监听器的类上边加一个注解@WebListener("describe info");

  弊端:无法定义监听器的顺序,需要tomcat1.7及以上,jdk1.6及以上

Web 监听器的更多相关文章

  1. 在自定义的web监听器中嵌入web中的定时事件

    在 http://www.cnblogs.com/myadmin/p/4806265.html 中说明了自定义web监听器的一些东西. 本文中的web定时任务也基于上篇文章的自定义web监听器. 新建 ...

  2. Web监听器导图详解(转)

    阅读目录 Web监听器 监听器的分类 Servlet版本与Tomcat版本 getAttribute与getParameter的区别 参考 监听器是JAVA Web开发中很重要的内容,其中涉及到的知识 ...

  3. java Web监听器导图详解

    监听器是JAVA Web开发中很重要的内容,其中涉及到的知识,可以参考下面导图: Web监听器 1 什么是web监听器? web监听器是一种Servlet中的特殊的类,它们能帮助开发者监听web中的特 ...

  4. Web监听器导图详解

    监听器是JAVA Web开发中很重要的内容,其中涉及到的知识,可以参考下面导图: Web监听器 1 什么是web监听器? web监听器是一种Servlet中的特殊的类,它们能帮助开发者监听web中的特 ...

  5. Listener(Web监听器、活化、钝化)

    Web监听器 总共有8个 划分成三种类型 定义一个类,实现接口 注册 | 配置监听器 监听三个作用域创建和销毁 request -httpServletRequest session -httpSes ...

  6. java Web监听器实现定时发送邮件

    首先介绍java定时器(java.util.Timer)有定时执行计划任务的功能,通过设定定时器的间隔时间,会自动在此间隔时间后执行预先安排好的任务(java.util. TimerTask) 由于我 ...

  7. java Web 监听器Listener详解

    简介 JavaWeb中的监听器是Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext.HttpSession和 ServletRequest这三大域对象的创建 ...

  8. web监听器解析

    监听器是web三大组件之一,事件监听机制如下: 事件:某个事件,如果初始化上下文 事件源:事件发生的地方 监听器:一个对象,拥有需要执行的逻辑 注册监听:将事件.事件源.监听器绑定在一起.当事件源发生 ...

  9. 创建Java Web监听器

    之前从Java web一路学习过来,一直没有学习过Servlet容器类的一些高级用法,因为学完简单的JSP以及Servlet编写之后就开始了Spring的学习 对web应用的一些常用变量进行 appl ...

随机推荐

  1. BZOJ 2286 [Sdoi2011]消耗战 ——虚树

    虚树第一题. 大概就是建一颗只与询问有关的更小的新树,然后在虚树上DP #include <map> #include <ctime> #include <cmath&g ...

  2. [POJ1664] 放苹果 (动态规划,组合数学)

    题目描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分发(5,1,1和1,1,5是同一种方法) 输入输出格式 输入格式: 第一行是测试数据的数目t(0 <= ...

  3. bzoj2324 [ZJOI2011]营救皮卡丘 费用流

    [ZJOI2011]营救皮卡丘 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 2653  Solved: 1101[Submit][Status][D ...

  4. 如何禁止虚拟机自动获取DHCP分配的ip地址

    今天在看Hadoop视频学习的时候跟着视频里面修改ip地址,将虚拟机的ip地址修改为192.168.2.3,结果ifconfig显示ip地址为192.168.2.128,用物理主机去ping这两个ip ...

  5. 洛谷P2625 豪华游轮

    题目描述 有一条豪华游轮(其实就是条小木船),这种船可以执行4种指令: right X : 其中X是一个1到719的整数,这个命令使得船顺时针转动X度. left X : 其中X是一个1到719的整数 ...

  6. 标准C程序设计七---07

    Linux应用             编程深入            语言编程 标准C程序设计七---经典C11程序设计    以下内容为阅读:    <标准C程序设计>(第7版) 作者 ...

  7. 2017-10-23学大伟业Day1

    T1 叉叉 题目名称 叉叉 程序文件名 cross 输入文件名 cross.in 输出文件名 cross.out 每个测试点时限 1秒 内存限制 128MB 测试点数目 10 每个测试点分值 10 是 ...

  8. Python资料大全

    说明:以下文章为转载,有英文原文和中文整理翻译,对原作者和译者的工作表示极大感谢!!! 英文原文:https://github.com/vinta/awesome-python 中文译文:https: ...

  9. jQuery学习总结(一)——jQuery基础与学习资源

    前一段时间录了一套关于jQuery的视频分享给大家,可以在下载区下载到,本来想配合文字一起的,后面发现视频+帮助文档也是非常好的学习方法. 一.jQuery简介与第一个jQuery程序 1.1.jQu ...

  10. 移动端日历选择控件(支持Zepto和JQuery)

    移动端日历选择控件(支持Zepto和JQuery) <!DOCTYPE html> <html> <head> <meta charset="utf ...