ServletContextListener使用详解

简介:

在 Servlet API 中有一个 ServletContextListener 接口,它能够监听 ServletContext 对象的生命周期,实际上就是监听 Web 应用的生命周期。

当Servlet 容器启动或终止Web 应用时,会触发ServletContextEvent 事件,该事件由ServletContextListener 来处理。在 ServletContextListener 接口中定义了处理ServletContextEvent 事件的两个方法。

1
2
3
4
5
6
7
8
9
/**
  * 当Servlet 容器启动Web 应用时调用该方法。在调用完该方法之后,容器再对Filter 初始化,
  * 并且对那些在Web 应用启动时就需要被初始化的Servlet 进行初始化。
  */
contextInitialized(ServletContextEvent sce)  
/**
  * 当Servlet 容器终止Web 应用时调用该方法。在调用该方法之前,容器会先销毁所有的Servlet 和Filter 过滤器。
  */
contextDestroyed(ServletContextEvent sce)


一、自定义上下文监听

1
2
3
4
5
6
7
8
9
public  class  CmsiListener  implements  ServletContextListener {
     private  static  Log log = LogFactory.getLog(CmsiListener. class );
     public  void  contextInitialized(ServletContextEvent servletContextEvent) {
         servletContextEvent.getServletContext().log( "listener start" );
     }
     public  void  contextDestroyed(ServletContextEvent servletContextEvent) {
         servletContextEvent.getServletContext().log( "listener destroyed" );
     }
}


二、部署ServletContextListener

实现(implements)了 ServletContextListener 编译后,把它放在正确的WEB-INF/classes目录下,更改WEB-INF目录下的 web.xml文件,在web-app节点里添加 

1
2
3
< listener >
     < listener-class >CmsiListener</ listener-class >
</ listener >










本文转自 LinkedKeeper 51CTO博客,原文链接:http://blog.51cto.com/sauron/1272446,如需转载请自行联系原作者
目录
相关文章
|
8月前
|
SQL Oracle 前端开发
提高工作效率的万能Java行列转换工具类
提高工作效率的万能Java行列转换工具类
135 0
|
存储 Prometheus Kubernetes
OpenTelemetry 简析
OpenTelemetry 是 CNCF 的一个可观测性项目,旨在提供可观测性领域的标准化方案,解决观测数据的数据模型、采集、处理、导出等的标准化问题,提供与三方 vendor 无关的服务。 2021.02.10,OpenTelemetry 的 tracing spec 达到 1.0 版本 (link),基于这个里程碑,笔者对 OpenTelemetry 进行了探索,判断在可观测性领域带来的价值和发展前景。 下面给出笔者对 OpenTelemetry 的理解,抛砖引玉。由于笔者能力有限,理解不当的地方请大家指正。
OpenTelemetry 简析
IDEA 自定义注解(类注释、方法注释)
IDEA 自定义注解(类注释、方法注释)
2024 1
IDEA 自定义注解(类注释、方法注释)
|
7月前
|
JSON JavaScript 前端开发
axios拦截器及封装
axios拦截器及封装
|
9月前
|
SQL 关系型数据库 MySQL
【MySQL】如何快速检索邮箱号以及身份证?
【MySQL】如何快速检索邮箱号以及身份证?
212 0
|
11月前
|
SQL Java 关系型数据库
Spring Boot实现第一次启动时自动初始化数据库
本文以Spring Boot + Mybatis为例,使用MySQL数据库,实现了SSM应用程序第一次启动时自动检测并完成数据库初始化的功能,理论上上述方式适用于所有的关系型数据库,大家稍作修改即可。
464 0
Spring Boot实现第一次启动时自动初始化数据库
|
Java Spring 容器
《Spring核心技术》第7章:深度解析@DependsOn注解
沉淀,成长,突破,帮助他人,成就自我。 大家好,我是冰河~~
512 0
《Spring核心技术》第7章:深度解析@DependsOn注解
|
存储 应用服务中间件 网络安全
实现tomcat的https单向认证及双向认证
实现tomcat的https单向认证及双向认证
484 0
实现tomcat的https单向认证及双向认证
|
存储 JSON 缓存
在 VS Code 中使用 GraalVM 和 VisualVM 进行性能和内存分析
在 VS Code 中使用 GraalVM 和 VisualVM 进行性能和内存分析
326 0
在 VS Code 中使用 GraalVM 和 VisualVM 进行性能和内存分析
|
前端开发
react中父组件调用子组件的方法
最近项目中用到了react,需要在父组件中调用子组件的某个方法,那么如何获取到子组件的实例呢? 这里使用了回调,简单实用,兼容低版本。