我有一个war
web应用程序,它是用spring-boot-starter-web
构建并在tomcat8
上运行的。
对于一个应用程序,我只想增加会话超时。因此添加了以下文件:
/src/main/resources/WEB-INF/web.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<session-config>
<session-timeout>600</session-timeout>
</session-config>
</web-app>
但 TTL 会话超时仍保持默认的 30 分钟。为什么?
在标准的 maven 项目中,WEB-INF 文件夹位于 src/main/webapp 中,而不是在 src/main/resources 中。问题可能来自此。
检查打包的 war 文件以获取 web.xml 文件的位置。
您可以在此处找到示例项目结构: https://github.com/spring-projects/spring-boot/tree/v1.5.6.RELEASE/spring-boot-samples/spring-boot-sample-traditional