`

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. **...

    redis tomcat7 session共享

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

    tomcat-session共享

    - 可以设置Session复制策略,例如只有在更新Session时才写入Redis,以减少网络开销。 总结来说,实现“tomcat-session共享”涉及到对Nginx负载均衡策略的理解,以及如何利用Redis这样的外部存储来实现跨服务器的...

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

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

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

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

    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是无状态的,所以需要确保每个...

    redis-tomcat-session共享包

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

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

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

    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