2011-12-15 4 views
4

クッキーが無効の場合、どのようにセッションオブジェクトを管理できますか? URLエンコーディングがこのためにどのように使われていますか?ブラウザでクッキーが無効になっている場合のHttpsessionオブジェクトを使用したセッショントラッキング

+0

この記事を読む:セッションとセッションの永続性の使用 - http://docs.oracle.com/cd/E13222_01/wls/docs90/webapp/sessions.html – adatapost

答えて

5

サーブレットコンテナがこれを処理します。サイトに初めてアクセスしたときにURLを参照すると、URLにJSESSIONIDを追加するためにURLの書き換えが使用されます。

これは、サーバーがクッキーをサポートしているかどうかわからないクライアントにサーバーが最初に応答したためです。また、セッションIDの入ったクッキーを書きました.2番目のリクエストではクッキーをチェックし、存在する場合はURL書き換えを停止します。

0

それはあなたがおそらくそれも

1

のためにサーバーを設定する必要がありますが、レスポンスオブジェクトでのencodeRedirectURLを使用する必要がセッションにリクエストをマッピングするためにURLの末尾にjSessionIdを追加し、それはあなたのために役立つだろう、このブログを参照してください。

http://mytechbites.blogspot.com/2009/08/servlet-session-management-when-cookies.html

0

Find more details here

HTTP Sessions推奨されるアプローチです。セッションは、会話の期間中に同じブラウザから発生した要求を識別します。すべてのサーブレットは同じセッションを共有できます。 JSESSIONIDはサーバーによって生成され、クッキー、URLの書き換え(クッキーがオフになっている場合)または組み込みSSLメカニズムを介してクライアントに渡されます。セッションに格納されたオブジェクトのサイズを最小限に抑えるように注意し、セッションに格納されたオブジェクトは直列化可能にする必要があります。 Javaサーブレットでは、セッションは次のように取得できます。

HttpSession session = request.getSession(); //現在のセッションまたは新しいセッションを返します

セッションがタイムアウト(web.xmlで設定)されているか、手動で無効になっている可能性があります。

関連する問題