从现有的Java图形用户界面转移到html5图形用户界面的两种方法的优缺点

时间:2014-07-30 18:44:57

标签: json html5 jsp user-interface migration

简而言之,我的问题是以下迁移现有Java GUI的潜在方法的优缺点,它显示了机器人实时构建到HTML5 GUI的地图:

方法1使用JQuery,JSON和websockets连接Java后端并获取地图构建信息,然后使用HTML Canvas功能(以及其中一个Canvas库)可视化此信息。我相信通过这种方法,我不需要服务器端脚本语言,并且websockets将允许服务器在没有请求的情况下发送更新。

方法2使用JSP。我对JSP知之甚少,但我非常精通java。我的想法是JSP允许直接调用现有的Java后端对象,只需要对现有应用程序进行较少的更改,但是我不确定这是否是JSP的工作方式。理想情况下,我想调用当前用于获取机器人传感器数据的相同功能,并在HTML5 Web应用程序中创建可视化地图。此外,通过这种方法,我相信我不需要使用JSON或任何类型的websockets,因为一切都是用JSP完成的。但是,因为这是使用服务器端脚本语言,服务器可以在没有请求的情况下将有关机器人及其环境的更新信息发送到HTML客户端。

方法3:我可能完全错过了船,并且有更好的选择

在查看这两种方法时,需要以下元素:1)无论哪种方法都必须能够连接到java后端2)所有关于机器人和环境的信息都在Java后端上,因此该方法需要允许HTML客户端在没有请求的情况下接收更新3)可能更多但不确定

更多细节: 该项目涉及机器人导航未知环境并根据其传感器数据构建2D地图。在最初的java GUI版本中,机器人操作员将看到一个空白屏幕,只有机器人在移动时可视化,将构建环境地图。我需要HTML5 GUI来执行相同的功能。

1 个答案:

答案 0 :(得分:0)

在JSP中放入太多逻辑并不好,因为SO上JSPservlets的信息页面会告诉你。因此,对于来自后端和websockets的ajax响应并返回您的JSON,您将使用 servlets 而不是JSP。 JSP将与jQuery一起为UI保留。

如果由于某种原因无法使websockets工作,您可以使用ajax轮询。也就是说,在javascript中有一个计时器,每隔X秒发送一次ajax请求,并从servlet接收响应。显然效率不高,但它确实有效。