spring boot 2.0以後,session超時在application.properties設置如下:
server.servlet.session.timeout=120
由於spring boot設置的session超時時間單位是秒,而spring boot的session超時時間最終要將其賦值給spring boot內置的tomcat,而tomcat的默認session超時時間單位是分(鍾),因此,spring boot的session超時時間設置需要是60的倍數,即tomcat的超時時間單位是整數;如果不是60的倍數,tomcat會自動進行轉化,
比如:
spring boot設置session超時時間是30秒,tomcat會轉成是1分鐘,默認是60秒。
1)程序中要獲取session的超時時間,獲取方式如下:
request.getSession().getMaxInactiveInterval();
2)session有效持續到銷燬的時間點方法爲:
new Date(request.getSession().getLastAccessedTime());
參考:
spring boot的session超時問題詳解;
https://www.cnblogs.com/ergexy/p/9684933.html