• javaWeb监听器


    javaWEB监听器

    概述

    Listener 表示监听器,是 JavaWeb 三大组件(Servlet、Filter、Listener)之一。
    监听器可以监听就是在 application,session,request 三个对象创建、销毁或者往其中添加修改删除属性时自动
    执行代码的功能组件。

    监听器的组件:

    监听器可以大致分为四个组件(方便理解)

    事件源:事件发生的源头
    监听器:监听事件发生
    绑定:将监听器绑定到事件源
    事件:能够触发监听器的事

    监听器分类

    Servlet规范中提供了8个监听器
    按功能进行划分将其分成三类,如下:

    一类:监听三个域对象的创建和销毁的监听器
    二类:监听三个域对象的属性变更的监听器。(属性添加、属性移除、属性替换)
    三类:监听HttpSession对象中的JavaBean的状态的改变。(绑定、解除绑定、钝化、活化)

    监听器分类 监听器名称 作用
    ServletContext监听 ServletContextListener 监听ServletContext对象的创建和销毁
    ServletContextAttributeListener 监听ServletContext对象中属性的增删改
    Session监听 HttpSessionListener 监听Session对象的创建和销毁
    HttpSessionAttributeListener 监听Session对象中属性的增删改
    HttpSessionBindingListener 监听对象与Session的绑定与解除
    HttpSessionActivationListener 监听Session的激活
    Request监听 ServletRequestListener 监听Request对象的创建和销毁
    ServletRequestAttributeListener 监听Request对象中属性的增删改

    监听器的开发步骤

    1.自定义类实现一类监听器
    2.重写监听器中的方法
    3.配置xml配置文件或注解配置

    配置方式:

    /**
     * 监听器开发步骤
     */
    public class FirstListener implements ServletContextListener {
       
        @Override
        public void contextInitialized(ServletContextEvent servletContextEvent) 
    {
       
            /**
             * 监听ServletContext域的初始化,随着服务器的启动
             */
            System.out.println("ServletContext初始化");
        }
        @Override
        public void contextDestroyed(ServletContextEvent servletContextEvent) {
       
            //监听ServletContext域的销毁,随着服务器的关闭
            System.out.println("ServletContext销毁");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    配置xml文件:

    
        com.gx.listener.FirstListener
    
    
    • 1
    • 2
    • 3

    注解方式:

    @WebListener,加了该注解默认配置了监听器

    /**
     * 监听器开发步骤
     */
    @WebListener
    public class FirstListener implements ServletContextListener {
       
        @Override
        public void contextInitialized(ServletContextEvent servletContextEvent) {
       
            /**
             * 监听ServletContext域的初始化,随着服务器的启动
             */
            System.out.println("ServletContext初始化");
        }
        @Override
        public void contextDestroyed(ServletContextEvent servletContextEvent) {
       
            /**
             * 监听ServletContext域的销毁,随着服务器的关闭
             */
            System.out.println("ServletContext销毁");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    一类监听器

    监听三个域对象(ServletContext、Session、Request)的创建与销毁

    监听ServletContext域对象

    实现ServletContextListener接口并覆盖方法

    1. 监听服务器启动的时候创建ServletContext对象时

    2. 监听服务器关闭的时候ServletContext对象被销毁掉

    /**
     * 监听ServletContext
     */
    @WebListener
    public class TestServletContextListener implements ServletContextListener {
        @Override
        public void contextInitialized(ServletContextEvent servletContextEvent) {
            /**
             * 监听ServletContext域的初始化,随着服务器的启动
             */
            System.out.println("ServletContext初始化");
        }
        @Override
        public void contextDestroyed(ServletContextEvent servletContextEvent) {
            /**
             * 监听ServletContext域的销毁,随着服务器的关闭
             */
            System.out.println("ServletContext销毁");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    监听Ses

  • 相关阅读:
    Docker配置镜像加速器
    道可云元宇宙每日资讯|5G数智新时代元宇宙发展论坛在厦门举办
    Openssl数据安全传输平台011:秘钥协商客户端
    网站如何有效防止网络攻击
    python代码书写规范和严格缩进问题,nginx 502 Bad Gateway
    边缘路由器是什么意思?全方位了解它
    安防监控视频系统EasyCVR+AI算法智能分析网关助力智慧校园建设
    第五十四章 学习常用技能 - 生成测试数据
    Navicat连接openGauss数据库报错
    Android软键盘windowSoftInputMode的使用与原理(使用篇)
  • 原文地址:https://blog.csdn.net/weixin_57726902/article/details/127938037