spring.session.timeout 对比 server.servlet.session.timeout

spring.session.timeout vs server.servlet.session.timeout

我希望通过 Spring 引导和 Tomcat 在 Spring MVC 应用程序中扩展用户会话。查看文档似乎有 2 个相关 properties:

server.servlet.session.timeout
spring.session.timeout

大多数例子似乎都建议使用 server.servlet.session.timeoutspring.session.timeout 的目的是什么?应该使用哪一个来延长用户会话?

您应该能够在 application.properties 文件中设置 server.session.timeout 来执行相同的操作

我认为,如果您在 application.properties 中添加 spring.session.timeout 使用 server.session.timeout[= 提到的会话超时值17=] 将被覆盖

spring.session.timeout 是来自名为 Spring Session 的 Spring 子项目的 属性。如果未设置,它将回退到 server.servlet.session.timeout

简而言之,Spring Session 允许您将 HttpSession 存储在 RDBMS / Redis / Hazelcast Cluster / MongoDB 而不是 Tomcat 中的内部映射。因此会话存储在与容器无关的方式并使会话集群更容易,因为您不需要配置 Tomcat 集群。

所以如果你不使用 Spring Session ,你应该使用 server.servlet.session.timeout