0

別のサーバー アプリケーションでサーブレットを呼び出すためにクロス コンテキストを使用しています。サーバー アプリケーション 'A' のサーブレット /bar は、サーバー アプリケーション 'B' で /foo サーブレットを呼び出します。

Abhijeet Ashok Muneshwar answer と同じように、この非常に優れたソリューションを使用しています。サーバー アプリケーション A からサーバー アプリケーション B の /foo サーブレットにリクエストを転送します。

クラス RequestDispatcher () を使用してリクエストを送信していますが、同じ呼び出しで応答が返されますか?

RequestDispatcher rd = context.getRequestDispatcher("/Servlet2");
rd.forward(request, response);

A のサーブレットでサーバー アプリケーション B からの応答を処理して返すにはどうすればよいですか。

ありがとう。

4

1 に答える 1

2

転送を使用すると、転送のターゲットに制御が渡されます。RequestDispatcher のもう 1 つのオプションは、インクルードを行うことです。

それ以上の制御が必要な場合は、HTTP クライアントを使用して応答を取得し、必要な処理を適用する必要がありますが、この方法で HTTP クライアントを使用することはお勧めしません。RequestDispatcher.include を使用できるように、アプリケーションをリファクタリングしたほうがよいでしょう。

于 2015-12-19T21:39:15.517 に答える