- ベストアンサー
エクリプスを使ってのセッション課題
よろしくお願いいたします。 研修でエクリプスを使う実習をしています。 ブラウザからのアクセスを管理するために セッションを使用しているのですが、 一旦ブラウザを閉じたあともセッションが保持されて いるみたいなんです。 普通は二つブラウザを立ち上げれば別のものとして セッションが確立されると思うので質問させていただきました。 エクリプスを閉じて再立ち上げをすればセッションはなくなりました。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Eclipseは関係ありません。 Eclipseからアプリケーションサーバ(以下APサーバ)を起動していて、 そのAPサーバを再起動しただけなのでは? APサーバは、セッション情報をクッキーに保存するため、 ブラウザを閉じてもセッションが無効になるわけではありません。 セッションが無効となるのは、APサーバが無効と判断したときです。 セッションは、プログラム中でHttpSession#invalidate()を実行するか、 セッションタイムアウトで無効となります。 しかし、この場合は「ブラウザの閉じる」に対応できないため、 パスワード認証で対処すると良いと思います。 >普通は二つブラウザを立ち上げれば別のものとして >セッションが確立されると思うので質問させていただきました。 確か同じブラウザ(PC?)なら同じセッションになった気が…。
その他の回答 (2)
- pcbeginner
- ベストアンサー率46% (261/560)
>>普通は二つブラウザを立ち上げれば別のものとして >>セッションが確立されると思うので質問させていただきました。 > >確か同じブラウザ(PC?)なら同じセッションになった気が…。 セッションがない状態でブラウザのウィンドウを2つ起動して、それぞれからリクエストを投げると別々のセッションになります。 (別々のセッションIDのウィンドウが2つ) すでにセッションがあるブラウザのウィンドウからCtrl+Nなどで新しいウィンドウを開くと元のウィンドウのセッションが引き継がれます。 (同じセッションIDのウィンドウが2つになる。) たしかHttpSessionクラスにセッションIDを取得するメソッドがあったと思うので気になる方は試してみて下さい。
お礼
解決しました!! 自分はトップページのURLをうつのが面倒なので 一度トップページを開いたあと、そのページへの ショートカットをデスクトップにおいておいたんです。 それがいけなかったみたいで IEから起動してお気に入りから呼ぶと 別セッションとして認識してくれました。 セッションIDを使ってユーザー認証をかけていたので 別セッションだと認識してくれないと、 ユーザー認証画面すら飛んでくれず困っていたんです。 ありがとうございました。 お礼コピペさせていただきます。 ・・・なぜショートカットは駄目なんだぁ!!
- pcbeginner
- ベストアンサー率46% (261/560)
Eclipseは関係ないと思いますが… 試していないので、まったくの憶測ですが。 クライアントのブラウザを落としても、 サーバー側でセッションを参照しているオブジェクトがあれば、参照している間はセッションが残るのではないでしょうか? (あくまでも消えるのはサーバー~クライアント間のみ) ブラウザを落とした瞬間にセッションがなくなったら、NullPointerExceptionとか発生しそうですし…
お礼
解決しました!! 自分はトップページのURLをうつのが面倒なので 一度トップページを開いたあと、そのページへの ショートカットをデスクトップにおいておいたんです。 それがいけなかったみたいで IEから起動してお気に入りから呼ぶと 別セッションとして認識してくれました。 セッションIDを使ってユーザー認証をかけていたので 別セッションだと認識してくれないと、 ユーザー認証画面すら飛んでくれず困っていたんです。 ありがとうございました。 お礼コピペさせていただきます。 ・・・なぜショートカットは駄目なんだぁ!!
お礼
解決しました!! 自分はトップページのURLをうつのが面倒なので 一度トップページを開いたあと、そのページへの ショートカットをデスクトップにおいておいたんです。 それがいけなかったみたいで IEから起動してお気に入りから呼ぶと 別セッションとして認識してくれました。 セッションIDを使ってユーザー認証をかけていたので 別セッションだと認識してくれないと、 ユーザー認証画面すら飛んでくれず困っていたんです。 ありがとうございました。 お礼コピペさせていただきます。 ・・・なぜショートカットは駄目なんだぁ!!