www.junmt.info

I love the guiter.


2024年5月 6日(月) 03:38 JST

HttpSessionListenerの謎

アプリ関連

javaのHttpSessionListenerでハマったのでメモ。

まず、テスト中にsessionCreatedで新しいセッションが作られたイベントが取れていないことが判明。
再現方法を見つけてデバッカで追ってみたところ、sessionCreated自体が呼ばれていませんでした。

1)ブラウザ上から対象のServletにアクセスしてセッションを生成。(ブラウザを閉じない)
2)Tomcatを停止
3)Tomcatを起動 ←この時点でTomcat上にセッションは当然残っていない
4)1で使ったブラウザでアクセス。
5)sessionCreatedが呼ばれない。でもセッションが生成されている。

で、この原因ですが、以下のとおり。

ブラウザに以前のセッション情報(cookie)が残っているとアプリケーションサーバ側にセッションが無くても(同じセッションIDを発行して?)sessionCreatedが呼ばれない。
一部の携帯電話のようにセッション情報(cookie)を保持できない場合は必ずsessionCreatedが呼ばれる。
# 書いてあったサイトを転載しようかと思ったところ、忘れてしまった。。
# 海外のどっかのフォラームより。

試していないけど、GETパラメータ等にjsessionidを付与した場合も同じなんでしょうかね。。

トラックバック

このエントリのトラックバックURL: http://www.junmt.info/trackback.php/20100929235936213

この記事にはトラックバック・コメントがありません。
HttpSessionListenerの謎 | 0 コメント | アカウントの登録
以下のコメントは、その投稿者が所有するものでサイト管理者はコメントに関する責任を負いません。