JavaWeb19.8【Filter&Listener:监听器Listener之ServletContextListener】

 

 

 

 

复制代码
 1 package com.haifei.web.listener;
 2 
 3 import javax.servlet.ServletContext;
 4 import javax.servlet.ServletContextEvent;
 5 import javax.servlet.ServletContextListener;
 6 import javax.servlet.annotation.WebListener;
 7 import java.io.FileInputStream;
 8 import java.io.FileNotFoundException;
 9 
10 /**
11  * ServletContextListener:监听ServletContext对象的创建和销毁
12  */
13 @WebListener  //注解方式注册监听
14 public class ContextLoaderListener implements ServletContextListener {
15 
16     /**
17      * 监听ServletContext对象的创建。
18      * 服务器启动后自动创建ServletContext对象。
19      * 在服务器启动后自动调用。
20      * @param servletContextEvent
21      */
22     @Override
23     public void contextInitialized(ServletContextEvent servletContextEvent) {
24         //应用:加载项目全局资源
25 
26         //1 获取ServletContext对象
27         ServletContext servletContext = servletContextEvent.getServletContext();
28         //2 加载资源文件
29         String contextConfigLocation = servletContext.getInitParameter("contextConfigLocation");
30         //3 获取真实路径
31         String realPath = servletContext.getRealPath(contextConfigLocation);
32         //4 加载进内存
33         try {
34             FileInputStream fis = new FileInputStream(realPath);
35             System.out.println(fis + "加载成功");
36         } catch (FileNotFoundException e) {
37             e.printStackTrace();
38         }
39 
40         System.out.println("ServletContext对象被创建了");
41     }
42 
43     /**
44      * 在服务器关闭后,ServletContext对象被销毁。
45      * 当服务器正常关闭后该方法被调用。
46      * @param servletContextEvent
47      */
48     @Override
49     public void contextDestroyed(ServletContextEvent servletContextEvent) {
50         System.out.println("ServletContext对象被销毁了");
51     }
52 }
复制代码
复制代码
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
 5          version="3.1">
 6 
 7     <!--过滤器配置-->
 8     <!--<filter>
 9         <filter-name>demo1</filter-name>
10         <filter-class>com.haifei.web.filter.FilterDemo1</filter-class>
11     </filter>
12     <filter-mapping>
13         <filter-name>demo1</filter-name>
14         <url-pattern>/*</url-pattern>  &lt;!&ndash;拦截路径&ndash;&gt;
15     </filter-mapping>-->
16 
17     <!--<filter>
18         <filter-name>demo5</filter-name>
19         <filter-class>com.haifei.web.filter.FilterDemo5</filter-class>
20     </filter>
21     <filter-mapping>
22         <filter-name>demo5</filter-name>
23         <url-pattern>/*</url-pattern>
24         <dispatcher>REQUEST</dispatcher>  &lt;!&ndash;拦截方式&ndash;&gt;
25     </filter-mapping>-->
26 
27     <!--监听器配置-->
28     <!--注册监听-->
29     <!--<listener>-->
30         <!--<listener-class>com.haifei.web.listener.ContextLoaderListener</listener-class>  -->
31     <!--</listener>-->
32     
33     <!--指定初始化参数-配合监听器使用-->
34     <context-param>
35         <param-name>contextConfigLocation</param-name>
36         <param-value>/WEB-INF/classes/applicationContext.xml</param-value>  <!--配置文件在src路径下的真实路径-->
37     </context-param>
38     <!--后续需要还需要加载其他配置文件时可以再添加context-param-->
39     
40 </web-app>
复制代码
1 <?xml version="1.0" encoding="UTF-8" ?>
2 
3 <bean>
4 </bean>

 

 

 

posted @   yub4by  阅读(43)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示