java 消息管理

请问类似网站的消息提醒用java是如何实现的

其实就是服务器往客户端推数据么,主要意思就是服务端把response保存起来不关闭,反复发数据

可以了解Comet,Pushlet之类的,google一下

Dwr;Comet;Pushlet 都可以实现
dwr推技术使用:http://blog.csdn.net/cxhzqhzq/article/details/2621081

有很多方式了,javascript都可以
[code="javascript"]

var oPopup = window.createPopup(); var popTop=50; function popmsg(msgstr){ var winstr= " <table style=\ "border: 1 solid #FFA6CA\ " width=\ "200\ " height=\ "150\ " border=\ "0\ " cellpadding=\ "0\ " cellspacing=\ "0\ " background=\ "sysimage/bg/birthday.gif\ " > "; winstr+= " <tr> <td height=\ "30\ "> </td> </tr> <tr> <td align=\ "center\ "> <table width=\ "90%\ " height=\ "110\ " border=\ "0\ " cellpadding=\ "0\ " cellspacing=\ "0\ "> "; winstr+= " <tr> <td valign=\ "top\ " style=\ "font-size:12px; color: red; face: Tahoma\ "> "+msgstr+ " </td> </tr> </table> </td> </tr> </table> "; oPopup.document.body.innerHTML = winstr; popshow(); } function popshow(){ window.status=popTop; if(popTop> 1720){ clearTimeout(mytime); oPopup.hide(); return; }else if(popTop> 1520&&popTop <1720){ oPopup.show(screen.width-210,screen.height,241,1720-popTop); }else if(popTop> 1500&&popTop <1520){ oPopup.show(screen.width-210,screen.height+(popTop-1720),241,150); }else if(popTop <180){ oPopup.show(screen.width-210,screen.height,241,popTop); }else if(popTop <220){ oPopup.show(screen.width-210,screen.height-popTop,241,150); } popTop+=10; var mytime=setTimeout( "popshow(); ",50); } function LinkTo(){ window.open( "http://oa.sxsw "); } popmsg( " <img border=\ "0\ " src=\ "sysimage/bg/logo.gif\ " width=\ "90\ " height=\ "27\ "> 您有新消息。 ");

[/code]

2.或者setInterval + Ajax来实现的,说白了,定时刷
3.comet,原理:
A、浏览器向服务器发一个请求
B、服务器接到请求后在servlet或struts的Action中用线程将这个请求休眠,使服务器不直接响应结束,这样浏览器与服务器就建立了一个长连接,这是即时通信的基础。
C、设置response的属性,使其可以多次响应,这样只要有人给它消息,就可以out一句话,这句话是个script代码,浏览器就收到消息了。
4.等等。。。

Observer模式:
java.util.Observable

java.util
接口 Observer