监听器的使用:
       作用:
            监听作用域对象request、session、application的创建、销毁和内容的改变
       使用:
           创建一个实现了指定接口的类
               监听request----->ServletRequestListener    监听request对象的创建和销毁
                   requestInitialized(ServletRequestEvent sre)//创建
                   requestDestroyed(ServletRequestEvent sre)//销毁

注意:                
                             形参可以获取监听的request对象
                                 sre.getRequest()
               监听request----->ServletRequestAttributeListener 监听request作用域数据的变更
                      attributeAdded(ServletRequestAttributeEvent arg0)
                      attributeRemoved(ServletRequestAttributeEvent arg0)
                      attributeReplaced(ServletRequestAttributeEvent arg0)

注意:
                             形参可以获取被监听的数据
                                 arg0.getName() 获取监听数据的键
                                 arg0.getValue()获取监听数据的值
              监听session-----》HttpSessionListener   监听session对象的创建和销毁
                      sessionCreated(HttpSessionEvent arg0)  //创建
                      sessionDestroyed(HttpSessionEvent arg0) //销毁

        注意:arg0.getSession()
               监听session-----》HttpSessionAttributeListener   监听session作用域数据的变更
                      attributeAdded(HttpSessionBindingEvent arg0)
                      attributeRemoved(ServletRequestAttributeEvent arg0) 
                      attributeReplaced(HttpSessionBindingEvent arg0) 
          注意:形参可以获取被监听的数据

          arg0.getName()  获取数据的名称

          arg0.getValue() 获取数据的值
               监听application--->ServletContextListener        监听application对象的初始化和销毁
                      contextInitialized(ServletContextEvent arg0) //创建    服务器启动
                     contextDestroyed(ServletContextEvent arg0)     //销毁    服务器关闭
                     注意:
                         形参可以获取当前application对象
                             arg0.getServletContext(); 获取监听application对象
             监听application---->ServletContextAttributeListener 监听数据的变更
                     attributeAdded(ServletContextAttributeEvent arg0)    
                     attributeRemoved(ServletContextAttributeEvent arg0) 
                     attributeReplaced(ServletContextAttributeEvent arg0)
                         注意:
                             形参可以获取当前监听的数据
                                 arg0.getName()  获取数据的键名
                                 arg0.getValue()  获取数据的值

在web.xml中配置监听器类
         <listener>
                    <listener-class>com.bjsxt.listener.MyListener</listener-class>
       </listener>

  案例:

    统计网站在线人数

    统计网站浏览次数

Servlet----监听器的更多相关文章

  1. servlet监听器Listener(理论+例子)

    Listener采用了观察者模式(24种模式之一),Listener是servlet的监听器,他可以监听客户端的请求.服务器端的操作等, 通过监听器,可以自动激发一些操作.比如:监听在线用户数量 当增 ...

  2. [原创]java WEB学习笔记47:Servlet 监听器简介, ServletContext(Application 对象), HttpSession (Session 对象), HttpServletRequest (request 对象) 监听器,利用listener理解 三个对象的生命周期

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  3. JSP的Servlet监听器

    JSP的Servlet监听器 来源: http://blog.csdn.net/phoenix_17th/article/details/3868670 Servlet 监听器用于监听一些重要事件的发 ...

  4. Java进阶(十三)servlet监听器

    servlet监听器 Listener是Servlet的监听器,它可以监听客户端的请求.服务端的操作等.通过监听器,可以自动激发一些操作,比如监听在线的用户的数量.当 增加一个HttpSession时 ...

  5. 【Servlet】1、Servlet监听器及相关接口

    Servlet监听器用于监听一些重要事件的发生,监听器对象可以在事情发生前.发生后可以做一些必要的处理. 接口: 目前Servlet2.4和JSP2.0总共有8个监听器接口和6个Event类,其中Ht ...

  6. Servlet监听器统计在线人数

    监听器的作用是监听Web容器的有效事件,它由Servlet容器管理,利用Listener接口监听某个执行程序,并根据该程序的需求做出适应的响应. 例1 应用Servlet监听器统计在线人数. (1)创 ...

  7. Servlet监听器的使用

    Servlet监听器的使用 制作人:全心全意 在Servlet技术中已经定义了一些事件,并且可以针对这些事件来编写相关的事件监听器,从而对事件做出相应的处理.例如,想要在Web应用程序启动和关闭时来执 ...

  8. Servlet监听器——实现在线登录人数统计小例子

    一.概念 servlet监听器的主要目的是给web应用增加事件处理机制,以便更好的监视和控制web应用的状态变化,从而在后台调用相应处理程序. 二.监听器的类型 1.根据监听对象的类型和范围,分为3类 ...

  9. 【Servlet】Servlet监听器

    一.Servlet监听器的概念 Servlet监听器是Servlet规范中定义的一种特殊类,用于监听ServletContext.HttpSession和ServletRequest等域对象的创建与销 ...

  10. Servlet监听器详解及举例

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

随机推荐

  1. 第四章 栈与队列(c1)栈应用:进制转换

  2. JavaScript各种继承方式(二):借用构造函数继承(constructor stealing)

    一 原理 在子类的构造函数中,通过call ( ) 或 apply ( ) 的形式,调用父类的构造函数来实现继承. function Fruit(name){ this.name = name; th ...

  3. TypeScript之定义类型 ( type )

    键值对结构的对象 export type ValidationErrors = { [key: string]: any }; 联合类型(union type) export type HttpEve ...

  4. ACM-ICPC 2018 南京赛区网络预赛 G. Lpl and Energy-saving Lamps(二分+线段树区间最小)

    During tea-drinking, princess, amongst other things, asked why has such a good-natured and cute Drag ...

  5. 【Linux 线程】线程同步《二》

    1.读写锁 与互斥量类似,但读写锁允许更高的并行性.其特性为:写独占,读共享. 读写锁状态: 一把读写锁具备三种状态: (1)读模式下加锁状态 (读锁) (2)写模式下加锁状态 (写锁) (3)不加锁 ...

  6. 理解HTTP之keep-alive(转)

    理解HTTP之keep-alive 在前面一篇文章中讲了TCP的keepalive,这篇文章再讲讲HTTP层面keep-alive.两种keepalive在拼写上面就是不一样的,只是发音一样,于是乎大 ...

  7. Hibernate+struct web项目问题总结

    问题一: ClassTable is not mapped [from ClassTable] 解决办法:在添加资源路径 <mapping resource="***/***/***/ ...

  8. Linux系统不能解析域名

    问题:正在使用的Linux系统突然有一天不能解析域名gus.xxxxxxxx.com? # ping gus.xxxxxxxx.com ping: unknown host gus-xxxxxxxx. ...

  9. python:在for遍历list时使用remove出现的问题以及解析(转)

    原文地址:http://blog.csdn.net/circle2015/article/details/64444300最近面试时,面试官在纸上写了几行代码,说是很简单的问题,我看后直接懵逼...如 ...

  10. ORACLE数据库的关闭与重启

    一.关闭数据库 1.SHUTDOWN IMMEDIATE 这是我们常用的一种关闭数据库的方式,想很快地关闭数据库,但又想让数据库干净的关闭,常采用这种方式. 当前正在被Oracle处理的SQL语句立即 ...