Web项目初始化方法

今天在解决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:


    
        com.server.listener.InitListener
    

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


Web项目初始化方法_第1张图片
A1E4C134-0785-4319-897F-BE43BAB59030.png

服务器结束时


Web项目初始化方法_第2张图片
1FF04AB6-554E-41E0-83F6-972286A02A2A.png

成功!

你可能感兴趣的:(Web项目初始化方法)