2011-06-30 16 views
1

GWTアプリケーションをTomcatに配置する正しい方法は何ですか?私はサーバー側のコード(サーブレット)でGWTアプリケーションを作った。これはホストモードで動作しますが、WARフォルダ(コンパイル後)をTomcat webappディレクトリにコピーしてwarフォルダの名前を正しく変更した場合にのみ有効です。GWTをTomcatにデプロイする(サーブレットが実行されていない)

私のGWTアプリサーブレットはURI/mygwtappにあるので、mygwtappという名前を変更しました。アプリケーションは、サーブレットが実行されない、つまり/ mygwtapp/servletが実行されないという問題を正しくロードします。

サーバーサイドコードで必要とされるすべてのライブラリは、WEB-INF/libフォルダにあります。これの理由は何でしょうか?

ありがとうございました。

+0

tomcatログとは何ですか?また、サーブレットは正確に何をしていますか? – Jai

答えて

2

デフォルトでは、Tomcatはコンテキストパス '/ mygwtapp'から 'mygwtapp'という名前のアプリケーションを提供します。 (GWT組み込みJettyがコンテキストパス '/'からそれを提供するのに対し)

あなたのサーブレットパスは通常 '/ mygwtapp/*'になります。つまり、コンテキストパスに関連して、サーブレットは '/ mygwtapp/mygwtapp/*'からアクセスできるようになりました。 (試してみてください:ブラウザに完全なURLを入力するだけです。サーブレットは通常、何かが見つからない、またはGETをサポートしていないと不平を言いますが、現在どこにいるのか分かります)。

  1. 「*// mygwtapp/mygwtapp」でサーブレットを呼び出すために、クライアント側に知らせる(私が考える@RemoteServiceRelativePathアノテーションを使用している場合、これはすでに自動的に世話をしている)
  2. :次の2つのオプションが持っているので、

  3. http://tomcat.apache.org/tomcat-6.0-doc/config/context.html
  4. で説明されているように、TomcatでWebアプリケーションのコンテキストパスを調整します。
0

もう1つのオプションは、GWT.getModuleBaseURL()を使用して、クライアント側のコードでサーブレット名を追加することです。これにより、特別な設定をせずにjettyやTomcat上で動作させることができます。

関連する問題