我是Java新手。我有一个客户端/服务器(用Java编写),我希望客户端的更新从服务器发送到Web界面供用户查看。更新的时间是随机的,但我希望能够使用新数据动态更新网页,而无需刷新浏览器。
希望这是有道理的:
我尝试创建一个观察(implements Observer
)我的服务器(extends Observable
)更新(字符串)的Servlet,但我不知道如何将这些动态添加到浏览器窗口。我尝试使用PrintWriter out = response.getWriter();
方法中的doGet()
直接从Servlet打印,但Servlet的response.getWriter()
方法中update()
不可用。
我最初的想法是使用一个JSP页面(我需要最终合并HTML / CSS)从Server
接收Observer更新,但我不确定。
我对Comet / PUSH做了一些研究,但我不确定这是否是我需要的 - 也许有点矫枉过正?关于如何实现我所追求的任何建议将不胜感激。
答案 0 :(得分:2)
执行此操作的最常用方法是让客户端轮询服务器以进行更改。在客户端使用AJAX请求轮询服务器上的端点。
然后,您需要使用JQuery / Javascript来更新您的网页,其中包含从AJAX请求中检索到的新数据。
我建议在theb rowser中使用JQuery并使用AJAX函数:http://api.jquery.com/jQuery.ajax/
它允许您在请求后进行回调,在该回调中,您可以使用从请求中检索到的数据更新网页内容。
答案 1 :(得分:0)
您无法从服务器更新网页,而不会重复进行轮询或推送。
如果你想要一个真正的推动,那么彗星就不会过度,否则你可以在网页上使用一个轮询脚本。