2

以下のように JSP コードでセッション属性を設定し、HTTP フォームをサーブレットに送信しています。

session.setAttribute("qnaInfo", qnaInfo);
System.out.println("session.getAttribute" + session.getAttribute("qnaInfo"));

以下のように、サーブレット コードでセッション属性を取得しようとしています。

HttpSession session = request.getSession(true);
AuthQnAInfo storedQnaInfo = (AuthQnAInfo) session.getAttribute("qnaInfo");

サーブレットでは、IE でのみ null です。しかし、Chromeでは値を取得します。
これを解決するのを手伝ってください。

4

2 に答える 2

1

すべてのブラウザで、session.getAttribute("aaaa") が機能しています。試してみてください

于 2013-08-09T10:33:43.820 に答える
0

ブラウザで Cookie が無効になっている場合、JSP ページのセッション追跡を有効にするにはどうすればよいですか?から :

ブラウザーが Cookie をサポートしていない場合、または Cookie が無効になっている場合でも、URL 書き換えを使用してセッション トラッキングを有効にすることができます。URL 書き換えには、基本的に、名前と値のペアとしてリンク自体にセッション ID が含まれます。ただし、これを有効にするには、サーブレット応答の一部であるすべてのリンクにセッション ID を追加する必要があります。リンクへのセッション ID の追加は、いくつかのメソッドによって大幅に簡素化されます。response.encodeURL() は、セッション ID を指定された URL に関連付けます。リダイレクトを使用している場合は、response.encodeRedirectURL() を指定して使用できます。入力としてリダイレクトされた URL。

encodeURL() と encodeRedirectedURL() はどちらも、最初に Cookie がブラウザでサポートされているかどうかを判断します。その場合、セッション ID は Cookie として保持されるため、入力 URL は変更されずに返されます。

于 2013-08-09T10:55:06.270 に答える