2011-12-25 6 views
6

私はクライアントサーバーアプリケーションを持っています。サーバーはジャージーを使った快適なサービスで作られており、tomcat 7にデプロイされています。実際には、サービスへのクライアントアクセスの前にサービスのコンテキストを作成する必要があります(サイズの大きいファイルを読み込む必要があります)。私のwebappのメインクラスを作成するかどうかは可能ですか?tomcatウェブアプリケーションのメインクラス

答えて

8

JavaEEのWebアプリケーションには、デスクトップアプリケーションと同じ意味で「メインクラス」はありません。実行は必ずmainメソッドで開始する必要がありますが、Webコンテナ(あなたの場合はTomcat)とリーチの外側で管理されます。

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

EDIT:好ましい方法は、詳細については、このanswerを参照して、コンテキスト・リスナーを使用することであるServlet仕様(2.3+)のより最近のバージョンでは

+1

はい。リスナーが行く方法です。 – cherouvim

+0

ありがとうございました! – TheFrenchGuy

関連する問題