在使用tomcat时,发现当在访问一个已经部署的工程时每打开一个ie访问tomcat都会自动创建一个session(说明:是通过session监听器获知的),但当我关闭ie时tomcat并没有释放刚才创建的那些session。自己试了很多方法都不能把这些session释放掉,不知有何方法可以及时让tomcat释放已经使用过的session。

解决方案 »

  1.   

    最简单的方法就是。重启tomcat  ^_^
      

  2.   

    一般是设置过期时间,到时间session会自动销毁,或者你给个注销按钮,在按钮事件里销毁相应的session
      

  3.   

    给销毁按钮是不实际的,请仔细考虑。另外通过设置session时间不太不行,
    因为一个系统上线后很可能短时间内打开很多ie,而session过期时间不能设置太短。
    (说明:我这里说的session是tomcat自动创建的,不是用户自定义的session)
      

  4.   

    哦终于明白你的意思了...
    我只是个新手,非常缺乏你的“项目经验”,下面我给你提一些新手的建议:    在打开一个页面后,不论是链接还是弹窗,并不会产生新的session,除非是你又开了一个新的页面,你做的那是什么系统?难道一个人登陆你家的系统需要开5,6个IE,然后凭着他超强的记忆,输入IE中5,6个不同的地址???而且这5,6个地址竟然没有对用户验证就可以访问?你那所谓的系统的安全性也太高了......    如果你的客户真的喜欢这样的话,建议在不需要用到session的页面中尽量使用静态页面或者在JSP的页面前面加上<%@ page session="false" %>,这样,就不会在服务端产生多余的session了。
      

  5.   

    hengzhan 不好意思,一时心急。
    herowzz 谢谢你的建议,对于静态页面是在某些地方才用到的,大部分还是动态的jsp的。通过设置<%@ page session="false" %>还没有试过,等待验证中。