IBM Support

HTTP会话超时设置以及覆盖优先级规则

Technote (troubleshooting)


本文档仅适用于以下语言版本:

简体中文

问题(摘要)

您可以在 IBM® WebSphere® 应用服务器的管理控制台的好几个地方设置HTTP会话超时的设置。您也可以设置在应用打包过程中设置会话超时。

因为您可以在多处设置会话超时,所以您可能会想知道一个应用的会话超时是由什么地方决定的。

解决问题

HTTP 会话超时可以通过以下的办法设置:

  • 在服务器、企业应用程序、Web应用等不同级别分别设置
  • 当应用在被打包的时候设置
  • 在应用程序代码里设置

通过管理控制台设置HTTP会话超时
1. 您可以在应用服务器级别设置HTTP会话超时。请登录管理控制台,点击服务器类型 > 应用服务器 > 您的服务器名 > Web容器设置 > 会话管理。

在此页面的会话超时部分,您可以选择“无超时”或者“设置超时”。如果您选择设置超时,请在文本框里输入合适的数值,单位为分钟。

2. 您也可以在企业应用级别设置会话超时。请登录管理控制台,点击应用程序 > 企业应用程序 > 您的应用程序名 > 会话管理。

请勾上“覆盖会话管理”复选框,并选择“设置超时”然后输入超时的时间,以分钟为单位。这样您在应用级别上对会话进行的设置将覆盖上一级别,也就是服务器级别的设置。

3. 您还可以在Web应用级别设置会话超时。在管理控制台里,点击应用程序 > 企业应用程序 > 您的应用程序名 > Web模块 > 您的Web应用名 > 会话管理。

请勾上“覆盖会话管理”复选框,并选择“设置超时”然后输入超时的时间,以分钟为单位。这样您在应用级别上对会话进行的设置将覆盖上一级别,也就是服务器级别或者企业应用级别里的设置。

在修改完设置后请保存至主配置。

在应用程序打包时设置HTTP会话超时

应用程序开发人员也可以在应用程序打包的时候配置HTTP会话超时,设置的超时的值将会被存储在这个Web应用的web.xml文件里。

这里的设置将会覆盖以上通过管理控制台设置的各个级别的会话超时的值。您可以通过重新打包应用,或者直接在web.xml文件里修改这个值。下面是一个web.xml文件的示例:

         <session-config>
         <session-timeout>60</session-timeout>
      </session-config>
示例里"session-timeout"就是您设置的会话超时的数值,以分钟为单位。

在应用程序代码里设置HTTP会话超时

最后,您也可以在应用代码里设置HTTP会话超时。开发人员可以通过调用HttpSession对象的setMaxInactiveInterval() 方法来设置这个超时值。这里设置的值会覆盖其他任何地方设置的会话超时的值。

HTTP会话超时覆盖优先级总结

下面的列表给出了在哪里的设置将最终决定HTTP会话超时的值。

1. 服务器级别 最低级别
2. 企业应用程序级别 当勾上“覆盖会话管理”复选框时将会覆盖服务器级别的设置
3. Web应用级别 当勾上“覆盖会话管理”复选框时将会覆盖服务器级别和企业应用程序级别的设置
4. 应用程序级别(web.xml) 覆盖服务器级别,企业应用程序级别以及Web应用级别的设置
5. 应用程序代码 覆盖以上所有级别的设置

相关信息

An US English translation is available


交叉引用信息
分段 产品 组件 平台 版本 修订版
Application Servers WebSphere Application Server Java SDK

Document information

More support for: WebSphere Application Server
Sessions and Session Management

Software version: 7.0, 8.0, 8.5, 9.0

Operating system(s): AIX, HP-UX, Linux, Solaris, Windows

Software edition: Base, Network Deployment

Reference #: 1659740

Modified date: 12 December 2013