当前位置:  开发笔记 > 编程语言 > 正文

初始化Java Web App

如何解决《初始化JavaWebApp》经验,为你挑选了1个好方法。

我有一个简单的Web应用程序,有几个jsp页面,servlet和pojo.我想在发出任何请求之前初始化连接池.做这个的最好方式是什么?可以在应用程序首次部署时完成,还是必须等到第一个请求进入?



1> Yoni..:

使用ServletContextListener并在web.xml中正确声明它.这种方式比启动servlet更好.它更有条理,你的意图是显而易见的.它也保证在任何请求之前运行.它还为您提供了一个关闭钩子来清除池.

这是我的web.xml的一个片段,例如:


  
    com...ApplicationListener
  

这是类本身的代码片段.确保捕获异常,以便它们不会传播到您的服务器应用程序,并提供有用的日志消息 - 这些消息将在您跟踪应用程序时提供帮助.

public class ApplicationListener implements ServletContextListener {

  private ServletContext sc = null;

  private Logger log = Logger
    .getLogger(ApplicationListener.class);

  public void contextInitialized(ServletContextEvent arg0) {
    this.sc = arg0.getServletContext();
    try {
      // initialization code
    } catch (Exception e) {
      log.error("oops", e);
    }
    log.info("webapp started");
  }

  public void contextDestroyed(ServletContextEvent arg0) {
    try {
      // shutdown code
    } catch (Exception e) {
      log.error("oops", e);
    }
    this.sc = null;
    log.info("webapp stopped");
  }

}

请参阅API 这里和例子在这里.


这是最普遍接受的迹象表明事情确实是错误的:)
推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有