2010-12-06 73 views
10

我想实现一个webapp的初始化和关闭。包括初始化和关机:java web应用程序的初始化和关闭

  • Hibernate(v3.6);
  • C3P0(v0.9.1.2);
  • EHCache(v2.3.0);
  • 石英(1.8.4);
  • 其他特定于我的webapp的任务;

使用Tomcat 5.5.30和Java 6.我的想法是避免资源泄漏,主要是因为webapp在开发环境中重新部署。

我该如何实施?

回答

19

通常用于Web初始化和关闭,您将编写ServletContextListener

做到这一点的步骤是:

  1. 编写实现javax.Servlet.ServletContextListener
  2. 类标签添加到web.xml部署描述符注册你刚刚创建的类
  3. 将应用程序部署

当您部署应用程序时,将调用contextInitialized方法。你可以在这里放置你想要的所有初始化。在应用程序关闭contextDestroyed方法将被调用。

+2

完美的作品,谢谢。 – 2010-12-06 12:34:59

0

但是,您仍然希望以这样的方式管理资源,即在应用程序崩溃并且不调用正常关机例程时不会泄漏资源。

0

它也可以使用HTTP Servlet,但是侦听器是更好的选择。

你不得不延长一类具有HttpServlet和下面的东西设置到你的web.xml:

<servlet> 
    <servlet-name>StartupServlet</servlet-name> 
    <servlet-class>your.package.servlets.StartupServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

类可以覆盖init和destroy方法。