Tomcat 设置 Session 过期时间 的 四种方式
1、在 tomcat——>conf——>servler.xml 文件中定义:
<Context path="/test" docBase="/test"
defaultSessionTimeOut="3600" isWARExpanded="true"
isWARValidated="false" isInvokerEnabled="true"
isWorkDirPersistent="false"/>
2、在 web.xml
中定义:这个针对具体项目:
<session-config>
<session-timeout>20</session-timeout>
</session-config>
3、在程序中定义:这个就针对具体页面了:
session.setMaxInactiveInterval(30*60);
4、配置 tomcat 的 session 持久化:
<Manager
className="org.apache.catalina.session.PersistentManager"
saveOnRestart="true"
maxActiveSession="-1"
minIdleSwap="0"
maxIdleSwap="30"
maxIdleBackup="0"
>
<Store
className="org.apache.catalina.session.FileStore"
checkInterval=”60”
directory="../session"/>
</Manager>
或
<Store
calssName="org.apache.catalina.JDBCStore"
driverName="com.mysql.jdbc.Driver"
connectionURL="jdbc: mysql://localhost/tomsessionDB?user=root&password="
sessionTable="tomcat_session"
sessionIdCol="session_id"
sessionDataCol="session_data"
sessionValidCol="session_valid"
sessionMaxInactiveCol="max_inactive"
sessionLastAccessedCol="last_access"
sessionAppCol="app_name"
checkInterval="60"
debug="99" />
- maxActiveSessions-可处于活动状态的 session 数,default -1 不限制
- checkInterval - 检查 session 是否过期的时间间隔,default 60s
- saveOnRestart-服务器关闭时,是否将所有的 session 保存到文件中;
- minIdleSwap/maxIdleSwap-session 处于不活动状态最短/长时间(s),sesson 对象转移到 File Store 中;(-1 表示没有限制)
- maxIdleBackup-超过这一时间,将 session 备份。(-1 表示没有限制)
- directory-文件存储位置
work\Catalina\host name\web app\session\文件名.session
以下是设置 session 时间的 3 个方法:
1、在 tomcat——>conf——>servler.xml 文件中定义:
<Context path="/test" docBase="/test"
defaultSessionTimeOut="3600" isWARExpanded="true"
isWARValidated="false" isInvokerEnabled="true"
isWorkDirPersistent="false"/>
defaultSessionTimeOut="3600"
2、项目所在目录下的 web.xml 中定义:
<session-config>
<session-timeout>20</session-timeout>
</session-config>
3、在程序中定义:
session.setMaxInactiveInterval(30*60);
设置单位为秒,设置为-1 永不过期
不知道这种设置会不会真正地起到作用的哦!
session.setTimeout(你设置的时间);
这个也可以,但是和 ·setMaxInactiveInterval·有什么差别暂时没有体会。
实验:刚才用 方法 2
改了 tomcat 安装目录 /conf/
下的 web.xml
文件里的 session-timeout 但是实验后没有效果,
困惑了一会儿,发现错了,觉得应该改 项目下的 web.xml
文件里的 session-timeout。
实验之后果然可以了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论