1

我是使用 Java 进行 Web 编程的新手。我有一个客户端/服务器(用 Java 编写),我希望将来自客户端的更新从服务器发送到 Web 界面以供用户查看。更新的时间是随机的,但我希望能够使用新数据动态更新网页,而无需刷新浏览器。

希望这是有道理的:

我已经尝试创建一个 Servlet 来观察(implements Observer)我的服务器(which extends Observable)以进行更新(字符串),但是我不知道如何将这些动态添加到浏览器窗口中。我曾尝试使用方法PrintWriter out = response.getWriter();中的 Servlet 直接打印doGet(),但response.getWriter()在 Servlet 的方法中不可用update()

我最初的想法是使用一个 JSP 页面(我最终需要合并 HTML/CSS)来接收来自的观察者更新,Server但我不确定。

我对 Comet/PUSH 做了一些研究,但我不确定这是否是我需要的——也许有点矫枉过正?任何关于如何实现我所追求的建议都将不胜感激。

4

2 回答 2

2

最常见的方法是让客户端轮询服务器以获取更改。在客户端使用 AJAX 请求来轮询服务器上的端点。

然后,您将需要使用 JQuery / Javascript 使用从 AJAX 请求中检索到的新数据来更新您的网页。

我建议在 theb rowser 中使用 JQuery 并使用 AJAX 函数:http ://api.jquery.com/jQuery.ajax/

它允许您在请求之后进行回调,并且在该回调中,您可以使用从请求中检索到的数据来更新网页的内容。

于 2012-12-04T17:29:49.747 回答
0

您不能从服务器更新网页,而不是重复轮询或推送。

如果你想要一个真正的推送,那么彗星也不是大材小用,否则你可以在网页上使用轮询脚本。

于 2012-12-04T17:23:56.203 回答