0

シナリオ: ユーザーが Web コンテナー A (Apache Tomcat) にアクセスし、A がセッション スコープに値を設定し、

HttpServletRequest.getSession().setAttribute(“key”, “value”);

ユーザーを別の Web コンテナー B (php サーバー) にリダイレクトします。

HttpServletResponse.sendRedirect("path to server B");

B は、A によって設定されたセッション スコープで同じ値を取得できますか?

HttpServletRequest.getSession().getAttribute(“key”);

この質問によると、Java サーブレット アプリケーション スコープ リダイレクト

同じコンテナリダイレクトしている可能性がありますが httpsessionは同じVMにあるか、負荷分散サーバーの別のコンテナにあります

リダイレクト中に 2 つの異なるサーバー (Java と PHP) 間で属性を渡したい場合はどうすればよいですか?

私の考えを正しく表現したいのですが、アドバイスをいただければ幸いです。ありがとうございます。

4

1 に答える 1

2

Java Web サーバーと PHP Web サーバーの間で属性を渡したい場合は、それらを送信 HTTP 要求に要求パラメーターとして (クエリ文字列の一部として、HTTP URL の の後の部分として?) 追加する必要があります。

Java Web サーバーのHttpSession情報はサーバー側で利用可能であり、JSESSIONID要求パラメーターまたは Cookie (ブラウザーが Cookie をサポートしているかどうかに基づく) を介して 2 つのステートレス HTTP セッション間で接続されます。そのため、Java Web サーバーのセッションで設定された属性は、PHP Web サーバーでは使用できません。

于 2012-10-02T03:32:27.473 に答える