怎么让一个用户登录之后,关联一个Servlet或者一个class。这个Servlet或者class总是执行查询未读信息的方法。当有未读的信息的时候,就发消息到用户查看谢谢。有知道的。不要藏着啦。谢谢。

解决方案 »

  1.   

    可以使用多线程吧,在一个servlet里建一个线程,线程里类似:
    while(flag){
     //当有未读的信息的时候,就发消息到用户查看
     if(用户推出后 )
       flag = false;
    }
      

  2.   

    楼主可以用ajax来搞,设定一个周期T,每经过T时间请求一次,如果有信息则用js来提示用户。很原生的ajax应用嘛
      

  3.   

    每个用户开启一个守护线程,这做法我不赞同。更和款while里面是有读取数据库的操作的,起码加一个sleep()。
      

  4.   

    没注意看楼主的标题,如果楼主要实现单对单即时通讯的话,还是用socket吧。
      

  5.   

    这个交给服务器来做貌似不太好吧,web服务器一直都是处于被动地监听状态,只有当客户端发来请求时才会响应数据。
      
    解决办法应该是在客户端定时向服务器端发送查询请求。好像Ajax可以办到,先去学一学Ajax吧。
      

  6.   

    首先登录之后都会触发那个servlet,查询信息的表中增加一个字段来说明信息是已读还是未读
      

  7.   

    我会AJAX。我现在也知道实现的原理,我只想知道这个T是怎么设置的。
      

  8.   

    我做的这个是像淘宝里面的Web版本的阿里旺旺似地。用户与用户之间的说话。谢谢大家。
      

  9.   

    ajax
    发信息的时候往数据库中插入一条记录,然后在接收方用ajax每隔一段时间查询一下数据库就可以了。
      

  10.   

    Ajax 我知道 怎么写。
    你们理解错了。
    我想做的是 当一个用户有未读信息时 会给提示,没有提示之前 页面是没有打开的,
    只有有未读信息时,有提示,单机提示的时候会出来聊天的页面。
    那这个在哪里设置时间查询数据库呢。
      

  11.   

    这个用socket实现。ajax不够力。
      

  12.   

    socket 不会。但是我知道怎么解决啦。一会结贴。
      

  13.   

    这个我做过
    做的是类似webQQ的那种
    没有用socket
    采用的是轮询的方法
    当用户登录后,触发轮询机制
    当从数据库中得到有最新消息时
    给出提示
    这样对服务器压力很大。
    但没有更好的办法
    目前公司就先用这个,以后要改成c/s版的
      

  14.   

    呵呵,和你说的差不多,就是在页面中嵌入一个隐藏的页面,然后调Ajax写js代码,轮询数据。有新的数据就提示。没有其他办法。呵呵