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,如需转载请自行联系原作者
目录
相关文章
|
架构师 开发者 运维
开发人员各级岗位胜任力模型
上个月,我写了一篇《架构设计师能力模型》,为开发者指出一些发展的方向、架构师的能力要求,以及需要学习的相关知识。 本月,我为公司的人力部门编制了更加量化的《2017年研发人员岗位能力模型 V1.4》。
10344 0
|
12月前
|
存储 关系型数据库 MySQL
技术解析:MySQL中取最新一条重复数据的方法
以上提供的两种方法都可以有效地从MySQL数据库中提取每个类别最新的重复数据。选择哪种方法取决于具体的使用场景和MySQL版本。子查询加分组的方法兼容性更好,适用于所有版本的MySQL;而窗口函数方法代码更简洁,执行效率可能更高,但需要MySQL 8.0及以上版本。在实际应用中,应根据数据量大小、查询性能需求以及MySQL版本等因素综合考虑,选择最合适的实现方案。
883 6
|
机器学习/深度学习 数据采集 算法
Python实现ISSA融合反向学习与Levy飞行策略的改进麻雀优化算法优化支持向量机回归模型(SVR算法)项目实战
Python实现ISSA融合反向学习与Levy飞行策略的改进麻雀优化算法优化支持向量机回归模型(SVR算法)项目实战
|
12月前
|
Java 网络架构
springboot配合thymeleaf,调用接口不跳转页面只显示文本
springboot配合thymeleaf,调用接口不跳转页面只显示文本
469 0
|
机器学习/深度学习 存储 SQL
Web LLM 实验:利用 LLM 中不安全的输出处理
Web LLM 实验:利用 LLM 中不安全的输出处理
|
存储 算法 数据可视化
Qt与Excel:从底层原理到上层应用的全面探索
Qt与Excel:从底层原理到上层应用的全面探索
673 0
|
Python
时间序列去趋势化和傅里叶变换
在计算傅里叶变换之前对信号去趋势是一种常见的做法,特别是在处理时间序列时。在这篇文章中,我将从数学和视觉上展示信号去趋势是如何影响傅里叶变换的。
812 0
|
网络协议 JavaScript 测试技术
网络安全-好用的模糊测试器汇总与思考
网络安全-好用的模糊测试器汇总与思考
369 0
|
安全 关系型数据库 MySQL
CentOS7+LAMP+DVWA靶机搭建
Damn Vulnerable Web Application (DVWA)(译注:可以直译为:"该死的"不安全Web应用程序),是一个编码差的、易受攻击的 PHP/MySQL Web应用程序。 它的主要目的是帮助信息安全专业人员在合法的环境中,练习技能和测试工具,帮助 Web 开发人员更好地了解如何加强 Web 应用程序的安全性,并帮助学生和教师在可控的教学环境中了解和学习 Web 安全技术。本文通过实例从环境准备到安装一步步介绍了CentOS7+LAMP+DVWA靶机搭建。
765 0
CentOS7+LAMP+DVWA靶机搭建
|
数据库 网络虚拟化 数据安全/隐私保护
【网络】· 路由交换设备远程管理,以及VLAN的配置
【网络】· 路由交换设备远程管理,以及VLAN的配置
667 0