本文主要是介绍Web项目实现ServletContextListener接口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
源码
package javax.servlet;import java.util.EventListener;/*** Implementations of this interface receive notifications * about changes to the servlet context of the web* application they are part of. To receive notification events,* the implementation class must be configured in the* deployment descriptor for the web application.* @see ServletContextEvent* @since v 2.3*/public interface ServletContextListener extends EventListener {/**** Notification that the web application initialization process * is starting. All ServletContextListeners are notified of * context initialization before any filter or servlet in the * web application is initialized.* @param sce Information about the ServletContext that was * initialized* 当Servlet 容器启动Web 应用时调用该方法。*/public void contextInitialized(ServletContextEvent sce);/**** Notification that the servlet context is about to be shut * down. All servlets and filters have been destroy()ed * before any ServletContextListeners are notified of context * destruction.* @param sce Information about the ServletContext that was * destroyed* 当Servlet 容器终止Web 应用时调用该方法。*/public void contextDestroyed(ServletContextEvent sce);
}
介绍
ServletContextListener本质上就是一个监听器,监听 Web 应用的生命周期
在 Servlet API 中有一个 ServletContextListener 接口,它能够监听 ServletContext 对象的生命周期,实际上就是监听 Web 应用的生命周期。
当Servlet 容器启动或终止Web 应用时,会触发ServletContextEvent 事件,该事件由ServletContextListener 来处理。在 ServletContextListener 接口中定义了处理ServletContextEvent 事件的两个方法。
项目代码实现
定义一个监听器
public class OperationReplyListener implements ServletContextListener {private static final Log logger = LogFactory.getLog(OperationReplyListener.class);final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); public void contextDestroyed(ServletContextEvent sce) {}public void contextInitialized(ServletContextEvent sce) {logger.info("定时器启动...");OperationReplyTask operationReplyTask = new OperationReplyTask();scheduler.scheduleAtFixedRate(operationReplyTask, 2, 5, TimeUnit.SECONDS);}
}
web.xml中配置监听器
<listener><listener-class>com.sto.rookie.timer.OperationReplyListener</listener-class>
</listener>
这篇关于Web项目实现ServletContextListener接口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!