Listener概述以及ServletContextListener使用
Listener概述
Listener:监听器
概念:web的三大组件之一。
事件监听机制
事件:一件事情
事件源:事件发生的地方
监听器:一个对象
注册监听:将事件、事件源、监听器绑定在一起。当事件源上发生某个事件后,执行监听器代码
ServletContextListener:监听ServletContext对象的创建和销毁
void contextDestroyed(ServletContextEvent sce):ServletContext对象被销毁之前会调用该方法
void contextInitialized(ServletContextEvent sce):ServletContext对象创建后会调用该方法
步骤:
1、定义一个方法,实现ServletContextListener接口
2、复写方法
3、配置
1、web.xml
<!-- 配置监听器 --> <listener> <listener-class>com.tomcat1.web.listener.ContextLoaderListener</listener-class> </listener>
指定初始化参数
<!--
指定初始化参数
-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
2、注解
@WebListener public class ContextLoaderListener implements ServletContextListener { /** * 监听器ServletContext对象创建的。ServletContext对象服务器启动后自动创建 * @param servletContextEvent */ @Override public void contextInitialized(ServletContextEvent servletContextEvent) { //加载资源文件 //1、获取ServletContext对象 ServletContext servletContext = servletContextEvent.getServletContext(); //2、加载资源文件 String contextConfigLocation = servletContext.getInitParameter("contextConfigLocation"); //3、获取真实路径 String realPath = servletContext.getRealPath(contextConfigLocation); //4、加载进内存 try { FileInputStream fis = new FileInputStream(realPath); System.out.println(fis); } catch (FileNotFoundException e) { e.printStackTrace(); } System.out.println("ServletContext对象被创建了"); } /** * 在服务器关闭后,ServletContext对象被销毁。当服务器正常关闭后该方法被调用 * @param servletContextEvent */ @Override public void contextDestroyed(ServletContextEvent servletContextEvent) { System.out.println("ServletContext对象被销毁了"); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix