监听器

本文介绍了Java监听器的使用,包括监听request、session、application对象的创建、销毁和内容变更,需创建实现指定接口的类,并给出了各监听场景的具体方法及注意事项。还说明了要在web.xml中配置监听器类,最后列举了统计在线人数和网页浏览次数的案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

监听器的使用:

  作用:

    监听作用域对象request、session、application的创建、销毁和内容的改变

  使用:

    创建一个实现了指定接口的java类

      监听request--->ServletRequestListener  监听request对象的创建和销毁

        requestInitialized(ServletRequestEvent sre)  //创建

        requestDestroyed(ServletRequestEvent sre) //销毁

        注意:形参可以获取监听的request对象

      监听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--->ServletSessionAttributeListener  监听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  监听application数据的变更

        attributeAdded(ServletContextAttributeEvent event)  //添加

        attributeRemoved(ServletContextAttributeEvent event)  //删除

        attributeReplaced(ServletContextAttributeEvent event)  //修改

        注意:形参可以获取被监听的数据

          event.getName()  获取数据的键名

          event.getValue()   获取数据的值

    在web.xml中配置监听器类

        <listener>

          <listener-class>com.mxj.listener.MyListener</listener-class>

        </listener>

    案例:

      统计当前在线人数

      统计网页浏览次数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值