tomcat 设置session失效时间

简介:

from:‍http://feng10251225.blog.163.com /blog/static/63122798201010842828904/

 

‍tomcat在5.5以后,就没有自带admin项目了,如果要从http://localhost:8080界面进入tomcat管理页面,需 要从网上下载对应的tomcat-admin.zip,举个例子,如果你的tomcat是5.5.30的,需要从 http://tomcat.apache.org/download-55.cgi下载(在下载页面的Binary Distributions栏下的第四大项,Administration Web Application 即是)。解压以后,得到的文件夹里,东西都已经给你整理好了。

你只需要按照解压文件的目录,copy这些文件 到$CATALINA_BASE对应的目录下,项目映射文件admin.xml中的路径稍微改下,然后重启tomcat就行了。

在tomcat的conf目录下的tomcat-user.xml文件中还需要加

<role rolename="standard"/>

<role rolename="manager"/>

<role rolename="admin"/>

<user username="admin" password="admin" roles="standard,manager,admin"/>

来添加一个admin用户,这样就可以访问tomcat的admin页面了。

同样,我们可以访问 tomcat的manager页面来查看session的信息,在tomcat6.0以上的版本是自带了manager这个项目的,如果是 tomcat5.5.x的版本也需要去网上下载的,配置同admin。

这里说说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.在conf/context.xml文 件设置:这个是针对所有的项目了

打开context.xml,在<Context>节点下添加如 下<Manager>节点:

<Manager className="org.apache.catalina.session.PersistentM anager" >

debug=0

saveOnRestart="true"

maxActiveSession="-1"

minIdleSwap="-1"

maxIdleSwap="-1"

maxIdleBackup="-1"

<Store className="org.apache.catalina.session.FileStore" directory="../session" />

//这里代表的是文件持久化.也可以自己实现Store

</Manager>

saveOnRestart:(true/false)配置服务重启工程中对 session的处理,若为true,则关闭前把有效的session保存,启动后重新载入 maxActiveSession:活动状态Session的最大数,为-1时则不限制,否则Session Manager将会把超出的Session对象转移到Session Store中。

minIdleSwap:Session不活动的最短时间,超过该时间,Session Manager 可能会把该Session对象转移到Session Store中,单位为秒。

maxidleSwap:Session不活 动的最长时间,超过该时间,Session Manager 将会把该Session对象转移到Session Store中,该Session将不在内存中。

maxidleBackup: Session不活动的最长时间,超过该时间,Session Manager 将会把该Session对象备份到Session Store中,但该Session对象依然存在内存中。

<Store>指定实现持久化的类和Session存放 的文件位置,如该例子中指定的类是:org.apache.catalina.session.FileStore,而Session对象存放的目录则是 tomcat根目录下的 session文件夹(当然自己创建)

在第四种配置中,配置完后可以写一个简单的jsp页面,在页 面上显示本次用户访问的Session ID,然后重起tomcat,再刷新该页面,可以看到该Session Id不变,而在/session目录下自动生成一个以session id为名,以“session”为扩展名的文件。该Session的持久化配置成功。

相关文章
|
存储 负载均衡 NoSQL
Tomcat 9.X(9.0.74)集群实现Session共享(基于redisson)
本文主要介绍了tomcat集群环境下基于redis+Redisson实现session共享,分享给大家,供广大从业者学习和参考。
11758 4
|
8月前
|
应用服务中间件 容器
Tomcat的Session过期处理策略
Tomcat的Session过期处理策略
76 0
|
8月前
|
应用服务中间件 容器
Tomcat设置session超时的几种方式
Tomcat设置session超时的几种方式
243 0
|
负载均衡 NoSQL Java
基于redis 的tomcat session 同步
这里我把Redis放在/XX/下,所以在该目录下执行下列命令: $ wget http://download.redis.io/releases/redis-3.2.1.tar.gz $ tar xzf redis-3.2.1.tar.gz $ cd redis-3.2.1 $ make
129 0
|
负载均衡 Java 应用服务中间件
tomcat集群下的session共享和负载均衡(memcache实现)
tomcat集群下的session共享和负载均衡(memcache实现)
104 0
|
负载均衡 NoSQL Java
tomcat集群下的session共享和负载均衡(redis实现)
tomcat集群下的session共享和负载均衡(redis实现)
232 0
|
NoSQL Java 应用服务中间件
tomcat集群使用redis实现session共享
tomcat集群使用redis实现session共享
259 0
|
存储 负载均衡 NoSQL
tomcat集群环境下如何保证session一致性
tomcat集群环境下如何保证session一致性
203 0
tomcat集群环境下如何保证session一致性
|
NoSQL 应用服务中间件 Redis
tomcat redis session共享的解决方案SessionListener不执行
tomcat redis session共享的解决方案SessionListener不执行
|
NoSQL Java 应用服务中间件
tomcat redis session共享报错 lassNotFoundException: org.apache.commons.pool.impl.GenericObjectPool$Confi
tomcat redis session共享报错 lassNotFoundException: org.apache.commons.pool.impl.GenericObjectPool$Confi
110 0