Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

web.xmlでのセッションタイムアウトの設定

java サーブレット & jspでプログラムを作成しています。
web.xmlでセッションタイムアウト時間を60分から1分に変更したのですが相変わらず60分のままです。web.xmlを変更しただけでは、だめなのでしょうか?
どなたか教えて下さい。

8

回答

78752

閲覧

8件の回答

評価

0

tomcatを再起動しましたか?

評価

0

tomcatを再起動したのですがそれでもだめです。

評価

0

再起動したら普通は反映されると思うのですが。
web.xmlの設定は正しいでしょうか?
tomcatのアプリケーションマネージャにログインした後で
http://localhost:8080/manager/sessions?path=/examples
のようにWebアプリのパスを指定すると、セッションタイムアウト時間を知ることが出来ます。
web.xmlの指定が正しければその値が、間違っていればおそらくデフォルトの30分が表示されるので、確認してみてください。

サーブレット内でsetMaxInactiveIntervalとか行っているとその設定に従うので、それも確認が要るかも知れません。

評価

0

mioさん、tamaさんご回答ありがとうございます。

tamaさんのご指示通りタイムアウト時間を調べるurlを入力したら下記のように出たのでweb.xmlの設定は問題ないと思うのですが。

OK - Session information for application at context path /uga00
Default maximum session inactive interval 1 minutes

ちなみに私の目的は、ある実行ボタンを押下した時、セッション変数の値が消滅してnullになっていたらログイン画面に戻るというロジックを書いたので、そのテストをする為に、セッションタイムアウト時間を1分にしたのですが、セッション変数にしっかりと値が残ってしまっているのです。

評価

0

ごめんなさい。
jspでsetMaxInactiveIntervalで60分を指定していました。
大変お騒がせ致しました。

ありがとうございました。

評価

0

そのコンテキストのweb.xmlのほうにも、タイムアウト値が指定してあるのでは?

評価

0

confファイルにもタイムアウト値が設定してありました。

評価

60

書いてるうちに、原因判明してたか。
複数の箇所で指定できるのは便利だけど、いざ変えたくなったときに困ることがある、という好例でしたね。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。