1. 监听器
监听器通过监听某种事物的变化,然后执行回调函数,去做出相应的处理。
2. ServletContextListener监听器
在web工程启动的时候,会创建ServletContext
对象,在web工程停止的时候ServletContext
对象会被销毁,而ServletContextListener
监听器可以监听ServletContext
对象的创建和销毁过程。
通俗来讲就是: 当ServletContextListener
监听器监听到ServletContext
对象被创建后,就会马上执行一个方法(可以用来做初始化),当ServletContextListener
监听器监听到ServletContext
对象被销毁后,又会马上执行另一个方法。
两个方法分别如下:
代码语言:javascript复制// 当监听到ServletContext对象创建之后,会马上执行这个方法
@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
}
// 当监听到ServletContext对象销毁之后,会马上执行这个方法
@Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {
}
3. ServletContextListener监听器的使用方式
- 编写类实现 ServletContextListener
- 实现其中的两个回调方法
- 在web.xml中配置监听器
示例代码如下:
代码语言:javascript复制public class ServletContextListenerImpl implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("ServletContextListener监听器监听到 ServletContext 对象被创建了");
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("ServletContextListener监听器监听到 ServletContext 对象被销毁了");
}
}
web.xml中的配置:
代码语言:javascript复制 <!-- 配置监听器 -->
<listener>
<listener-class>com.qcln.listener.ServletContextListenerImpl</listener-class>
</listener>
- 当启动web工程的时候,会看到控制台输出:
ServletContextListener监听器监听到 ServletContext 对象被创建了
- 当停止web工程的时候,会看到控制台输出:
ServletContextListener监听器监听到 ServletContext 对象被销毁了