
HttpSessionListenerクラスに関して
(1)
セッションタイムアウト時にHttpSessionListenerを呼ぶ場合、
セッションタイムアウトエラー画面に遷移させたいのですが、
RequestDispatcher rd = sc.getRequestDispatcher("/jsp/error3.jsp");
rd.forward( request, response );
が使えないため困っております。
他に何かやり方があるのでしょうか?
教えて下さい。
(2)
多重ログイン防止のために、ログイン時にログインしたユーザーはフラグを変更させてログイン中と判定しようと考えているのですが、ログアウト時はフラグを戻せばいいかと思いますが
セッションタイムアウト時は、どのユーザーがログインしていたか分からなくなってしまうため
フラグを変更できず、永遠にログイン状態になってしまうのではないかと思い困っています。
多重ログイン防止する方法を教えて下さい。
A 回答 (3件)
- 最新から表示
- 回答順に表示

No.3
- 回答日時:
> (1)に関しては、セッションタイムアウト時に即座に遷移する方法を考えています。
であれば、画面からサーバへ逐一リクエスを投げてセッションがタイムアウトしているか問い合わせる仕組みが必要です。実装はJavaScriptになります。
サーバからクライアントへのメッセージポスト方法は、Webアプリケーションではありません。
>(2)に関しては、セッションにログイン情報を保持していればできると言う事ですか。
>ログイン情報を保持しているのですが、後からログインして来た方をログインさせて、先にログインしている方をログアウトさせる方法が分かりません。
ログイン情報はどこに保持してあるのですか?
多重ログインでそのような処理を実装しようとすれば、セッション情報をコンテナやDBなりで管理する必要がありそうです。
No.2
- 回答日時:
(1)
エラー画面への遷移をするのは
HttpSessionListenerではなく
web.xmlにまかせればいいのよ。
SessionTimeoutExceptionとか作ればいいわ。
もっともServletContextのインスタンスは取得可能だけど。
(2)
そのユーザー情報とフラグはどこに保持するの?
まずはそれを決めなくちゃね。
そもそもユーザー情報が存在しているってことは
ログイン中だとすればいいんじゃないかしら?
この回答への補足
回答ありがとうございます。
(1)に関しては、web.xmlにまかせる方法を調査したいと思います。
(2)に関しては、DBかsessionでログイン情報を保持していれば良いということですよね。

No.1
- 回答日時:
(1) HttpSessionListener#sessionDestroyed は、セッションが無効になった際に呼び出されるメソッドで、HTTPのレスポンスとは無関係なので使い方が間違っています。
セッションタイムアウト時に即座に遷移するのか、リクエスト時にセッションが無効になっているか判定して遷移するかによって、やり方は変わってきます。
(2) は、意味が分かりません。
ログイン時に、セッションにログイン情報を持っていれば HttpSessionListener#sessionDestroyed を使えば実現できるはずです。
この回答への補足
回答ありごとうございます。
(1)に関しては、セッションタイムアウト時に即座に遷移する方法を考えています。
(2)に関しては、セッションにログイン情報を保持していればできると言う事ですか。
ログイン情報を保持しているのですが、後からログインして来た方をログインさせて、先にログインしている方をログアウトさせる方法が分かりません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エラーページ遷移後に入力値を残す
-
javascriptでセッションを取得
-
setAttribute getAttribute 配...
-
セッションIDの桁数
-
セッションの情報の消去について
-
ASP.NETのGlobal.asaxについて
-
セッション情報の保持について
-
HttpSessionListenerクラスに関...
-
グローバルIPアドレスの変更タ...
-
sessionスコープとapplication...
-
jspからServletを呼び、元のjsp...
-
フォーム上で押されたボタンに...
-
ボタンが活性化の場合とは、ボ...
-
三菱GOTの画面切り替えについて
-
Java-jspの画面入力値保持について
-
webアプリを作ってます。エラー...
-
C言語で今まで表示していた画面...
-
JSPからJSPへ情報を渡せる?
-
【C#】 FormClosingのイベント...
-
java初心者です。 画面Aで情報...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptでセッションを取得
-
グローバルIPアドレスの変更タ...
-
setAttribute getAttribute 配...
-
エラーページ遷移後に入力値を残す
-
HTMLのSELECTタグの使い方、JSP...
-
JSPでsession変数が勝手に書き...
-
javascriptでセッションの削除...
-
sessionスコープとapplication...
-
リッチクライアントのセッション
-
aタグによる複数リンクを別セッ...
-
エクリプスを使ってのセッショ...
-
ASP.NETのGlobal.asaxについて
-
struts2でのフィルターを使った...
-
ドットネットフレームワークのD...
-
セッションタイムアウトの設定...
-
画面遷移でセッション切れにな...
-
フレームを使用した際のセッシ...
-
「最新の情報に更新」でリクエ...
-
Java/サーブレットでの一般的な...
-
JavaとJSPのセッションについて
おすすめ情報