java - 将 mysql 查询结果推送到客户端 GWT

标签 java json gwt rpc requestfactory

我正在寻找一种有效的方法来将 ResultSet 转换为我可以通过 GWT-RPC 发送的形式,该形式通常可以成为 GWT 服务器-客户端通信的一部分。 使用 JSON 与 RequestFactory 的优缺点是什么? 如果我想如上所述使用它们,有人愿意解释它们吗?

我想在客户端处理数据库的大部分,而不仅仅是单个条目,这可能很重要。我一次谈论数百个条目,所以我基本上认为我需要一种有效传输数据的方法。

一次请求一个条目不会产生大量开销吗?

如有类似教程,我们将不胜感激。

最佳答案

四处移动大块数据通常是一个非常糟糕的主意,并且对于客户端-服务器架构来说是不常见的。所以我建议重新设计。

GWT-RPC 是面向服务的。所有 RPC 框架都是。主要目的是序列化/反序列化方法调用。换句话说,服务器和客户端正在通信的是必须明确定义的消息。在 GWT 中,底层传输机制是 JSON,而在 SOAP 中(例如)它是 XML,但机制是相同的。

RequestFactory 更加以数据为中心。设想一个 servlet 由带有 URL/getCustomers 的简单 HTTP 请求触发。 servlet 只是访问数据库并返回结果。 RequestFactory 与此非常相似,但提供了额外的功能。例如,RequestFactory 依赖于在服务器端创建一个实体对象 Customer,在客户端创建一个代理对象 CustomerProxy。该框架处理这些对象之间的数据传输。更具体地说,RequestFactory 可以更新单个属性(即“字段”),因此可以通过仅发送状态差异来提高效率。

一个重要的架构差异是 GWT-RPC 在功能性更强的级别上运行。 RequestFactory 在数据级别运行。典型的实现可能是使用 RequestFactory 设置 CRUD 接口(interface)。如果使用 GWT-RPC,这样的设计将是非常错误的。

我建议您在做出决定之前多阅读这两个框架。但是, RequestFactory 似乎是您问题的最佳解决方案。

如果您只有一个用例,那么实现您自己的 servlet 可能就可以了。在 GWT 代码中使用 RequestBuilder 从 servlet 请求数据。访问数据库,将 ResultSet 转换为 JSON,在客户端将响应转换回 JavaScriptObject,然后就完成了。这将为您节省设置 RequestFactory 和所有实体、代理和定位器的工作。

关于java - 将 mysql 查询结果推送到客户端 GWT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12144298/

相关文章:

java - 兰伯特等角圆锥 map 投影在java中获取网格的x,y值

Java Swing 线程改变 UI - 并发症

java - com.google.gson.JsonSyntaxException : java. lang.IllegalStateException:应为 BEGIN_OBJECT 但在第 2 行第 5 列为 STRING

css - 如何在 GWT 中 float 元素

java - GWT 鼠标悬停性能

gwt - 围绕整个 GWT MVP 与 Activity 和 Places 的混淆

java - 在 SparkSession 上设置 maxExecutorRetries

Java 8流,获取max()仅第一次需要很长时间

sql - 如何在 JSONB 中查询空数组?

json - ZF2 查看策略