7

クライアントサーバーアプリケーションがあります。サーバーはJerseyを使用したRESTfulサービスで構成され、tomcat 7にデプロイされます。実際、クライアントがサービスにアクセスする前に、サービスのコンテキストを作成する(いくつかの大きなサイズのファイルを読み取る)必要があります。Webアプリのメインクラスを作成することは可能ですか?

4

1 に答える 1

8

JavaEE の Web アプリケーションには、デスクトップ アプリケーションと同じ意味での「メイン クラス」がありません。確かに、実行はmainどこかのメソッドで開始する必要がありますが、それは Web コンテナー (あなたの場合は Tomcat) によって管理され、手の届かないところにあります。

代わりにできることは、そのinitメソッドを使用してアプリケーションコンテキストで必要なデータをプリロードするサーブレットを作成することです (データがすべてのクライアントで同じであり、理想的にはクライアントによって変更されないと仮定します)。また、サーブレット構成では、起動時にサーブレットをロードする必要があることを指定します。これにより、データがアプリケーションの開始時に 1 回ロードされ、すべてのクライアントがアクセスできるようになります。アプリケーションコンテキストから。

編集 :

サーブレット仕様 (2.3+) の最近のバージョンでは、コンテキスト リスナーを使用する方法が推奨されています。詳細については、この回答を参照してください。

于 2011-12-25T17:10:00.957 に答える