【问题标题】:GWT and Jersey integrationGWT 和 Jersey 集成
【发布时间】:2011-06-10 10:18:31
【问题描述】:

我已经构建了一个使用 ExtJS 的应用程序,它通过 Ajax 请求连接到 Jersey RESTful 服务。此应用程序一切正常,但现在我想将其移植到 ExtGWT。

既然 ExtGWT 已经有 RPC servlet 来处理客户端-服务器通信,Jersey 可以在哪里适应这种情况?我应该不再使用它,而是直接从 GWT 的 servlet 连接到服务方法吗?

如果我想使用 Jersey,有没有办法像 GWT 的 RPC 一样支持序列化/反序列化? - 我认为在这种情况下我不应该再使用 GWT 的 RPC。

我更喜欢 Jersey,因为它具有基于 REST 的实现,而我猜 GWT 的 RPC 没有。将来我还计划从 Android/iOS 应用程序访问 Jersey 的 RESTful 服务,而 GWT 的 RPC 不太适合这种情况。

谢谢!

【问题讨论】:

    标签: rest gwt jersey gxt


    【解决方案1】:

    您是正确的,您不能将 GWT RPC 与 REST 一起使用。 AFAIK,ExtGWT (GXT) 没有内置支持检索 REST 数据;不过我可能是错的,因为我已经一年多没有使用 GXT了。

    对于使用 GWT RPC,能够在服务器端和客户端重用你的模型是非常方便的。但是,您的模型不能太复杂(它们需要能够序列化为 JSON);否则你需要为你的模型创建单独的 DTO。您可以在 GWT RPC 文档中阅读更多信息:GWT RPC

    如果是我,我会同时使用 REST 和 GWT RPC。我将使用 GWT RPC 与我的客户端 GWT 代码进行通信,并使用 Jersey/REST 与外部应用程序进行通信。

    【讨论】:

    • 谢谢!我也在考虑同时使用它们的选项。另一方面,我刚刚发现一些库(见下一条评论)说为 GWT 提供 REST 支持,但我不确定它们有多稳定,也不知道使用它们有多容易。他们没有说任何关于泽西岛的事情,所以我不知道如何处理或者是否可能。
    • 所以我猜即使 GWT RPC 不是基于 REST 的(这是我喜欢从 GWT 使用的广泛标准),它仍然是我认为稳定的 Google 标准(没有错误等)并且易于序列化/反序列化任何类型的 java bean。与刚刚推出的 RestyGWT 等产品相比,我认为 GWT RPC 更加可靠,并且是一种更具前瞻性的替代方案。你怎么看?
    • 关于restygwt,我没用过,无法评论。不过 GWT-Rest 看起来已经死了。至于 GWT-RPC 是面向未来的,在技术世界中,我不确定任何东西都可以说是面向未来的。但是,到目前为止,它使用起来很简单,并且得到了 Google 的支持。所以我猜它会存在一段时间。您还可以选择使用 RequestFactory。 code.google.com/webtoolkit/doc/latest/… 但是,RequestFactory 鼓励编写大量代码。例如DTO 和模型。
    • 感谢您为我的问题寻找解决方案,我很感激 - 我会尝试 restygwt,也许会从中得到一些好处。
    【解决方案2】:

    我们编写了一个应用程序(成绩簿),它使用客户端 GWT/GXT 并通过服务器端的 JAX-RS(Jersey)进行通信:

    https://source.sakaiproject.org/contrib/gradebook2/trunk/

    最初我们使用 GWT-RPC,但后来选择使用 REST/JSON。两种通信模式都有其优点/缺点。这里有一些关于它们的信息: code.google.com/webtoolkit/doc/latest/tutorial/clientserver.html

    【讨论】:

      【解决方案3】:

      请查看RestyGWT 项目。它将使调用 JAXRS JSON 资源像使用 GWT-RPC 一样容易。此外,您通常可以在客户端重用来自服务器端的相同请求响应 DTO。

      【讨论】:

        【解决方案4】:

        您可以顺利地将 Jersey(服务器端)与 RestyGWT(客户端)结合起来。详情请见http://blog.javaforge.net/post/30469901979/gwt-rest

        【讨论】:

          猜你喜欢
          • 2017-05-24
          • 2010-09-23
          • 2017-10-08
          • 2014-11-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-01-02
          相关资源
          最近更新 更多