• JavaWeb三大组件之Listener


    1、Listener概述

    Listener 表示监听器,是 JavaWeb 三大组件(Servlet、Filter、Listener)之一

    监视器可以监听就是在 application、session、request三个对象创建、销毁或者往其中添加修改删除属性时自动执行代码的功能组件。

    request 和 session 我们学习过。而 applicationServletContext 类型的对象。

    ServletContext 代表整个web应用,在服务器启动的时候,tomcat会自动创建该对象。在服务器关闭时会自动销毁该对象。

    2、分类

    JavaWeb提供了8个监听器:

    监听器分类监听器名称作用
    ServletContext监听ServletContextListener用于对ServletContext对象进行监听(创建、销毁)
    ServletContextAttributeListener对ServletContext对象中属性的监听(增删改属性)
    Session监听HttpSessionListener对session对象的整体状态的监听(创建、销毁)
    HttpSessionAttributeListener对Session对象中的属性监听(增删改属性)
    HttpSessionBindingListener监听对象于Session的绑定和解除
    HttpSessionActivationListener对Session数据的钝化和活化的监听
    Request监听ServletRequestListener对Request对象进行监听(创建、销毁)
    SerlvetRequestAttributeListener对Request对象中属性的监听(增删改属性)

    这里面只有 ServletContextListener 这个监听器后期我们会接触到,ServletContextListener 是用来监听 ServletContext 对象的创建和销毁。

    ServletContextListener 接口中有以下两个方法

        void contextInitialized(ServletContextEvent sce)ServletContext 对象被创建了会自动执行的方法

        void contextDestroyed(ServletContextEvent sce)ServletContext 对象被销毁时会自动执行的方法

    3、代码演示

    我们演示一下ServletContextListener 监听器

            定义一个类,实现ServletContextListener 接口

            重写接口所有的抽象方法

            使用@WebListener进行配置

    代码如下:

    1. @WebListener
    2. public class ContextLoaderListener implements ServletContextListener {
    3. @Override
    4. public void contextInitialized(ServletContextEvent sce) {
    5. //加载资源
    6. System.out.println("ContextLoaderListener...");
    7. }
    8. @Override
    9. public void contextDestroyed(ServletContextEvent sce) {
    10. //释放资源
    11. }
    12. }

      启动服务器,就可以在启动的日志信息中看到contextInitialized() 方法输出的内容,同时也说明了 ServletContext 对象在服务器启动的时候被创建了。

  • 相关阅读:
    LoRaWAN物联网架构
    Linux 离线安装最新Python(3.12)设置独立virtualenv(venv)环境
    我们为什么喜欢看疯狂科学家开飞艇?
    zemax---Tangential plane, meridian plane and sagittal plane(切线面,子午面与弧矢面)(完结)
    SharedPreferences()存储
    带你走进并发编程的世界
    普中51-蜂鸣器实验
    42-接雨水
    Vue路由(vue-router)
    蓝桥杯备战刷题-滑动窗口
  • 原文地址:https://blog.csdn.net/weixin_56058578/article/details/128112972