我是用Java进行web编程的新手。我有一个客户端/服务器编写(在Java中),我希望从客户端的更新从服务器发送到web界面,供用户查看。更新的时间将是随机的,但我希望能够用新数据动态更新网页,而无需浏览器刷新。
希望这是有意义的:
我曾尝试创建一个Servlet来观察(implements Observer)我的服务器(哪个extends Observable)以获取更新(字符串),但是我不知道如何将这些内容动态添加到浏览器窗口中。我尝试过在doGet()方法中使用PrintWriter out = response.getWriter();直接从Servlet打印,但是response.getWriter()在Servlet的update()方法中不可用。
我最初的想法是使用一个从Server接收观察者更新的JSP页面(我最终需要合并HTML/CSS),但我不确定。
我对Comet/PUSH做了一些研究,但我不确定这是否是我需要的--也许有点过头了?任何关于如何实现我所追求的目标的建议都将不胜感激。
发布于 2012-12-05 01:29:50
最常见的方法是让客户端轮询服务器以获取更改。在客户端使用AJAX请求来轮询服务器上的端点。
然后,您将需要使用JQuery / Javascript使用从AJAX请求中检索到的新数据来更新web页面。
我建议在b rowser中使用JQuery并使用AJAX函数:http://api.jquery.com/jQuery.ajax/
它允许您在请求之后进行回调,在该回调中,您可以使用从请求中检索到的数据来更新web页面的内容。
发布于 2012-12-05 01:23:56
您不能从服务器更新网页,除非使用轮询或推送。
如果你想要一个真正的推送,那么comet并不过分,否则你可以在网页上使用轮询脚本。
https://stackoverflow.com/questions/13708356
复制相似问题