10

重複の可能性:
tomcat自動開始サーブレット
tomcatサーバーの起動時に(サーブレットではなく)Javaクラスをロードするにはどうすればよいですか?

TomcatサーバーでWebアプリケーションを実行しています。Tomcatの起動時、またはこのアプリケーションのデプロイ時に、アプリケーションで特定のコードを1回実行したいと思います。どうすればそれを達成できますか?ありがとう

4

1 に答える 1

33

ServletContextListnerインターフェースを実装し、Tomcatの起動時に実行するコードをそのインターフェースに記述する必要があります。

これについて簡単に説明します。

ServletContextListnerはjavax.servletパッケージ内にあります。

これを行う方法の簡単なコードを次に示します。

public class MyServletContextListener implements ServletContextListener {

  @Override
  public void contextDestroyed(ServletContextEvent arg0) {
    //Notification that the servlet context is about to be shut down.   
  }

  @Override
  public void contextInitialized(ServletContextEvent arg0) {
    // do all the tasks that you need to perform just after the server starts

    //Notification that the web application initialization process is starting
  }

}

そして、デプロイメント記述子web.xmlで構成する必要があります

<listener>
    <listener-class>
        mypackage.MyServletContextListener
    </listener-class>
</listener>
于 2012-12-11T11:54:47.373 に答える