Web项目初始化方法

2017-04-01  本文已影响170人  封印命运

今天在解决Web项目启动时第一个请求会执行两次的问题时,顺便总结了项目中Web项目初始化的问题,内容如下:

为什么需要初始化

我们的Web项目中,main函数是不可见的,如果我们需要在Web项目刚开始运行时就执行某些操作,就需要项目的初始化。

解决方式

使用javaEE中的ServletContextListener,通过继承这个接口的Listener响应Web项目启动与终止时的消息,完成项目的初始化工作,代码如下:

/**
 * Created by lihao on 2017/4/1.
 */
public class InitListener implements ServletContextListener {

    Logger logger = Logger.getLogger(this.getClass());

    public void contextInitialized(ServletContextEvent servletContextEvent) {
        logger.info("服务器已初始化");
        InitHandler.init();
    }

    public void contextDestroyed(ServletContextEvent servletContextEvent) {
        logger.info("服务器已关闭");
    }
}

然后需要在web.xml中注册这个Listener:

<!-- Web初始化监听器,在项目初始化时调用初始化类 -->
    <listener>
        <listener-class>com.server.listener.InitListener</listener-class>
    </listener>

完成,看下效果:
服务器开始时


A1E4C134-0785-4319-897F-BE43BAB59030.png

服务器结束时


1FF04AB6-554E-41E0-83F6-972286A02A2A.png
成功!
上一篇 下一篇

猜你喜欢

热点阅读