- PR -

Tomcatでセッションの作成方法が知りたいです。

1
投稿者投稿内容
タンちゃん
会議室デビュー日: 2004/04/02
投稿数: 19
投稿日時: 2004-09-03 17:22
皆さん、こんにちは!!

李で〜〜す〜〜

質問がありまして、この掲示板に書かせて頂きます。

質問:Tomcatでセッションを作る方法が知りたいです。

環境:IIS5.0
   Tomcat4.1.18
   Struts1.02

内容:@メイン画面にログインする。     -->画面A
   Aメイン画面から別のウィンドウを開く。-->画面B
   B画面Aがセッションタイムアウトされても、
    画面Bはセッションタイムアウトされないようにしたいです。

 画面Bを開く時、新しいセッションを発行すれば解決できるかな?と
 思っていますが、新しいセッションを作ることによって解決できるかも
 わかりません。

 上記‘内容B’ができる方法があれば教えていただきたいです。
 それでは、宜しくお願いします。

 李敬浩
raystar
ぬし
会議室デビュー日: 2003/01/16
投稿数: 251
お住まい・勤務地: Tokyo/Japan
投稿日時: 2004-09-03 17:43
こんにちは。

ちょっと、質問の意味がわからないのですが、
セッションがタイムアウトしてしまえば、復元はできません。
メイン画面から別WINDOWを開くときにデータをPOSTしてあげたらどうでしょうか。

アイディアとしては
1.セッションをタイムアウトしないようにする (-1 を設定する)
2.小さいデータならば、 新しいWINDOWにデータをPOSTする
3. cookie を使う
タンちゃん
会議室デビュー日: 2004/04/02
投稿数: 19
投稿日時: 2004-09-03 19:14
ご返答ありがとうございます。

私の質問の内容が曖昧だったんですね。すみません。

質問の内容を改めて整理します

現状
@メイン画面に‘tom’がログインする -->画面A
Aセッションにユーザー情報(tom)が保存される
B画面AからDBに問い合わせを行う時、セッション情報‘tom’で、データをセレクトする
C画面Aから新しい画面を開く-->画面B
D画面BからDBに問い合わせを行う時、セッション情報‘tom’で、データをセレクトする
E画面Aから‘tom’がログアウトする

F画面Aに‘john’がログインする
Gセッションにユーザー情報(john)が保存される
H画面AからDBに問い合わせを行う時、セッション情報‘john’で、データをセレクトする
I画面BからDBに問い合わせを行う時、セッション情報が‘null’なので、エラーになってしまう

問題点
画面Aでユーザーが、‘tom’-->‘john’に変わった影響で、
画面Bのユーザーも‘tom’-->‘null’に変わりました

修正方向
画面Aは‘john’でデータをセレクトして、
画面Bは‘tom’でデータをセレクトできるようにしたいです

画面Aから画面Bを開く時、画面Aは既に持っているセッション情報を保持して、
画面Bには新しくセッションを作って与えたいことです

これで、説明ができたのですかね?^^;

では宜しくお願いします。


[ メッセージ編集済み 編集者: タンちゃん 編集日時 2004-09-03 21:02 ]

[ メッセージ編集済み 編集者: タンちゃん 編集日時 2004-09-03 21:57 ]
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-09-03 22:54
HttpSession がどのようにして保持されているかはご存知ですか?
JSESSIONID という名前のクッキーやクエリパラメータで ID を保持しているので同じクライアントに対して複数もたせることは出来ません。

ご要望の機能を実装するには HttpSession 機能をつかわないで独自でごりごりと実現するしかありません。
しかし標準の機能で実装されていないということは、かなり一般的でない要件/設計ということになりますので見直しを検討するのも良いでしょう。

[ メッセージ編集済み 編集者: インギ 編集日時 2004-09-03 22:55 ]
Anthyhime
ぬし
会議室デビュー日: 2002/09/10
投稿数: 437
投稿日時: 2004-09-04 19:04
IEとかのブラウザの仕様ではすべてのウインドウでCookieを共有してしまうので、一見すると無理そうですが。
Cookieの利用を完全にやめてしまってすべてのハイパーリンクとフォームのUrlをURLRewritingすれば別々のウインドウで別セッションを持たせることができると思います。
URLRewritingをgoogleってみてください。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-09-05 02:11
おぉ、そんな話題ありましたね!
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=8667&forum=12
タンちゃん
会議室デビュー日: 2004/04/02
投稿数: 19
投稿日時: 2004-09-06 10:08
スレありがとうございます。

教えて頂いたURLは参考しました。

指摘の通り実験して見て、また書き込みを残します。

李敬浩
1

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