今天测试需要,需要对session设置时间,百度了一下,稍作整理
一共有三种方法设置session,
1.设置tomcat配置,
①在server.xml中定义context中 如下定义:
<Context path="/livsorder" docBase="/home/httpd/html/livsorder" defaultSessionTimeOut="3600" isWARExpanded="true" isWARValidated="false" isInvokerEnabled="true" isWorkDirPersistent="false"/>
②在/conf.web.xml中
找到<session-config>元素,tomcat默认设置是30分钟,只要修改这个值就可以了。
2.在主页面或者公共页面中加入:
java 代码
1.HttpSession ses = request.getSession(); 2.ses.setMaxInactiveInterval(10);
session.setMaxInactiveInterval(900);
参数900单位是秒,即在没有活动15分钟后,session将失效。 这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。所以如果是在调试程序,应该是修改服务器端时间来测试,而不是客户端。
3.在项目,web.xml中
<session-config>
<session-timeout>15</session-timeout> </session-config>
注意是按照分来计算的。
http://wenku.baidu.com/link?url=OKfDiZR0PcNhzZNsZRxxZRY57bwVR-ziDwL_d3_u388JF29VFPc00R5Xk-N0ELZ2D1q8l5nRSl64L-o3GReNdB28V96u4EqpvRwOjKvusma
另有一点session的特点介绍
Session具有以下特点:
(1)Session中的数据保存在服务器端;
(2)Session中可以保存任意类型的数据;
(2)Session默认的生命周期是20分钟,可以手动设置更长或更短的时间。
至于设置可以用代码设置或者在Web.config中配置,不过不建议将Session的超时时间设置过长,因为默认情况下Session在内存中保存,设置时间过长保存的数据过大的话会导致内存不足。