本帖最后由 prince_java 于 2011-05-07 16:26:00 编辑

解决方案 »

  1.   

    估计你是内网。
    不妨考虑用Applet/Java Web Start之类的技术,好搞Socket应用形式。如果一定要做成网页形式,在页面中加JS定期回调Server(心跳)。
      

  2.   

    呵呵,非 dwr 的comet功能莫属,它就是干你所说的功能,非常非常的棒。
    关键类对象是 scriptSession,楼主去研究一下吧,很简单,几行代码。
      

  3.   

    在网页上绑定一个window.onclose()事件,该事件通过AJAX请求一个servlet。然后那个servlet用来从Map里面移除技术员对象。
      

  4.   

    sorry,应该是
    window.onunload=function(){
        alert("bye-bye");
    }没有close事件
      

  5.   

    不同的页面有不同的解决方式:
    1、如果是jsp页面,你可以在<body onunload="a()">事件,然后函数中采用超链接的方式调用你自己写好的action或是servlet都可以实现的。2、如果是html页面,你可以在<body onbeforeunload="a()">事件,然后函数中采用超链接的方式调用你自己写好的action或是servlet都可以实现的。
    明白了吗,如果不明白可以给我留言:
      

  6.   

    用户登录后ajax每隔十秒二十秒向服务器发一个无用请求,把服务器端session的timeout设置成比这个间隔稍多一点,
    做一个session监听器,session失效时从在线list中去除该用户
    如果还不够精准,可以尝试在去除用户时检验他手上是不是有单子,如果有分发给另一个在线用户
      

  7.   

    页面刷新的时候也会调用onunload的方法啊,难道用户刷新页面也当他是退出?