私はtomcatでjavaサーブレットを使用しています。 私はハッシュテーブルにユーザー名とhttpsessionに属性usrnameを付けて保存します httpsessionが有効かどうかを知る方法があるかどうかを知りたいと思います。答えをjava httpsessionは有効ですか?
try{
String user = httpSession.getAttribute("username")
return "is valid";
}catch(IllegalStateException e){
return "is not valid";
}
TNKSが、私は、ユーザーがより多くの1つの場所から接続して「ログイン」という文句を言わないしない場合、私はどのように行うことができます。
は、私が試しましたか?私は新しいセッションを作成する場合にのみ私は制御する場合、私は彼が別のセッションに接続していたかどうかを知ることができません。
これは実際には有用ではありません。なぜなら、そこでの不正なStatExceptionの可能性に対処する必要があるからです。チェックとセッション取得の間のマイクロ秒でセッションが無効になる可能性があるためです。 – MJB
サーブレットのリクエストを渡す前にtomcatがセッションIDを見ると、まだタイムアウトしていないかどうかをチェックし、セッションを生き残らせる時間をリセットしていないデフォルトのセッション長が何であっても。いいえ? –
しかし、同時にログアウトを要求することができます。マルチスレッド、マルチサーブレット、覚えている? – MJB