2017-10-19 7 views
-2

私はTomcat環境で動作するメインのJavaアプリケーションを持っています。 今、私はJavaクラスを作成し、それをJARファイルとTCs libフォルダに入れました。私はクラスをインポートし、コンストラクタを呼び出すことで、メインアプリケーションのクラスにアクセスできます。Tomcatの起動時にJavaクラスを作成する方法は?

は、TCの起動時に一度そのクラスを作成する方法です。だから私はクラスの変数にアクセスできますか?

ありがとうございます! e。 e。このすべては、jarファイルにとになり

import javax.servlet.ServletContextEvent; 
import javax.servlet.ServletContextListener; 

public class MyAppServletContextListener implements ServletContextListener{ 
    @Override 
    public void contextInitialized(ServletContextEvent arg0) { 
     System.out.println("**************** ServletContextListener started"); 
     Beach x = new Beach(); 

    } 

    @Override 
    public void contextDestroyed(ServletContextEvent arg0) { 
    } 
} 

Beach.java

public class Beach { 
    public static void main(String []args) { 
     System.out.println("***********************"); 
    } 
} 

MyAppServletContextListener.java:

// EDIT 1 はここに私の例である ... /WEB-INF/lib/beach.jar

およびこれは、web.xmlに私の追加です:

<web-app> 
    <listener> 
    <listener-class> 
      MyAppServletContextListener 
     </listener-class> 
    </listener> 
</web-app> 

、これがserver.logにエラーです:

10:42:26,440 | ERROR | [[/APP]] | Error configuring application listener of class MyAppServletContextListener 
java.lang.ClassNotFoundException: MyAppServletContextListener 
+1

あなたは[シングルトンパターン]を探しているようです(https://en.wikipedia.org/wiki/Singleton_pattern:

public class MyAppServletContextListener implements ServletContextListener{ @Override public void contextInitialized(ServletContextEvent arg0) { YourClass x = new YourClass(); } @Override public void contextDestroyed(ServletContextEvent arg0) { } } 

あなたは、web.xmlにこのクラスを登録する必要があります)。 – Andreas

答えて

2

は、あなたが実装するクラスを作成することができますServletContextListener

このクラスはあなたをできるようになります一度登録目的のコンストラクタを呼び出す

<web-app ...> 
    <listener> 
    <listener-class> 
      com.yourpackage.MyAppServletContextListener 
     </listener-class> 
    </listener> 
</web-app> 
+0

こんにちは@ニレキンありがとう。私はあなたに気づくかもしれません。私はスレッドで私の行いを更新しました... TCはソースを見つけることができません:(ありがとう! – Ele

+0

web.xmlにパッケージを追加する必要がありますクラス 'com.yourpackage.MyAppServletContextListener' – Nirekin

+0

すごく感謝!!!! – Ele

関連する問題