`
羽鹤彬
  • 浏览: 49614 次
社区版块
存档分类
最新评论

tomcat 设置session失效时间(转载)

阅读更多
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的持久化配置成功。
分享到:
评论

相关推荐

    设定tomcat中session过期时间.txt

    ### 设定Tomcat中Session过期时间的三种方式 在Web开发中,Session管理是确保用户状态跟踪的重要机制之一。Tomcat作为一款广泛使用的Java应用服务器及Servlet容器,提供了多种方式来设定Session的有效时长。这有助...

    tomcat redis session.rar

    - 对Redis进行必要的安全和性能调优,如设置合适的过期时间、限制连接数等。 7. **优点**:使用Redis同步Session可以避免Session复制带来的网络开销,提高响应速度,同时增强了系统的可扩展性和可用性。 8. **...

    tomcat-session共享

    在构建分布式系统时,Session共享是一个关键问题,特别是在使用Linux上的Tomcat服务器集群与Nginx作为反向代理的情况。标题“tomcat-session共享”和描述中提到的问题,主要是指如何在多台Tomcat服务器之间以及通过...

    redis tomcat7 session共享

    例如,可以设置Session的过期时间,避免过多无用的Session占用内存。 通过以上步骤,我们可以成功地在`Tomcat7`中利用`Redis`实现Session共享,提高了系统的可扩展性和可用性。这种方法不仅适用于`Tomcat7`,还可以...

    Tomcat7+Redis+Session 负载之后session 共享 tomcat jar包

    描述中的"nignx 进行负载后session失效的完美解决,亲测可用"进一步确认了这个问题的解决方案是有效的。 在Web应用的高并发场景下,通常会采用负载均衡技术来分发请求到多个服务器,提高系统的可用性和响应速度。...

    nginx+tomcat shiro实现多tomcat下session共享

    可以通过设置合适的session过期时间、使用Redis的持久化机制以及监控Redis的性能,来优化session共享的效率和可靠性。 总结来说,"nginx+tomcat shiro实现多tomcat下session共享"是一种常见的分布式系统架构策略,...

    tomcat集群session共享jar tomcat7专用jar

    这里指定了使用RedissonSessionStore作为Session存储,并设置了Session过期时间(单位为秒)。 4. 最后,重启Tomcat,集群内的所有Tomcat实例都将使用相同的Redis实例来存储和检索Session。 这样,Tomcat7集群就...

    tomcat-redis-session-manager包集合下载(tomcat8)

    此外,还需要关注性能指标,如Redis的内存使用、网络延迟等,并根据实际需求进行调整,例如设置session过期策略、优化序列化算法等。 综上所述,"tomcat-redis-session-manager包集合"为使用Tomcat8和JDK1.8的...

    session过期时间设置

    在本文中,我们将详细讨论如何设置Session的过期时间以及在Session失效后进行相关操作。 首先,设置Session的过期时间主要是为了安全和性能考虑。默认情况下,Session可能会在服务器内存中长时间存储,消耗资源,...

    tomcat session存到mencache

    这里,`memcachedNodes`指定Memcache服务器的地址和端口,`operationTimeout`是操作超时时间,`maxInactiveInterval`是session的过期时间。 4. **配置session ID**:由于Memcache是无状态的,所以需要确保每个...

    tomcat-redis-session-manager的jar包-包含Tomcat7和Tomcat8

    例如,可以设置session的超时时间,当用户长时间无操作时,session将在Redis中自动失效。同时,通过配置多个Redis节点,可以在节点故障时实现session数据的无缝迁移,保证服务的连续性。 在性能方面,Redis的内存...

    redis-tomcat-session共享包

    5. **会话超时与过期策略**:在Redis中,你可以设置键的过期时间来对应Tomcat session的超时。在自定义`Manager`中,确保当session过期时,相应的Redis键也能被正确清理。 6. **安全与性能优化**:为了保证数据安全...

    Memcached-Session-Manager多tomcat实现session共享配置

    下面将详细介绍Memcached-Session-Manager的五种配置策略以及如何在Tomcat集群中进行设置。 1. **基本配置** Memcached-Session-Manager的基本配置涉及在每个Tomcat实例的`context.xml`或`server.xml`中添加一个`...

    Tomcat实现session共享demo

    还可以根据需求调整Redis的过期时间,避免Session过早或过晚失效。 此外,使用Redis进行Session共享时,还需要注意以下几点: - **安全性**:由于Session通常包含敏感信息,如用户ID,因此在使用Redis时应考虑数据...

    tomcat-redis-session-manager实现session共享 配置文件

    3. **Session过期**:设置Redis的过期时间来实现Session的自动失效,避免内存泄漏。 4. **负载均衡**:由于所有Session数据都在Redis中,无论用户请求哪台服务器,都能找到对应的Session,实现负载均衡下的Session...

    tomcat-redis-session-manager

    通过设置适当的过期策略,还可以防止session数据过度积累,避免内存压力。 值得注意的是,使用`tomcat-redis-session-manager`可能会带来额外的网络延迟,因为每次session操作都需要与Redis通信。因此,在大型...

    tomcat-session-manager环境构建资源

    标题“tomcat-session-manager环境构建资源”涉及到的是在IT领域中如何配置和管理Tomcat服务器的会话(Session)管理,特别是在一个高可用性(HA)的集群环境中。在这个场景中,Nginx通常作为反向代理服务器,而...

    tomcat redis session共享

    3. 配置Tomcat的`context.xml`或`web.xml`文件,指定Redis服务器的地址、端口以及Session的相关配置,例如过期时间、最大空闲时间等。 4. 修改Web应用的`Servlet`或`Filter`,在需要处理Session的地方,使用`...

    tomcat集群session共享jar(三个)

    例如,可以通过设置合适的session过期策略减少Redis的存储压力,或者使用Redis的持久化机制保障数据安全。 6. **安全性考虑**:因为session中可能包含敏感信息,所以在使用Redis共享session时,要确保Redis服务器的...

    Tomcat集群Session丢失解决方案

    NULL 博文链接:https://sch.iteye.com/blog/1278470

Global site tag (gtag.js) - Google Analytics