用xmlhttp和Java session改善站内消息(2)

2008-02-23 08:11:40来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


xml.send(post);//发送数据
var res = xml.responseText;//接收服务器返回的数据
document.write(res);
&lt /script &gt

豁然开朗,这段代码就是打开一个HTTP连接,以标准的HTTP格式传递数据,如果你喜欢,可以用XML的格式来传递。更改一下xml对象的构造方式就可以兼容Mozilla和Netscape。下面来写一个轮询,每隔一段时间刷新一次用户列表,当然,是不需要刷新页面的:

&lt html &gt
&lt head &gt&lt title &gt探测器&lt /title &gt
&lt script language="javascript" &gt
function detect()
{
xml = new ActiveXObject("Microsoft.XMLHTTP");
var post=" ";//构造要携带的数据
xml.open("POST","http://localhost:7001/TestWL/index.jsp",false);//使用POST方法打开一个到服务器的连接,以异步方式通信
xml.setrequestheader("content-length",post.length);
xml.setrequestheader("content-type","application/x-www-form-urlencoded");
xml.send(post);//发送数据
var res = xml.responseText;//接收服务器返回的数据
list.innerText=res;
setTimeout(“detect()”,5000);//每隔5秒钟轮询一次
}
&lt /script &gt
&lt body onload=”detect()” &gt
&lt a id=”list” &gt&lt /a &gt
&lt /body &gt
&lt /html &gt

这样的通信方式数据量很小,不用重新传递整个页面,5秒钟轮一次,普通PC也能承受较大的在线数。构造一个探测器来监听在线列表和消息,效果是很好的,即使你的客户坐在电脑前袖手旁观,键鼠都不碰一下,也能保证数据即时传递,页面也不会发生跳转和刷新。

Session监听加上XMLHTTP通信,开发一个较为完善的站内消息系统实在易如反掌。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Java中使用final修饰符需要注意的地方

下一篇:Spring2.0技巧之活用FactoryBean