首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在web.xml中设置以秒为单位的会话超时?

如何在web.xml中设置以秒为单位的会话超时?
EN

Stack Overflow用户
提问于 2014-04-11 14:58:37
回答 5查看 73.9K关注 0票数 7

我需要将会话超时设置为40秒。我知道我们通常保持在20分钟。

但我当前的应用程序要求是将会话超时保持在40秒。web.xml仅接受整数值为1,但不接受0.6。有没有办法写这篇文章?我们在Apache tomcat服务器上运行我们的java web应用程序。

那么,如何在web.xml中设置以秒为单位的会话超时呢?

EN

回答 5

Stack Overflow用户

发布于 2014-04-11 15:00:08

使用,您只能设置以分钟为单位的超时

代码语言:javascript
运行
复制
<session-config>
    <session-timeout>1</session-timeout>
</session-config>

但是使用servlet API,您可以为HttpSession容器设置会话超时,单位为秒

代码语言:javascript
运行
复制
HttpSession session = request.getSession();
session.setMaxInactiveInterval(40);

推荐阅读:Deployment Descriptor Elements

票数 13
EN

Stack Overflow用户

发布于 2014-04-11 15:10:49

在web.xml文件中,您可以在几分钟内提供

代码语言:javascript
运行
复制
<session-config>
    <session-timeout>Minutes</session-timeout>
</session-config>

但是您可以通过编程提供以秒为单位的值

代码语言:javascript
运行
复制
HttpSession session = request.getSession();
session.setMaxInactiveInterval(20*60);
票数 3
EN

Stack Overflow用户

发布于 2016-03-15 16:17:41

代码语言:javascript
运行
复制
1) Timeout in the deployment descriptor (web.xml)

-以分钟为单位指定超时值,用session-config元素括起来。

标记

代码语言:javascript
运行
复制
<web-app ...>
    <session-config>
        <session-timeout>20</session-timeout>
    </session-config>
</web-app>

以上设置适用于整个web应用程序,如果客户端在20分钟后没有发出任何请求,则会话将被容器终止。

代码语言:javascript
运行
复制
2) Timeout with setMaxInactiveInterval()

-您可以手动指定特定会话的超时值,单位为秒。

Java

代码语言:javascript
运行
复制
HttpSession session = request.getSession();
session.setMaxInactiveInterval(20*60);

上述设置仅适用于调用“setMaxInactiveInterval()”方法会话,如果客户端在20分钟后没有发出任何请求,则会话将被容器终止。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23005600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档