美文网首页
Listener基础

Listener基础

作者: Mr_J316 | 来源:发表于2019-05-21 14:20 被阅读0次

2019-05-21

Listener简介

Listener即监听器,用于监听web应用中某些对象的创建、销毁、增加,修改,删除等动作的发生,然后作出相应的响应处理。常用于统计在线人数和在线用户,系统加载时进行信息初始化,统计网站的访问量等等。

目前Servlet API一共包含八个Listener接口,可以将其分为三类:

  • 与ServletContext有关的Listener接口

    • ServletContextListener
    • ServletContextAttributeListener
  • 与HttpSession有关的Listener接口

    • HttpSessionListener

    • HttpSessionAttributeListener

    • HttpSessionBindingListener

    • HttpSessionActivationListener

  • 与ServletRequest有关的Listener接口

    • ServletRequestListener
    • ServletRequestAttributeListener

使用Listener的步骤:

  1. 建立Listener实现类,实现Listener接口

  2. 在web.xml文件中配置Listerner

<listener> 
  <listener-class>过滤器类全路径名</listener-class> 
</listener>
  1. 使用注解配置Listener
@WebListener
  1. 在服务器启动时自动实例化Listerner

HttpSession监听器

1.HttpSessionListener接口

实现session的初始化和销毁监听。接口包含两个方法:

sessionCreated()方法:监听session的创建。

sessionDestroyed()方法:监听session的销毁。

两个方法均包含类型为HttpSessionEvent的参数。通过其getSession()方法可以获得当前session对象。

package com.listener; 
import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpSession; 
import javax.servlet.http.HttpSessionEvent; 
import javax.servlet.http.HttpSessionListener; 

@WebListener
public class MyListener implements HttpSessionListener{ 
    
    //session创建时调用该方法 
    @Override
    public void sessionCreated(HttpSessionEvent e) { 
        HttpSession session = e.getSession(); 
        System.out.println("创建session,ID为" + session.getId()); 
    } 

    //session销毁时调用该方法 
    @Override
    public void sessionDestroyed(HttpSessionEvent e) { 
        HttpSession session = e.getSession(); 
        System.out.println("销毁session,ID为" + session.getId()); 
    } 
}

2.HttpSessionAttributeListener接口

用来实现session属性变化的监听。接口包含3个方法:

attributeAdded ()方法:监听session属性的添加

attributeReplaced()方法:监听session属性的替换

attributeRemoved()方法:监听session属性的移除

三个方法均包含类型为HttpSessionBindingEvent的参数。通过其getName()方法可以获得属性名称;通过getValue()方法可以获得属性值。

相关文章

  • SpringCloud Stream 集成 rabbitMQ

    配置文件 基础配置 consumer消费者 channel listener队列监听 listener/dlq死信...

  • Listener基础

    2019-05-21 Listener简介 Listener即监听器,用于监听web应用中某些对象的创建、销毁、增...

  • Event Emitter

    Tips: 先注册listener - on,后emit Listener function 同步执行 'on' ...

  • 启动和停止Oracle

    配置Oracle listener 启动Oracle 2.1 启动server 2.2 启动listener 停止...

  • JavaWeb基础之Listener基本用法

    用来监听特定对象的创建或销毁、属性的变化 1.监听器接口的分类 1.1、监听对象创建/销毁的监听器接口 1.2、监...

  • 0009.使用环境变量中设定的topic

    topics = {"#{__listener.getTopic()}"},__listener相当于一个伪Bea...

  • 监听

    listener创建方式(1)netca (2)netmgr (3)编辑listener.ora文件 listen...

  • 三、Listener介绍

    使用Listener步骤: 定义Listenner实现类。 通过注解或在web.xml文件配置Listener。 ...

  • Kotlin-委托剖析(1)- 接口委托

    简单列子 定义Listener接口,A、B都实现Listener接口。如果A、B onSuccess\onFail...

  • Listener

    监听器是实现特定的接口的java类,用来监听web应用中ServletContext,ServletRequest...

网友评论

      本文标题:Listener基础

      本文链接:https://www.haomeiwen.com/subject/pwqjzqtx.html