Tomcatからサーブレットセッションに送信されるJSESSIONID Cookieの有効期限を設定する最良の方法は何ですか?
デフォルトでは、Cookieの有効期限は「セッション」であるように見えます。つまり、ブラウザが再起動するとすぐに、セッションはクライアントに表示されなくなります。しかし、ブラウザーを再起動した後でも、12時間開いたままにしておきたいです(それに応じてサーバーのセッションタイムアウトを構成します)。
Tomcat内で有効期限を設定する方法はありますか。いくつかの構成オプションまたは拡張モジュールを使用していますか?または、サーブレットフィルタを使用してJSESSIONIDの有効期限を設定する信頼できる方法はありますか?
サーブレット3.0以降では、これは単にweb.xmlで指定できます。
<session-config>
<session-timeout>720</session-timeout> <!-- 720 minutes = 12 hours -->
<cookie-config>
<max-age>43200</max-age> <!-- 43200 seconds = 12 hours -->
</cookie-config>
</session-config>
ご了承ください session-timeout
は分単位で測定されますが、max-age
は秒単位で測定されます。