首页 > 其他分享 >Listener-概述 Listener-ServletContextListener使用

Listener-概述 Listener-ServletContextListener使用

时间:2023-01-31 16:14:21浏览次数:41  
标签:ServletContextEvent ServletContextListener sce Listener 概述 ServletContext import

Listener-概述 

Listener:监听器
  概念:web的三大组件之一

    事件:一件事情

    事件源:事件发生的地方

    监听器:一个对象

    注册监听:将事件,事件源,监听器绑定在一起。当事件源上发生某个事件后,执行监听器代码  

 

  ServletContextListener:监听ServletContext对象的创建和销毁

    void contextDestroyed(ServletContextEvent  sce) :ServletContext对象被销毁之前会调用该方法

    void contextInitialized(ServletContextEvent sce) :ServletContext对象创建后调用该方法 

 

 Listener-ServletContextListener使用

步骤:
  1. 定义一个类,实现ServletContextListener接口
  2. 复写方法
  3. 配置
    1. web.xml
      <listener>
        <listener-class>cn.itcast.web.listener.ContextLoaderListener</listener-class>
      </listener>

  指定初始化参数<context-param>
    2. 注解:
       @WebListener

package com.example.day_19_fitterlistener.listener;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
import java.io.FileInputStream;
@WebListener
public class ContextLoaderListener implements ServletContextListener {

    /**
     *  监听ServletContext对象创建的,ServletContext对象服务器启动后自动创建
     *         在服务器启动后自动调用
     * @param sce
     */
    @Override
    public void contextInitialized(ServletContextEvent sce) {

        //加载资源文件
        //获取ServletContext对象
        ServletContext servletContext = sce.getServletContext();

        //记载资源文件
        String initParameter = servletContext.getInitParameter("contextConfigLocation");

        //获取真实路径
        String realPath = servletContext.getRealPath(initParameter);

        //加载进内存
        try {
            FileInputStream fileInputStream = new FileInputStream(realPath);
            System.out.println(fileInputStream);
        }catch (Exception e){
            e.printStackTrace();
        }
        System.out.println("ServletContext对象被创建");
    }


    /**
     * 在服务器关闭后,ServletContext对象被销毁,当服务器正常关闭后该方法被盗用
     * @param sce
     */
    @Override
    public void contextDestroyed(ServletContextEvent sce) {
        System.out.println("ServletContext对象被销毁了");
    }



}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

   <!-- <filter>
        <filter-name>demo1</filter-name>
        <filter-class>com.example.day_19_fitterlistener.filter.FilterDemo1</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>demo1</filter-name>

        &lt;!&ndash; 拦截路径&ndash;&gt;
        <url-pattern>/*</url-pattern>

       &lt;!&ndash; <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>INCLUDE</dispatcher>
        <dispatcher>ERROR</dispatcher>
        <dispatcher>ASYNC</dispatcher>&ndash;&gt;


    </filter-mapping>-->

    <!-- 配置监听器-->
   <!-- <listener>
        <listener-class>com.example.day_19_fitterlistener.listener.ContextLoaderListener</listener-class>
    </listener>-->
    <!-- 指定初始化参数-->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>WEB-INF/applicationContext.xml</param-value>
    </context-param>

</web-app>

 

标签:ServletContextEvent,ServletContextListener,sce,Listener,概述,ServletContext,import
From: https://www.cnblogs.com/yuzong/p/17079501.html

相关文章

  • XML概述和快速入门
    XML概述概念:Extensible  Markup  Language 可扩展标记语言可扩展:标签都是自定义的。功能:存储数据配置文件在网络中传输xml与h......
  • Linux概述
    Linux概述是内核,基于内核有不同的版本,主要有Ubuntu,RedHat,CentOS最主要的应用领域是服务器Linux目录结构(重要,结构要有印象)/表示根目录,一个根目录下面有子目录......
  • Listener概述以及ServletContextListener使用
    Listener概述Listener:监听器事件:一件事情事件源:事件发送的地方监听器:一个对象(一段代码)注册监听:将事件,事件源,监听器绑定在一起,当事件源上发送某个事件......
  • 【面试克星】【公式少代码少话多】Vins-Mono预积分相关知识点总结与概述
    前言Vins-Mono预积分相关的公式和代码可以在各个博客中找到。本文将充当一个帮助大家快速理解预积分、中值积分相关概述的角色,带大家理解代码,应对面试。下面会分成三步,来......
  • Quartz.Net 官方教程(Listener 和 JobStore)
    Listener调度任务的监听,当前版本支持添加调度,触发器和任务的监听,其中触发器和任务的监听支持通过监听名称进行添加(Add*ListenerMatcher方法)监听不能对外抛出异常,需要内部......
  • 无线局域网安全协议概述
    转载自:https://cloud.tencent.com/developer/article/1945521本文将无线安全协议包括WEP、WPA、WPA2和WPA3。对于它们中的每一个,我们将尝试指出它们的优点和缺点,并描述......
  • [概率论与数理统计]笔记:5.1 点估计概述
    第五章参数估计与假设检验5.1点估计概述相关概念:参数空间:参数的取值范围。点估计:对未知的参数进行估计所得到的一个具体的数据,结果是一个数(数轴上的一个点)。......
  • 操作系统 - 指令概述
    文件/为根目录,绝对路径即为从根目录开始到文件所在地址的路径。.代表当前目录,..代表上一级目录,相对路径即为从当前工作路径开始到文件所在地的目录,pwd查看工作目录。cd指......
  • es6概述
    1.1JS历史JavaScript诞生于1995年。NetScape发布NetScapeNavigator2浏览器,提供了免费开发工具LiveScript,设计的主要目的是处理以前由服务器端语言负责的一些输入验......
  • 爬虫入门第1课:代理池概述及开发环境
    1.什么是代理池代理池就是有代理IP组成的池子,它可以提供多个稳定可用的代理IP2.为什么要实现代理池我们在做爬虫的时候,最常见一种反爬手段就是ip反爬;也就是当同一......