- PR -

sessionについて

1
投稿者投稿内容
Pucci
会議室デビュー日: 2008/10/28
投稿数: 10
投稿日時: 2008-10-28 11:08
sessionについて勉強しています。
開発環境は
Tomcat5.5
IE6
JSP

実際にしたいことは
http://www.thinkit.co.jp/free/tech/7/4/1.html
の『セッションIDの搬送方法とリクエストフォージェリー 』見出しにある
hiddenフィールドでのsession管理を実現したいと思っています。



検証内容
session.jsp sessionにデータをセットして、フォームでview.jspに遷移します

view.jsp session.jspでセットしたデータを表示


IEのインターネットオプションのプライバシーの設定で
1『中』
2『すべてのCookieをブロック』

を設定した場合で動作検証をしています。
1はsessionにセットしたデータを表示してくれます。
2はNULL値が帰ってきます。

Cookieをブロックしている場合にsessionにセットしたデータを
戻すことはできるのでしょうか?

教えて下さい。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2008-10-28 11:34
JavaのServletAPIの場合、hiddenフィールドでセッション管理というのはできません。

厳密に言うと、完全に自前でフル実装するなら好きなように出来ますが、
クッキーが利用できない場合、URLに、
;jsessionid=9147912749172497
という感じでセッションIDを付けないと、
ServletAPIのHttpSessionオブジェクトをセッションとして利用できません。
Pucci
会議室デビュー日: 2008/10/28
投稿数: 10
投稿日時: 2008-10-28 12:12
かつのり先生、どうもです。
再度修行します。

ユーザがブラウザ設定で『すべてのCookieをブロック』している場合は
エラー出力とします。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2008-10-29 00:12
単に mod_rewrite で ";jsessionid=...." を削除してしまう方法はいかがでしょうか?
アプリケーションでなにも処理する必要がなくなります。
Pucci
会議室デビュー日: 2008/10/28
投稿数: 10
投稿日時: 2008-10-29 11:29
インギ先生ありがとうございます。
mod_rewriteを調査中です。
まだ理解できませぬ。
rewriteって
view.jsp;jsessionid=xxx → view.jsp
にするって事ですよね。

jsessionidはどこに保存されるのでしょうか
教えてください。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2008-10-29 12:16
>view.jsp;jsessionid=xxx → view.jsp
はい。ご認識の通りです。

>jsessionidはどこに保存されるのでしょうか
質問の意図がよくわからなかったのですが、jsessionidが保存される可能性があるのは
・htmlに含まれるaタグのリンクとしてブラウザのメモリ上、キャッシュ上
・サーブレットコンテナのヒープ上
・プロキシサーバのメモリ上
・サーブレットコンテナがセッションを永続化していればファイルやデータベース上
といったところでしょうか。
Pucci
会議室デビュー日: 2008/10/28
投稿数: 10
投稿日時: 2008-10-29 14:22
インギ先生、ありがとうございます。

質問の意図失礼致しました。
話が戻ってしまいますが
mod_rewrite で ";jsessionid=...." を削除した場合
ブラウザが『すべてのCookieをブロック』している状況で
view.jspでsession.jspにセットしたデータが表示出来るって事でしょうか?


[ メッセージ編集済み 編集者: Pucci 編集日時 2008-10-29 14:22 ]
1

スキルアップ/キャリアアップ(JOB@IT)