web应用之tomcat6配置Session配置

本文详细介绍了如何在Tomcat中配置session过期时间,并添加一个admin用户,使得用户能够访问Tomcat的admin和manager页面。包括在不同文件中设置session时间的方法,以及如何在conf目录下的tomcat-user.xml文件中添加管理员账号。

转至: http://www.eoeandroid.com/thread-96504-1-1.html

 

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

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

java代码:

  1. <role rolename=”standard”/>
  2. <role rolename=”manager”/>
  3. <role rolename=”admin”/>
  4. <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文件中定义:

java代码:

  1. <Context path=”/test” docBase=”/test”
  2. defaultSessionTimeOut=”3600″ isWARExpanded=”true”
  3. isWARValidated=”false” isInvokerEnabled=”true”
  4. isWorkDirPersistent=”false”/>
复制代码


       2. 在web.xml中定义:这个针对具体项目

java代码:

  1. <session-config>
  2. <session-timeout>20</session-timeout>
  3. </session-config>
复制代码


       3. 在程序中定义:这个就针对具体页面了

java代码:

  1. session.setMaxInactiveInterval(30*60);
复制代码


        4.在conf/context.xml文件设置:这个是针对所有的项目了打开context.xml,在<Context>节点下添加如下<Manager>节点:

java代码:

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

  2. debug=0
  3. saveOnRestart=”true”
  4. maxActiveSession=”-1″
  5. minIdleSwap=”-1″
  6. maxIdleSwap=”-1″
  7. maxIdleBackup=”-1″
  8. <Store className=”org.apache.catalina.session.FileStore” directory=”../session” />
  9. //这里代表的是文件持久化.也可以自己实现Store
  10. </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的持久化配置成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值