规则说明:可以在中间件上设置,也可以在产品war包中WEB-INF/web.xml中配置,不配置时默认是30分钟。当中间件和产品web.xml上均配置时,产品web.xml优先级更高。
一、产品Web.xml上配置方法
把这句配置前后的注释去掉,然后修改数值,单位是分钟
注:此设置方法可适用于基于公共平台开发的产品(包括i和BI)
二、中间件上会话超时设置方法
2.1 Tomcat
tomcat的会话超时可以在多个级别上设置,从高到低有:tomcat实例级别、Web应 用级别、servlet级别以及运行时Context代码级别。较低级别的设定会覆盖较高级别的设定。
一般常用的是在前面两个级别上设置,分别在 /conf/web.xml和/webapps/yourapp/WEB-INF/web.xml(其中web应用级别设置即上面介绍的产品war包中设置方法),形如:
单位为分钟,默认值是30分钟。
另外servlet级别以及运行时Context代码级别设置可做了解:
1、在程序中通过servlet api直接修改
HttpSession ses = request.getSession();
ses.setMaxInactiveInterval(10);
设置单位为秒,设置为-1永不过期。
2、为单个Servlet指定会话超时时间
在WEB.XML中添加xml 代码,格式如下:
<servlet>
<servlet-name>Servlet名称</servlet-name>
<servlet-class>Servlet类路径</servlet-class>
<init-param>
<param-name>timeout</param-name>
<param-value>600</param-value>
</init-param>
</servlet>
例如:
3、在server.xml中定义context时采用如下定义:
<Context path="/livsorder" docBase="/home/httpd/html/livsorder"
defaultSessionTimeOut="3600" isWARExpanded="true"
isWARValidated="false" isInvokerEnabled="true"
isWorkDirPersistent="false"/>
参考网址:
http://www.cnblogs.com/lcword/p/5777009.html
https://wenku.baidu.com/view/935e39ecb8f67c1cfad6b8bc.html
2.2 Weblogic
有4种方式设置超时时间:
1、 web.xml
设置WEB应用程序描述符web.xml里的<session-timeout>元素。这个值以分钟为
单位,并覆盖weblogic.xml中的TimeoutSecs属性
<session-config>
<session-timeout>54</session-timeout>
</session-config>
此例表示Session将在54分钟后过期
当<session-timeout>设置为-2,表示将使用在weblogic.xml中设置的
TimeoutSecs这个属性值。
当<session-timeout>设置为-1,表示Session将永不过期,而忽略在
weblogic.xml中设置的TimeoutSecs属性值。
该属性值可以通过console控制台来设置
2、weblogic.xml
设置WebLogic特有部署描述符weblogic.xml的<session-descriptor>元素的
TimeoutSecs属性。这个值以秒为单位
<session-descriptor>
<session-param>
<param-name>TimeoutSecs</param-name>
<param-value>3600</param-value>
</session-param>
</session-descriptor>
默认值是3600秒
3、jsp中控制
session.setmaxinactiveinterval(7200);
session是默认对象,可以直接引用,单位秒s
4、servlet中控制
httpsession session = request.getsession();
session.setmaxinactiveinterval(7200);
单位秒s
参考网址:http://blog.csdn.net/big1980/article/details/6303890
备注:在weblgoic的console中:xxDomain->Servers->xxServer->Protocols->HTTP 中有一个关于Post Timeout的配置,但这个参数一般使用默认值即可。
BI中若出现如下报错,可能是Post Timeout参数值设置错误导致:
报错日志中有如下信息:
解决方案:
在weblgoic的console中:xxDomain->Servers->xxServer->Protocols->HTTP Post Timeout:30 默认为30,改为80(单位是秒)
请先登录