私がこれを求めている理由は、アプリケーションが起動して後でクリーンアップすると、アプリケーションを初期化するコードを記述したいからです。main()メソッドはどこですか?JSP /サーブレットアプリケーションでは?
サーブレットごとであるため、サーブレットinit()
メソッドを使用したくないです。
私がこれを求めている理由は、アプリケーションが起動して後でクリーンアップすると、アプリケーションを初期化するコードを記述したいからです。main()メソッドはどこですか?JSP /サーブレットアプリケーションでは?
サーブレットごとであるため、サーブレットinit()
メソッドを使用したくないです。
サーブレットには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>
main()
メソッドはありません。コンポーネントは管理されており、コンテナはサーブレットとフィルタのinit()
のような他のメソッドを呼び出します。コンテナ自体はメインメソッドで起動しますが、それはあなたから隠されています。
あなたはあなたが<listener><listener-class>...</listener-class></listener>
を使用してweb.xml
でそれをマップする必要がありServletContextListener
を使用することができ、アプリケーションごとと初期化のために。 contextInitialized(..)
とcontextDestroyed(..)
では、初期化とクリーンアップをそれぞれ行うことができます。