2012-03-17 3 views
0

要求のディスパッチャによるHTTPポストバック要求を別のプロジェクトのサーブレットに送信することは可能ですか?私は(.sendRedirectを使用して同じことを達成することができます戦争は同じserver.Iに配備されている両RequestDispatcherが同じサーバ上の別のWebアプリケーションにリクエストを転送する

HTTP Status 404 - /FilterI/http:/IP:8080/FilterII/RequestServlet 

type Status report 

message /FilterI/http:/IP:8080/FilterII/RequestServlet 

description The requested resource (/FilterI/http:/10.49.11.197:8080/FilterII/RequestServlet) is not available. 

...試みたが、

与えられたURLが同じプロジェクトにチェックインし、404エラーを与えています)function ..しかし、なぜそれがrequestdispatcherの助けを借りて実行されていません。

答えて

0

The javadocは言う:

は、それが現在のサーブレット・コンテキスト外 を拡張することはできないが指定されたパス名は、相対的であってもよいです。

(強調鉱山)

だから、何を求めていることはできません。

+0

Thanks.Iは、あなたがそれを設定する方法も1重要でないではないという事実に言及し、するのを忘れ – AngelsandDemons

1

はい、ServletContext APIを使用します。 ServletContext.getContext("othercontext")を使用して他のアプリケーションのサーブレットコンテキストを取得し、そのアプリケーション内のサーブレットの要求ディスパッチャを取得できます。以下は

これを行う方法を説明するコードです:

ServletContext otherCtx = currentServletContext.getContext("otherContext"); 
RequestDispatcher dispatcher = otherCtx.getRequestDispatcher("/forwardedPath"); 
dispatcher.forward(request, response); 
+0

...そのことはできません考え出しました:他のWebアプリケーションのコンテキストを取得する機能は、デフォルトでは*無効になっています。 – BalusC

+0

tomcatでは、context.xmlにcrossContext = "true"を入れる必要があります。 http://stackoverflow.com/a/6555794/21499 –

関連する問題