📄 366150.xml
字号:
<?xml version='1.0' encoding='GB2312'?>
<?xml-stylesheet type='text/xsl' href='../csdn.xsl'?>
<Topic>
<Issue>
<PostUserNickName>I can do</PostUserNickName>
<rank>二级(初级)</rank>
<ranknum>user2</ranknum>
<credit>111</credit>
<TopicId>366150</TopicId>
<TopicName>如何判断在线用户,主要是如何判断用户关闭所有窗口(即他已经不在线了)?</TopicName>
<PostUserId>84967</PostUserId>
<PostUserName>shine_car</PostUserName>
<RoomName>JSP</RoomName>
<ReplyNum>23</ReplyNum>
<PostDateTime>2001-11-12 10:54:02</PostDateTime>
<Point>32</Point>
<ReadNum>148</ReadNum>
<RoomId>28</RoomId>
<EndState>2</EndState>
<Content>如何判断在线用户,主要是如何判断用户关闭所有窗口(即他已经不在线了)?即他没有通过正常的退出途径退出,而是直接关闭当前窗口。</Content>
</Issue>
<Replys>
<Reply>
<PostUserNickName>I can do</PostUserNickName>
<rank>二级(初级)</rank>
<ranknum>user2</ranknum>
<credit>111</credit>
<ReplyID>2459646</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>84967</PostUserId>
<PostUserName>shine_car</PostUserName>
<Point>0</Point>
<Content>No one know?</Content>
<PostDateTime>2001-11-12 18:40:36</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>在别处</PostUserNickName>
<rank>四级(中级)</rank>
<ranknum>user4</ranknum>
<credit>82</credit>
<ReplyID>2467346</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>84080</PostUserId>
<PostUserName>colababy</PostUserName>
<Point>10</Point>
<Content>hehe!车车,在做什么东东呀???
关闭当前窗口时,再打开一个新窗口,让其执行该用户正常退出时执行的操作,然后自动关闭!
</Content>
<PostDateTime>2001-11-13 14:17:09</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>杨柳疯</PostUserNickName>
<rank>二级(初级)</rank>
<ranknum>user2</ranknum>
<credit>100</credit>
<ReplyID>2471316</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>121984</PostUserId>
<PostUserName>hendrix</PostUserName>
<Point>1</Point>
<Content>我也想知道……等待中……</Content>
<PostDateTime>2001-11-13 20:20:30</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>hcc</PostUserNickName>
<rank>三级(初级)</rank>
<ranknum>user3</ranknum>
<credit>100</credit>
<ReplyID>2472692</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>24522</PostUserId>
<PostUserName>hccpro</PostUserName>
<Point>1</Point>
<Content>不好精确判断,一般用session.getAttribute("xxx")一个session值,判断是否为null
即可。
高级点的就用事件</Content>
<PostDateTime>2001-11-13 22:48:28</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>二流带刀</PostUserNickName>
<rank>二级(初级)</rank>
<ranknum>user2</ranknum>
<credit>100</credit>
<ReplyID>2476522</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>151608</PostUserId>
<PostUserName>mechiland</PostUserName>
<Point>15</Point>
<Content>在最顶级窗口(即最有可能被最后一个关掉的)中加入以下代码:
1.在<head>区域中加入
<script language="javascript">
function exitIt()
{
    if(!confirm("你确定要退出吗?"))  //判断
    {
        window.open('exit.htm','exit','width=10,height=10');
    }
    return false;
}
</script>
2.在同一文件的body区域中加入:<onUnload="exitIt()">
3.新建一文件,名为exit.html
<html>
<head>
<title>退出</title>
</head>
<body>
<%
//在这里加入退出控制,如将用户离线的消息写入数据库,等等.
%>
<script language="javascript">
//关闭当前窗口
self.close();
</script>
</body>
</html>
</Content>
<PostDateTime>2001-11-14 12:36:13</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>二流带刀</PostUserNickName>
<rank>二级(初级)</rank>
<ranknum>user2</ranknum>
<credit>100</credit>
<ReplyID>2476544</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>151608</PostUserId>
<PostUserName>mechiland</PostUserName>
<Point>0</Point>
<Content>写错了,if(!confirm("你确定要退出吗?"))  //判断
    应为
if(confirm("你确定要退出吗?"))
写翻了,不好意思.</Content>
<PostDateTime>2001-11-14 12:37:36</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>在别处</PostUserNickName>
<rank>四级(中级)</rank>
<ranknum>user4</ranknum>
<credit>82</credit>
<ReplyID>2480804</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>84080</PostUserId>
<PostUserName>colababy</PostUserName>
<Point>0</Point>
<Content>关注!关注!关注!
继续关注!继续关注!继续关注!</Content>
<PostDateTime>2001-11-14 18:32:52</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>杨柳疯</PostUserNickName>
<rank>二级(初级)</rank>
<ranknum>user2</ranknum>
<credit>100</credit>
<ReplyID>2493217</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>121984</PostUserId>
<PostUserName>hendrix</PostUserName>
<Point>0</Point>
<Content>这个东东还是需要继续继续!我关注中……请置顶</Content>
<PostDateTime>2001-11-15 22:08:24</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>兔子王</PostUserNickName>
<rank>三级(初级)</rank>
<ranknum>user3</ranknum>
<credit>100</credit>
<ReplyID>2494865</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>152294</PostUserId>
<PostUserName>KingRabbit</PostUserName>
<Point>1</Point>
<Content>二流带刀老先生,如果用户死机,或别的异常不能通知主机的话,不就死悄悄了,请问如何避免这种情况?
</Content>
<PostDateTime>2001-11-16 9:26:10</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>在别处</PostUserNickName>
<rank>四级(中级)</rank>
<ranknum>user4</ranknum>
<credit>82</credit>
<ReplyID>2494984</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>84080</PostUserId>
<PostUserName>colababy</PostUserName>
<Point>0</Point>
<Content>二流带刀老先生,你的这个方法的适应性值得讨论
大家想想 新浪 的处理方式?是怎样的呢?
继续关注中</Content>
<PostDateTime>2001-11-16 9:35:04</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>一王情深---芙蓉王</PostUserNickName>
<rank>三级(初级)</rank>
<ranknum>user3</ranknum>
<credit>100</credit>
<ReplyID>2495040</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>88735</PostUserId>
<PostUserName>lgcfm</PostUserName>
<Point>1</Point>
<Content>to:mechiland(二流带刀)
你的方法在正常连接下可以实现,但是一旦用户断线、非法操作,停电、等等,不正常的推出怎么办呢!</Content>
<PostDateTime>2001-11-16 9:38:55</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>在别处</PostUserNickName>
<rank>四级(中级)</rank>
<ranknum>user4</ranknum>
<credit>82</credit>
<ReplyID>2496211</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>84080</PostUserId>
<PostUserName>colababy</PostUserName>
<Point>0</Point>
<Content>shine_car
你到底解决没有 ?
</Content>
<PostDateTime>2001-11-16 11:08:17</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>快乐数据</PostUserNickName>
<rank>四级(中级)</rank>
<ranknum>user4</ranknum>
<credit>100</credit>
<ReplyID>2496871</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>138393</PostUserId>
<PostUserName>happynet</PostUserName>
<Point>1</Point>
<Content>关注</Content>
<PostDateTime>2001-11-16 11:57:04</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>二流带刀</PostUserNickName>
<rank>二级(初级)</rank>
<ranknum>user2</ranknum>
<credit>100</credit>
<ReplyID>2501768</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>151608</PostUserId>
<PostUserName>mechiland</PostUserName>
<Point>0</Point>
<Content>。。。如果死机,或者其他非正常退出情况,可以通过session bean 来解决(例如,30分钟客户端不向服务器端提交数据就关闭数据库连接)。就想asp的global.asa一样,只是我还没有搞到global.jsa的资料,那位弄到了,告诉我先!
另外,我不老,不要叫我老先生.</Content>
<PostDateTime>2001-11-16 18:55:01</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>I can do</PostUserNickName>
<rank>二级(初级)</rank>
<ranknum>user2</ranknum>
<credit>111</credit>
<ReplyID>2519988</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>84967</PostUserId>
<PostUserName>shine_car</PostUserName>
<Point>0</Point>
<Content>谢谢大家的帮助,问题是我这里没有顶级页面可言,如何判断他已经关闭了所有的页面。太难了!!!! 大家继续探讨,我用的是比较愚蠢的办法。弄一个iframe 页面(隐藏)放在在所有的页面里,(每两分钟)向一个application更新这个用户的最后刷新时间,如果读取这个application发现有最后刷新时间与当前时间比较大于2分钟就认为用户关闭所有的页面。不过效率及其低下。(继续探讨,来者有份)</Content>
<PostDateTime>2001-11-19 12:30:51</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>I can do</PostUserNickName>
<rank>二级(初级)</rank>
<ranknum>user2</ranknum>
<credit>111</credit>
<ReplyID>2520072</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>84967</PostUserId>
<PostUserName>shine_car</PostUserName>
<Point>0</Point>
<Content>另外:对于每一个session都有唯一一个id号,在服务器端如何读取每一个客户端的这个Id 号</Content>
<PostDateTime>2001-11-19 12:38:19</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>I can do</PostUserNickName>
<rank>二级(初级)</rank>
<ranknum>user2</ranknum>
<credit>111</credit>
<ReplyID>2539016</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>84967</PostUserId>
<PostUserName>shine_car</PostUserName>
<Point>0</Point>
<Content>anyOne here?</Content>
<PostDateTime>2001-11-21 12:24:42</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>在别处</PostUserNickName>
<rank>四级(中级)</rank>
<ranknum>user4</ranknum>
<credit>82</credit>
<ReplyID>2542072</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>84080</PostUserId>
<PostUserName>colababy</PostUserName>
<Point>0</Point>
<Content>every One here
but ,where are you?
haha,car car
:-)
@_@</Content>
<PostDateTime>2001-11-21 16:35:37</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>在别处</PostUserNickName>
<rank>四级(中级)</rank>
<ranknum>user4</ranknum>
<credit>82</credit>
<ReplyID>2542147</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>84080</PostUserId>
<PostUserName>colababy</PostUserName>
<Point>0</Point>
<Content>哈哈!
any one here??
oh,my god!any one here??
i want to know any one here??
i want to know 在线用户有谁?,主要是想知道 用户关闭所有窗口(即他已经不在线了)?
你在线吗?
继续关注!加油!
</Content>
<PostDateTime>2001-11-21 16:40:58</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>林材</PostUserNickName>
<rank>二级(初级)</rank>
<ranknum>user2</ranknum>
<credit>100</credit>
<ReplyID>2542553</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>102177</PostUserId>
<PostUserName>southline</PostUserName>
<Point>0</Point>
<Content>继续说
</Content>
<PostDateTime>2001-11-21 17:09:08</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>快乐数据</PostUserNickName>
<rank>四级(中级)</rank>
<ranknum>user4</ranknum>
<credit>100</credit>
<ReplyID>2732173</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>138393</PostUserId>
<PostUserName>happynet</PostUserName>
<Point>0</Point>
<Content>这问题还没搞定!有谁知道的呀!</Content>
<PostDateTime>2001-12-11 12:02:36</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>阿水</PostUserNickName>
<rank>四级(中级)</rank>
<ranknum>user4</ranknum>
<credit>100</credit>
<ReplyID>2732368</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>68069</PostUserId>
<PostUserName>Fancy_fan</PostUserName>
<Point>2</Point>
<Content>你在每个用户进入的时候把所有用户的状态检测一遍就可以了!如果session.timeout,就自动把状态刷新一遍!</Content>
<PostDateTime>2001-12-11 12:20:56</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>I can do</PostUserNickName>
<rank>二级(初级)</rank>
<ranknum>user2</ranknum>
<credit>111</credit>
<ReplyID>3595111</ReplyID>
<TopicID>366150</TopicID>
<PostUserId>84967</PostUserId>
<PostUserName>shine_car</PostUserName>
<Point>0</Point>
<Content>哎,使用Servlet 2.3新增web application listener可以搞定写一个Listener类对session的创建和消除进行侦听。
import javax.servlet.*;
import javax.servlet.http.*;
public class CounterListener implements HttpSessionListener {
   private int count = 0;
   public synchronized void sessionCreated(HttpSessionEvent se) {
       count++;
   }
   public synchronized void sessionDestroyed(HttpSessionEvent se) {
       count--;
   }
   public int getCount() {
       return count;
   }
}
</Content>
<PostDateTime>2002-2-21 17:18:07</PostDateTime>
</Reply>
</Replys>
</Topic>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -