http://tech.ccidnet.com/pub/article/c1077_a180671_p1.html

解决方案 »

  1.   

    登陆完成以后
    SessionBinding sb = new SessionBinding();
    session.setAttribute("Session_Binding_Listener", sb);public class SessionBinding implements HttpSessionBindingListener {
        HttpSession session;public void valueUnbound(HttpSessionBindingEvent event) {
            System.out.println("***Session Time Out! Perform user logout......***");        session = event.getSession();//得到session,等待清空}
      

  2.   

    小弟做的是一个聊天室
    凡是进入这个聊天室的人的信息都被记录在application中
    可是当用户非法退出的时候,我无法将这个人的信息从application删除
    有关用户的非法退出,我已经将叉掉IE时间屏蔽
    可是其他的非法退出就不好办了
    所以想做一个监听器 来监听session
    当某个session过期时 主动从application中将其相应属性删除
    这个识别session过期遍执行xxxx代码的监听器如何写
    不知道我这个思路是否正确
      

  3.   

    思路正确
    看看这篇文章吧
    http://tech.ccidnet.com/pub/article/c1077_a180671_p1.html
      

  4.   

    session.getId()
    可以获得客户端在服务器上的唯一标识
    这个唯一的范围是什么?
    是tomcat只要不重启就唯一,还是别的?to:绝对零度
    你给的文章对我又很大帮助,谢谢
    我更喜欢和大家谈论 你们都是高手
      

  5.   

    唯一的意思是区别与其他的客户端的唯一,和web服务器的重启没有关系!即使tomcat重启,客户端登陆session得到的仍然是区别与其他标识的唯一。
      

  6.   

    我当时做的时候是用 body unonload="某个方法(作用是删除session)"就可以实现不正常用户的退出时的session的问题了。
    还有不能用applicaiton对象存放说话的内容那样时间一长服务器会吃不消的。
      

  7.   

    就我所知unonload只能识别关掉浏览器
    其他的非法退出,能识别么?比如说注销机器
    如果session.getId()所获的的ID是在服务器上一直唯一的就好了
    这样我只要判断这个session消失,然后就可以处理了
    不知道监视器能不能跟踪某个session
    我把说话的内容放进了Vector,再把这个Vector放进了application
    可是取得时候是把整个Vector里面的内容全取出来了 
    这个就造成 我不管什么时候进入聊天室,都会看到以前所有人的聊天记录
    我看别的网站没有这种现象,不知道他们采用的是不是别的技术
    要是仍然用Vector
    显示的聊天记录从一进如聊天室开始,如何控制
    Vector也会不断变大,随着聊天的内容不断增多 ,怎么控制他所占用资源的大小。
    to:虚心求教
    你说的那个也许是真的飞刀
      

  8.   

    好像不是很复杂啊,session过期后,值一定是NULL,判断是否为NULL就可以了,要是NULL了,就执行相应的操作。
      

  9.   

    如何才能在服务器端识别每一个客户端的session
    session.getId()在服务器端是唯一的么?
      

  10.   

    如何才能在服务器端识别每一个客户端的session
    session.getId()在服务器端是唯一的么?