监听器

作者: 迷茫o | 来源:发表于2017-03-08 19:50 被阅读0次

定义

监听器实际上是一个类,这个类实现了特定的接口,然后将这个类在 web.xml (servlet 3.0后可以用注解)文件中进行描述,这样服务器在启动的时候就可以实例化这个类,启动监听器。当范围对象的状态发生变化的时候,服务器自动调用监听器对象中的方法。

web监听器是Servlet规范中定义的一种特殊类,用于监听ServletContext,HttpSession,ServletRequest等域对象的创建、销毁、以及属性的变化等,可以在事件发生前、发生后进行一些处理。

用途

1、统计在线人数和在线用户
2、系统加载时进行信息的初始化工作
3、统计网站的访问量
4、跟Spring结合
...

分类

按监听的对象划分,可以分为监听
1.ServletContext对象
2.HttpSession对象
3.ServletRequest对象

按监听的事件划分
1.域对象自身的创建和销毁
2.域对象中属性的创建和消除
3.绑定到session中的某个对象的状态

servlet 3.0

在Servlet3.0下通过注解@WebListener("")就可以实现了,不需要在web.xml中进行配置

实例

监听器>过滤器>serlvet,在 web.xml 文件中配置的时候注意顺序

监听每个action的执行时间
@WebListener
public class MyListener implements ServletContextListener {

    @Override
    public void contextInitialized(ServletContextEvent sce)  { 
        System.out.println("服务器已经启动");
        ServletContext context = sce.getServletContext();
        try {
            Servlet servlet = context.createServlet(GoodByeServlet.class);
            ServletRegistration.Dynamic reg = 
                    context.addServlet("GoodbyeServlet", servlet);
            reg.addMapping("/goodbye.do");
        } catch (ServletException e) {
            e.printStackTrace();
        }
    }
    
    @Override
    public void contextDestroyed(ServletContextEvent sce)  { 
        System.out.println("服务器正在关闭");
    }
    
}
监听在线人数
@WebListener
public class ThyListener implements HttpSessionListener {
    private int counter = 0;
    
    public void sessionCreated(HttpSessionEvent se)  { 
        counter += 1;
        System.out.println("在线人数: " + counter);
    }

    public void sessionDestroyed(HttpSessionEvent se)  { 
        counter -= 1;
        System.out.println("在线人数: " + counter);
    }
    
}

相关文章

  • SpringBoot--监听器解析

    监听器模式 监听器模式有要素 事件 监听器 广播器 触发机制 系统监听器 监听器 ApplicationListe...

  • 监听器

    一、监听器定义 现实生活 -web监听器 二、web监听器应用 三、创建监听器 1、创建一个实现监听器接口的类。 ...

  • JavaWeb - Listener

    监听器 实现一个监听器的接口. 编写一个监听器实现监听器的接口 web.xml 中注册监听器 看情况是否使用

  • Spring 监听器listener原理-基本使用(一)

    Spring 监听器listener原理-基本使用(一) Spring 监听器listener原理-手写监听器(二...

  • JavaEE_day23_Listener(监听器)

    一、监听器(Listener): 1.什么是监听器? 监听器就是监听某个对象的的状态变化的组件 监听器的相关概念:...

  • tomcat内存马Listener篇

    什么是监听器 监听器类型 java共有三种类型的监听器 ServletContext对象的监听器 它能够监听 Se...

  • 监听器

    一.监听器定义 二.web监听器的用途 三.创建监听器 创建一个实现监听器接口类( 实现的是ServletCont...

  • Bukkit插件开发教程 - 监听器

    监听器 - Listener 学习目标 理解监听器的意义 了解监听器的注册 @EventHandler注解的作用 ...

  • 2019-02-26 web监听器(慕课网学习笔记)

    1 监听器的定义 2 web中监听器的定义 3 web监听器的常用用途 4 创建第一个监听器 常规的web项目,需...

  • 23. 监听器

    12 监听器 实现一个监听器的接口 编写一个监听器package com.karl.listener;import...

网友评论

      本文标题:监听器

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