2

同じJ2EEアプリケーションサーバーにデプロイされている2つのWebアプリケーションがあります。あるWebアプリケーションから別のWebアプリケーションにリダイレクトする必要があります。また、Webアプリケーション1のヘッダーに情報を設定して、Webアプリケーション2で使用できるようにする必要があります。WebApp2のWeb App1のヘッダーに設定されている情報にアクセスしようとすると、「null」になります。 。response.sendRedirect("http://localhost/webapp2")Webアプリケーション1でリダイレクトに使用しています。これを解決するのを手伝ってください。

ありがとう、アプリ。

4

3 に答える 3

8

リダイレクトはクライアント(ブラウザ)によって処理されます。したがって、クライアントのみが送信したヘッダーを取得します。ヘッダーは、リダイレクト先のWebアプリには渡されません。

次のいずれかの操作を実行して、あるWebアプリから別のWebアプリに情報を渡すことができます。

  • リクエストパラメータとしてデータを渡す
  • パス制限なしでデータをCookieとして送信する
  • クロスコンテキストディスパッチを使用する

クライアントが受信したCookieはサーバーに返送されます。クライアントは、それが別のWebアプリであることを知りません。Cookieのパスをに設定する必要があります/

クロスコンテキストディスパッチは、コンテナの内部転送によって実行されます(ServletContextのRequestDispatcherを使用します)。クライアントは決して知りません。リクエストは別のウェブアプリによって処理されます。データを渡すためのリクエスト属性を設定できます。クロスコンテキストディスパッチは、セキュリティ上の理由からコンテナで有効にする必要があります。

于 2010-09-20T07:22:59.597 に答える
1

情報をURLパラメータとして送信できます。

にリダイレクトhttp://localhost/webapp2?param1=value1&param2=value2 ....

于 2010-09-20T07:05:38.973 に答える
0

オプションの1つは、sendRedirect呼び出しで使用したURLのGET属性として情報を単純に渡すことです。

于 2010-09-20T07:06:12.933 に答える