Tomcat 设置 Session 过期时间 的 四种方式

发布于 2024-07-15 15:01:42 字数 2985 浏览 15 评论 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

无尽的现实

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

玍銹的英雄夢

文章 0 评论 0

我不会写诗

文章 0 评论 0

十六岁半

文章 0 评论 0

浸婚纱

文章 0 评论 0

qq_kJ6XkX

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文