Avi*_*rua 8 java session spring tomcat server
根据Spring Boot的文档,可以通过设置会话超时来配置
server.servlet.session.timeout= 300s
Run Code Online (Sandbox Code Playgroud)
在application.properties文件中。在这篇文章和Spring Boot文档中也是如此。但不幸的是,这对我不起作用。
还有其他配置可以达到预期效果吗?
我发布答案是因为这种情况对我来说是新的。而且我还没有一步一步得到适当的解决方案。根据M. Deinum我的建议web.xml在WEB-INF文件夹下创建了一个文件。项目结构就像
src
|_ main
|_ java
|_ resources
|_ webapp
|_ WEB-INF
|_ web.xml
Run Code Online (Sandbox Code Playgroud)
而在web.xml我配置 <session-timeout>...</session-timeout>
我web.xml的就像
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<session-config>
<session-timeout>5</session-timeout>
</session-config>
</web-app>
Run Code Online (Sandbox Code Playgroud)
现在我的 webapp 在服务器中的会话时间根据我的配置工作。感谢去M. Deinum
此问题的一个可能原因可能是使用@EnableRedisHttpSession. 如本答案所述:
通过使用 @EnableRedisHttpSession,您告诉 Spring Boot 您希望完全控制基于 Redis 的 HTTP 会话的配置。因此,它的自动配置会停止,并且 server.servlet.session.timeout 不起作用。如果你想使用 server.servlet.session.timeout 那么你应该删除@EnableRedisHttpSession。或者,如果您想使用 @EnableRedisHttpSession 那么您应该使用 maxInactiveIntervalInSeconds 属性来配置会话超时。
希望这可以帮助某人。
小智 5
您可以使用方法1:
server.servlet.session.timeout=30s
server.servlet.session.cookie.max-age=30s
Run Code Online (Sandbox Code Playgroud)
它对我来说很好用
| 归档时间: |
|
| 查看次数: |
4841 次 |
| 最近记录: |