WebLogic如何设置session超时时间

本文详细介绍了如何在WebLogic环境中通过web.xml、weblogic.xml及JSP、Servlet代码来设置Session的超时时间,并解释了在多个配置文件中设置时的优先级规则。
1、web.xml 
设置WEB应用程序描述符web.xml里的<session-timeout>元素。这个值以分钟为单位,并覆盖weblogic.xml中的TimeoutSecs属性
  <session-config>
    <session-timeout>60</session-timeout>
  </session-config>
此例表示Session将在60分钟后过期
当<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


如果使用WEBLOGIC作为应用服务器,设置SESSION超时时间会选择在WEBLOGIC的控制台设定。实际上,WEBLOGIC是将超时设定保存在WEB-INF下的weblogic.xml中,格式如下:
<session-descriptor>
    <session-param>
      <param-name>TimeoutSecs</param-name>
      <param-value>7200</param-value>
    </session-param>
</session-descriptor>
param-value中的数值就是超时时间,单位为秒。在设置完这个参数后,会发现超时时间并一定起效。这是为什么呢?
原来在WEB-INF下还有一个配置文件web.xml,里面同样会有一段设置session,格式如下:
<session-config>
     <session-timeout>30</session-timeout>
</session-config>
session-timeout中的值也是超时时间,单位为分钟。
如果在两个文件中同时设置了超时时间,则会以web.xml中为准。
所以在weblogic环境中,最好将web.xml中关于超时的设置删掉,保持唯一性。


web.xml的session-timeout设为-1,问题解决;
【源码免费下载链接】:https://renmaiwang.cn/s/0388z WebLogic设置Session超时时间是一项功能丰富且实用的操作。本文将指导您掌握通过不同途径配置Session超时时间的方法,从而更好地管理WebLogic服务的性能与稳定性。 首先,可通过修改`.conf`文件中的配置信息来设定会话超时时间。具体而言,在指定目录下创建或编辑`.web.xml`文件,并在其中添加相应的属性设置项。例如: ```xml <session-config> <session-timeout>60</session-timeout> </session-config> ``` 上例中,我们设置Session超时时间为1小时(即60分钟)。需要注意的是,该配置参数的有效范围为1到24小时,并且其默认值为8小时。如果需要更精细地控制超时时间,则可以参考其他相关设置。 其次,在WebLogic环境中还可以通过修改`.weblogic.xml`文件来指定Session超时时间属性。这种方式通常用于高级配置或自定义应用服务器的行为模式。例如: ```xml <session-descriptor> <session-param> <param-name>TimeoutSecs</param-name> <param-value>3600</param-value> </session-param> </session-descriptor> ``` 上述设置Session超时时间指定为1小时(即3600秒)。需要注意的是,默认情况下,`TimeoutSecs`属性的值会被应用到所有相关的会话配置中。如果需要针对特定用户或场景调整超时时间,则可以考虑通过其他方式实现。 最后,除了通过文件配置外,还可以在Console控制台界面中进行Session超时时间设置。这
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值