你想关闭IE马上释放资源可能有点麻烦,虽然你可以用onunload来打开另外得一个窗口来通知服务器,但是不是保险得做法session在何时消亡是靠web服务器来指定得,通常是有一个timeout,可能是半个小时左右
你主动去消亡就是session.invalidate();

解决方案 »

  1.   

    <session-config>
        <session-timeout>60</session-timeout>
      </session-config>
    根据这个时间自动消亡
      

  2.   

    关闭IE   session 自动消亡
    不关闭   sessison 生存期30分钟  默认
    你可自己设定 
    如关闭IE  清空session 就可
      

  3.   

    谢谢各位!
    我可能没说清楚,我是想在关闭IE的时候,来自动的释放一些资源。
    主要是servlet中的。故而要判断那些IE被关掉了, session不存在了,
    然后再释放servlet中与不存在的session对应的资源。
    可以做到吗???????????
      

  4.   

    监控session,再session消亡时作你想要得处理。
    public class MySessionListener implements HttpSessionListener {
        public void sessionCreated(HttpSessionEvent se) {
        }
        public void sessionDestroyed(HttpSessionEvent se) {
         //do what you want here.
      }
    }
      

  5.   

    再web.xml中加上
    <listener>
        <listener-class>MySessionListener</listener-class>
      </listener>
      

  6.   

    secrets001(tommyrot) 你的这个思路很好!
    请问有没简单的例子?!
    谢了!!!!
      

  7.   

    web.xml
    <web-app>
      <listener>
        <listener-class>pdm_part.PDM_SessionListener</listener-class>
      </listener>
    </web-app> 自己编个类记得和web.xml里的一致
    package pdm_part;
    import javax.servlet.http.HttpSessionEvent;
    import javax.servlet.http.HttpSessionListener;
    import java.io.*;public class PDM_SessionListener
        implements HttpSessionListener {  public PDM_SessionListener() {
      }  public void sessionCreated(HttpSessionEvent se) {
         System.out.println("session created");
      }  public void sessionDestroyed(HttpSessionEvent se) {
         System.out.println("session invalid");
      }
    }如果设置正确,这个类会自动运行,当session过期或拟调用了session.invalidate()后,自动运行sessionDestroyed()这个函数。