统计在线人数:要求显示多少人在线,并且可以显示在线人的列表(50人在线的话,可以打开一个列表显示50个人的姓名和其他一些信息)
发小纸条:可以给其他在线人发消息,接受人第一时间可以看到自己页面消息栏闪烁(表示有纸条)。在线人数统计我的想法是登陆以后把个人的登录名存到一个数据库表里,正常退出删除该记录,jsp做个定时器,每3分钟判断数据库表中的登陆名是否session失效,如果失效删除记录。
发小纸条:我想不到怎么能让接收人的消息栏闪烁。现在征求小纸条想法,给出想法能实现的立刻结贴给分。
登陆有更科学的,可以实现的,可以另开贴给分。

解决方案 »

  1.   

    发小纸条:我想不到怎么能让接收人的消息栏闪烁。
    第一种方法:使用ajax每个10秒去后台去一次数据
    第二种方法:使用dwr推技术 把数据推到前台
      

  2.   

    每3分钟判断数据库表中的登陆名是否session失效,如果失效删除记录这个不是即时的,关闭浏览器以后session也不是立刻失效的,所以用这个方法判断人员在线会有很大的延迟性
      

  3.   

    <script language="javaScript">
    function removeline(){
    if(event.clientX<0&&event.clientY<0)
      {
    document.write('<iframe width="100" height="100" src="page/removeline.jsp"></iframe><OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0  id=WebBrowser width=0></OBJECT>');
    document.all.WebBrowser.ExecWB(45,1);
    }
    }
    </script>
    页面onload调用该js,在removeline.jsp里加上invalidate()代码
    上面是网上找的代码,关闭浏览器session失效,周一测试是否好用
      

  4.   

    时间设定可以根据实际情况来调整 
    可以试一下第一种方法 简单点 有个setInterval的方法 楼主可以搜索看看
    dwr推技术是服务器自动发现新消息后 推给客户端 不用发送请求 先进+合理
      

  5.   

    周一研究一下dwr,不想使用定时发请求 
      

  6.   

    dwr配置好   直接把后台数据显示到前台 再判断是否有小纸条   有就学腾讯弹出一个小窗口 做提示或是来点别的   做个渐入渐出的效果 KO
      

  7.   

    那这个DWR是不是在前台也每隔多长时间调用ajax啊
      

  8.   

    那个嘛  其实很简单啊 可以把dwr和js一起用   settimeout  解决
      中间嘛  你可以这样啊   查询后台的业务逻辑肯定是写好了的是不
     配置的时候用一个dwr的对象去指向那个业务逻辑操作对象的实例
    再用JS定时的去执行就好了  结果会自动的返回到页面  你再对返回结果进行判断
    如果数据有更新(也就是某张表有新增数据嘛) 就弹出一个窗口或是一个层做提示
     这个就简单咯 
      

  9.   


    EJB3 的 jms 你可以去看看。
      

  10.   

    kerioz:
    那个嘛 其实很简单啊 可以把dwr和js一起用 settimeout 解决
      中间嘛 你可以这样啊 查询后台的业务逻辑肯定是写好了的是不
     配置的时候用一个dwr的对象去指向那个业务逻辑操作对象的实例
    再用JS定时的去执行就好了 结果会自动的返回到页面 你再对返回结果进行判断
    如果数据有更新(也就是某张表有新增数据嘛) 就弹出一个窗口或是一个层做提示
     这个就简单咯 
    你这样说的和用js定时查询有什么区别吗?没有吧,还没有js来的简单
      

  11.   

    纯js和ajax调用也能做出我想要的东西,但是定时发送请求不是我想要的解决方法,这样做出的系统太脆弱。
    有没有别的方法呢?
      

  12.   

    DWR看了一点感觉和js的ajax请求没什么不一样,我单指js部分返回结果。
    既然都说DWR,有个用户有新留言,怎么才能给该用户一个提示。
    难道他不用调setinterval方法?
      

  13.   

    dwr的“推”和js定时发送请求没什么区别,也得是由客户端发起请求
      

  14.   

    有谁用过DWR推技术?同时在线1000人以上,请求间隔30秒,如果用DWR对服务器影响大不大?
      

  15.   

    DWR推,我看的例子里的内容是用jdk1.5环境,而我的项目环境是jdk1.4,还有办法使用DWR吗?