Tomcat的會話逾時可以在多個級别上設定:tomcat執行個體級别、Web應用級别、servlet級别以及運作時Context代碼級别。 較低級别(粒度細)的設定會覆寫較進階别的設定。
1. 在tomcat 容器 的conf/web.xml中,這裡是以分鐘為機關的,預設是30min
<!-- ==================== Default Session Configuration ================= -->
<!-- You can set the default session timeout (in minutes) for all newly -->
<!-- created sessions by modifying the value below. -->
<session-config>
<session-timeout>30</session-timeout>
</session-config>
2.在webapp中的 WEB-INF/web.xml,這裡是以分鐘為機關的,預設是30min
<!-- 配置Session失效時間 -->
<session-config>
<session-timeout>30</session-timeout>
</session-config>
3. 在程式中通過servlet api直接修改,設定機關為秒,設定為-1永不過期
HttpSession ses = request.getSession();
ses.setMaxInactiveInterval(10);
4. 在server.xml中定義context時采用如下定義
<!-- 逾時時間3600s -->
<Context path="/test"
docBase="D://test"
defaultSessionTimeOut="3600"
isWARExpanded="true"
isWARValidated="false"
isInvokerEnabled="true"
isWorkDirPersistent="false"
/>
附:
重新開機時保持會話
在關閉Tomcat執行個體/取消Web應用部署時,預設會把目前的活動會話儲存到硬碟上,并在重新開機啟動/部署 時在把會話從硬碟上加載到記憶體中。
檔案儲存在各目錄下的SESSIONS.SER中。有時可能會話中儲存了敏感資訊,或者不希望使用這個特 性,可以配置Context.xml檔案關閉這個選項。
配置 manager.pathname == ""即可,形如:
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<Manager pathname="" />
版權聲明:本文為CSDN部落客「weixin_34168880」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
原文連結:https://blog.csdn.net/weixin_34168880/article/details/92006312