用Servlet写的,如何实现B/S聊天室中浏览器向服务器发送聊天信息,而且浏览器不刷新页面?初学!!正确再加30分~~

解决方案 »

  1.   

    注意~~是B/S模式,不是C/S模式~~用浏览器访问~~
      

  2.   

    js event事件触发 f-->ajax-->xmlhttprequest-->
    post,get 发送的方式-->servlet SERVLET的URL-->servlet dopost,doget, SERVLET处理请求
    -->response 返回一个数据,XML,JSON,HTML,。
    -->callback 回调函数
    --> alert(responseText) 简单的弹出返回的数据
    setInterval(f,1000); 重复执行 上面的 事件
      

  3.   


    学习
    www.xizi123.cn
      

  4.   

    bs模式就是ajax了  java的话,用dwr吧
      

  5.   

    使用js函数轮询的方式来从服务器端刷数据是个正确的方法,但却不可行。轮询需要设置一个时间,对于像聊天室这样对消息的实时性要求较高的应用,设置的间隔时间不可能太大,当用户数上升的一定程度的时候,所有的客户端都在疯狂的刷数据,服务器很容易就down掉了。而且即使没有数据,浏览器还是会傻傻地每隔一段时间去向服务器请求数据,这种方式很不合理。
    简单的来说,需要一种服务器推送数据的技术,存在有新消息的情况下将数据推向每个连接的客户端。而浏览器不具备这样的条件,因为HTTP是个无状态协议,它不会让客户端一直与服务器保持连接。所以聊天室更适合被开发成C/S架构的软件,如果非要在B/S上实现,那可能需要借助于在浏览器端安装一些插件,比如基于Java的applet,基于actionscript的flex等,原理上还是必须建立socket连接。