2011-01-22 5 views

答えて

8

サーブレットにはmain()メソッドはありません。

場合、私はこれを求めている理由は、私はそれが後に起動し、クリーンアップしたら、アプリケーションを初期化するコードを書きたいということです。

あなたはServletContextListenerが実装に使用できる

public class MyServletContext implements ServletContextListener{ 
    ServletContext context; 
    public void contextInitialized(ServletContextEvent contextEvent) { 
     System.out.println("Context Created"); 

    } 
    public void contextDestroyed(ServletContextEvent contextEvent) { 

     System.out.println("Context Destroyed"); 
    } 
} 

web.xmlの

<listener> 
    <listener-class> 
     com.yourpackage.MyServletContext 
    </listener-class> 
    </listener> 
4

main()メソッドはありません。コンポーネントは管理されており、コンテナはサーブレットとフィルタのinit()のような他のメソッドを呼び出します。コンテナ自体はメインメソッドで起動しますが、それはあなたから隠されています。

あなたはあなたが<listener><listener-class>...</listener-class></listener>を使用してweb.xmlでそれをマップする必要がありServletContextListener

を使用することができ、アプリケーションごとと初期化のために。 contextInitialized(..)contextDestroyed(..)では、初期化とクリーンアップをそれぞれ行うことができます。