通过Servlet动态更新JSP页面

时间:2012-12-04 17:16:46

标签: java jsp servlets dynamic updates

我是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做了一些研究,但我不确定这是否是我需要的 - 也许有点矫枉过正?关于如何实现我所追求的任何建议将不胜感激。

2 个答案:

答案 0 :(得分:2)

执行此操作的最常用方法是让客户端轮询服务器以进行更改。在客户端使用AJAX请求轮询服务器上的端点。

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

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

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

答案 1 :(得分:0)

您无法从服务器更新网页,而不会重复进行轮询或推送。

如果你想要一个真正的推动,那么彗星就不会过度,否则你可以在网页上使用一个轮询脚本。