什么样的检测程序呢?web程序没办法主动从后台遍历前台获得回应吧?

解决方案 »

  1.   

    在客户端使用<body onunload="通知你的服务器">...</body>应该可以吧
      

  2.   

    你可以这样解决!当用户成功登陆以后,把他的信息,比如id写到servletContext中,
    servletContext.setAttribute(id,id);在用户每次登陆的时候,根据id读取servletContext
    String olready=servletContext.getAttribute(id);
    这个时候,如果olready不为空,则证明该用户已经登陆过了,不允许再次登陆。等用户注销的时候,把用户的信息从servletContext中移除,
    servletContext.remove(id);这样,该帐号就可以再次登陆了!
    ------------------------------
    可以这么实现,但是实际的应用中,要比这个复杂多了,
    比如正常退出-------电击退出按钮或关闭网页。
        异常退出-------死机或吊线。这个时候就没有触发退出事件!等等,如果需要,联系我!
      

  3.   

    web可以检测自己的连接的刷新时间啊
    用哈西表或者用数据库存刷新时间
    对比客户刷新时间和服务器当前时间的差
    来判断用户的连接情况
      

  4.   

    gei给用户表加一个标志位,比如flag,当用户登录时设置为1,退出时为0。重登录时,当检测flag为1时,不让其登录
      

  5.   

    那不是要做两步:select ,update
      

  6.   

    登陆时生成一个类,加入hashtable
    然后用hashtable检查看是不是登陆了
      

  7.   

    无外乎就是解决非正常注销的方法,可以在body里出发一个js脚本 转到另一个页面然后删除该用户的session 就是点xx的解决办法
      

  8.   

    呵呵,特殊方法(我也没试过,接受检阅),就是把你的页面放到一个框架里,然后让客户直接访问这个框架
    也就是这样一个HTML文件:
    <html><body>
    <frameset name="fstMain" cols="1,*" border="0" frameborder="0" FRAMESPACING="0"  TOPMARGIN="0"  LEFTMARGIN="0" MARGINHEIGHT="0" MARGINWIDTH="0" >
          <frame name="mainFrame" src="你本来的页面" ></frame>
          <frame name="hiddedFrame" src="iscolse.htm"></frame>
    </frameset>
    </body></html>在文件iscolse.htm里
    <html><body onunload="通知你的服务器删除该用户的session.jsp">在浏览器被关闭时才回调用的
    </body><html>
    当然要具体应用可能还要做些改变,仅仅是个思路,不行大家不要咻我,呵呵
      

  9.   

    回复人: zeq258(近朱者赤) ( ) 信誉:100  2005-9-13 15:34:11  得分: 0  
     
     
       
    你可以这样解决!当用户成功登陆以后,把他的信息,比如id写到servletContext中,
    servletContext.setAttribute(id,id);在用户每次登陆的时候,根据id读取servletContext
    String olready=servletContext.getAttribute(id);
    这个时候,如果olready不为空,则证明该用户已经登陆过了,不允许再次登陆。等用户注销的时候,把用户的信息从servletContext中移除,
    servletContext.remove(id);这样,该帐号就可以再次登陆了!----------------------------------------------你这个方法缺点显而易见,万一人家用户浏览器异常自动关闭,那么他不是以后再也登录不上来了么