从Java WebService获取异步数据

时间:2010-01-08 15:14:53

标签: java http gwt servlets gps

我正在实施客户端 - 服务器GPS应用程序。客户端是J2ME midlet,它通过HTTP / XML将GPS位置发送到Java Webservice(Tomcat servlet)。 servlet在SQL数据库中存储位置。另一个客户端应用程序是一个Web浏览器,可以使用Google Maps登录并查看midlet的实际位置。该客户端使用GWT编写。 All部署在同一个Tomcat容器上。现在我想知道如何动态更新移动设备的webrowser谷歌地图中的当前位置,以便客户端可以看到移动设备如何移动。如何在GWT中执行此操作 - 我应该在GWT客户端中创建一个计时器对象,并异步发送HTTP请求到服务器以获取实际位置吗?或者AJAX / GWT中是否有任何机制可以通知客户端(Web浏览器)数据更新?

由于 多米尼克

3 个答案:

答案 0 :(得分:3)

无论谈论“推送”如何,标准HTTP模型仍然是客户端必须要求服务器进行更新的模型。

在GWT应用程序中,你应该使用支持良好的Ajax功能,定期(5秒钟,可能是?)从服务器请求小粒度更新(我猜),并使用新获得的信息进行更新你的地图信息。

答案 1 :(得分:2)

有一篇关于GWT incubator web site about Server Push and how to achieve it with GWT的详细文章。来自文章:

  

解释服务器推送,有时称为“彗星”,以及如何使用GWT实现此目的。

然后,如果您查看评论,您可以找到感兴趣的相关信息并打开实施gwt-cometGWTEventService ......

答案 2 :(得分:2)

我同意rok。

如果您的部署规模足够小,无法为每个Web浏览器客户端支持一个永久连接,请使用服务器推送/挂起RPC /长轮询或任何您想要调用的方式。