【问题标题】:Experiences with integrating spring 3 mvc with GWT?将 spring 3 mvc 与 GWT 集成的经验?
【发布时间】:2011-06-29 18:21:32
【问题描述】:

鉴于: Spring 3.0 mvc 具有出色的 REST 支持,其中一种表示是 JSON。

GWT 简化了开发,因为 UI 是用 java 开发的。但默认情况下,它使用 RPC 进行客户端服务器交互。但是有一个使用 JSON 的选项。

问题:

  1. 您能否分享将 Spring 3.0 mvc 与 GWT 结合使用的经验?

  2. 集成这两个框架的最佳方法是什么?

  3. 默认 GWT 的 MVP 架构是否仅适用于客户端,它是否适用于 JSON?

谢谢

【问题讨论】:

    标签: ajax spring gwt spring-mvc gwt-rpc


    【解决方案1】:

    Can you share experiences with using Spring 3.0 mvc with GWT ?

    是的。我们已经成功地围绕 GWT 和 Spring MVC 构建了一个大型应用程序(1500 个源文件,开发了 6 个月)。

    春天是该项目成功的关键。只有使用 Spring,我们才能在服务器端单独测试应用程序的某些部分。

    What is the best approach to marry these two frameworks?

    忽略 GWT 使用的默认 Servlet,而是创建您自己的 Spring 控制器来处理传入的 GWT-RPC 请求。这个blog post 是整合这两种技术的关键。

    我们还成功地集成了其他组件:用于动画图表的 Flash 和用于其他东西的第三方 Javascript 组件。它们通过 JSON 与服务器通信。所以你有两种或多种 URL:

    • *.rpc url 用于 GWT 组件,由用于 gwt 的 Spring 控制器提供服务
    • *.json url 用于其他组件,由另一个 Spring 控制器提供服务。

    此外,在我们的例子中,我们避开了带有注释的配置,而是更喜欢使用旧的 Spring XML 文件的配置。他们让事情变得更加清楚。 @Required 注解除外;很高兴找到应该连接但没有连接的 spring bean。

    Is the default GWT's MVP architecture only for client side and does it work well with JSON?

    如果您遵循指南,GWT 的 MVP 架构效果最佳。按照 Google 的建议使用 GWT-RPC 通信。

    您仍然可以将 JSON 用于其他客户端组件。

    【讨论】:

    • 感谢 Leonel 的分享。我们将 Spring MVC 和 GWT +Smart GWT 小部件与 RestDatasource 一起使用。已选择 JSON 请求/响应数据格式。到目前为止,一切都很好。但最初的印象是 Smart GWT 缺乏标准,难以定制。
    【解决方案2】:

    您可能想查看Spring Roo。它将帮助您快速开始使用 Spring MVC,尤其是在处理 RESTful URL 时。它还提供了一种自动设置 GWT“脚手架”(与 Spring MVC 后端交互的 GWT 代码)的方法。希望对您有所帮助!

    【讨论】:

      【解决方案3】:

      试试这个解决方案:GWT and Spring MVC Integration

      它使用 3 个类。它非常简单、声明性和清晰。

      【讨论】:

        【解决方案4】:

        混合使用 Spring MVC 和 GWT 是愚蠢的。将 Spring MVC 和 JSF 混合在一起也很愚蠢……将 2 个 MVC (MVP) 框架混合在一起很愚蠢。但是你肯定可以使用 Spring DI 和 GWT!

        【讨论】:

          猜你喜欢
          • 2013-01-24
          • 1970-01-01
          • 1970-01-01
          • 2013-02-17
          • 1970-01-01
          • 2013-05-29
          • 2012-10-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多