2017-08-22 34 views
0

我有一个web应用war是建立与spring-boot-starter-web和运行在tomcat8web.xml会话超时没有考虑到春季启动web应用程序?

只有一个应用程序,我想增加会话超时。因此增加了以下文件:

/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分钟。为什么?

+0

你需要一个限制吗?为什么不把它彻底关掉?将其设置为0。 –

+0

这只是一个例子。但我需要一个确定的限制。 – membersound

回答

1

在标准的Maven项目,在WEB-INF文件夹在src /主/ web应用,而不是放在src /主/资源。这个问题可能来自于此。

您检查打包war文件的web.xml文件的位置。

你可以在这里找到一个例子项目结构:https://github.com/spring-projects/spring-boot/tree/v1.5.6.RELEASE/spring-boot-samples/spring-boot-sample-traditional

+0

据我所知'服务器。*'性能上的*嵌入式的Tomcat运行时,仅适用*。这就是为什么文档属性主题是明确的'#EMBEDDED SERVER CONFIGURATION'。但我有一个战争文件,我部署到独立的tomcat。 – membersound

+0

嗨,你能检查,当您打包WAR文件的web.xml文件是正确的WEB-INF/web.xml文件包?因为如果是这种情况,它应该起作用。在标准maven项目中,WEB-INF文件夹位于src/main/webapp中,而不在src/main/resources中。 你可以在这里看到一个标准的spring-boot web项目:https://github.com/spring-projects/spring-boot/tree/v1.5.6.RELEASE/spring-boot-samples/spring-boot-sample-traditional – loicmathieu

+0

好抓!将文件移动到'/ src/main/webapp/WEB-INF/web.xml'解决了它!你能否相应地重写你的答案,以便我能接受它? – membersound

相关问题