猿问

java web为什么我的session过期时间设为永不过期,浏览器session还是会过期

java web为什么我的session过期时间设为永不过期,浏览器session还是会过期


慕姐4208626
浏览 1513回答 2
2回答

慕婉清6462132

Tomcat Session过期时间Tomcat采用数据库连接池技术,当用户在一定时间不对数据库有操作时间后,就自动关闭这个连接,这是为了更好的利用资源,防止浪费宝贵的数据库连接资源。可以采用如下三种方式,设置这个连接(Session)的过期时间:前两个都是修改tomcat的配置文件conf1. 在server.xml中定义context时采用如下定义:xml 代码<Context path="/livsorder" docBase="/home/httpd/html/livsorder"  defaultSessionTimeOut="3600" isWARExpanded="true"  isWARValidated="false" isInvokerEnabled="true"  isWorkDirPersistent="false"/>3600秒=1小时2. 在web.xml中通过参数指定:xml 代码<session-config><session-timeout>30</session-timeout></session-config>其中30表示30分钟3. 在程序中通过servlet api直接修改java 代码HttpSession ses = request.getSession();ses.setMaxInactiveInterval(10);设置单位为秒,设置为-1永不过期。&nbsp;

慕的地6264312

session是服务器端的,和浏览器无关。每次发送请求,会重置session的过期时间,一般web服务器的session过期时间都是几十分钟到1小时,持续发送,session就不会过期。但这个期限,不是“永远”的,不同的web服务器,功能有所不同,但各种重启和回收都可能导致session过期,持续发送的请求也没有用。
随时随地看视频慕课网APP

相关分类

Java
我要回答