【问题标题】:Best architecture for applications in GWTGWT 中应用程序的最佳架构
【发布时间】:2011-08-05 13:27:25
【问题描述】:

我现在开始学习 GWT,并且有一个非常笼统的问题,我也许可以通过更多的经验自学,但我不想开始错误,所以我决定问你。

我总是使用 JSF 进行开发,为 bean、控制器和 managedbeans 提供单独的包。

但是,由于 GWT 使用 RPC,我不会有 managedbeans,对吧? 那么,GWT 会自动为我处理用户会话,还是我必须自己处理?

项目的最佳包结构是什么?

最好使用RPC,还是在GWT中创建一个webservice并访问webservice?

很难在 tomcat 服务器上托管应用程序?

是否有测试表明哪个服务器的 GWT 速度更快?

谢谢。

【问题讨论】:

    标签: java javascript gwt


    【解决方案1】:
    However, as the GWT uses RPC, I will not have managedbeans, right? 
    

    没错,GWT RPC 使用 POJO。

    So, GWT automatically handles user session for me, or do I have to do it myself?
    

    GWT 是纯 AJAX APP - 客户端代码(通常)在一个浏览器窗口中运行(类似于 gmail)并且不会重新加载网页。这意味着应用程序状态始终存在 - 不需要会话(作为保存状态的一种手段)。您可能仍然需要会话来进行用户身份验证,但这通常由 servlet 容器处理。

    What is the best package structure for the project?
    

    三个包:clientserversharedClient 用于 GWT 客户端代码,server 用于服务器(也是 RPC)代码,shared 用于客户端和服务器都使用的 POJO。

    It is best to use RPC, or create a webservice and access the webservice in GWT?
    

    使用 GWT-RPC 或(更好,更新)使用 RequestFactory。

    It's hard to host the application on a tomcat server?
    

    这很简单:GWT 客户端代码被编译为 JS/html 并作为任何静态内容托管。 RPC 服务器代码只是 Servlets - 正常的 web.xml 注册。

    Is there a test saying which server is faster for GWT?
    

    没有线索,但恕我直言,这并不重要,因为大部分延迟将来自数据库和网络。

    【讨论】:

    • “使用 GWT-RPC 或(更好,更新)使用 RequestFactory。”为什么以及何时使用其他或其他更好?
    • "...这意味着应用程序状态始终存在..." 简单的浏览器刷新会重置状态。它仍然是网络;)
    • 我猜这意味着客户端应用程序状态始终存在。对服务器的调用必须是完全无状态的(并对每次调用进行身份验证),或者无论如何都必须维护与服务器的某种会话(不一定基于 HTTP)。
    【解决方案2】:

    也可以看看http://code.google.com/p/gwt-platform/

    这个框架非常棒,它遵循 google 建议的所有最佳实践(例如 MVP),并为您提供对 gin、gwt 调度程序、网站抓取、令牌历史记录、通过 gwt 异步进行代码拆分等方面的大力支持。

    如果您想建立一个良好的项目结构,请尝试使用 maven gwt 插件(http://mojo.codehaus.org/gwt-maven-plugin/),它可以帮助您建立初始结构并管理您的构建过程。

    【讨论】:

      猜你喜欢
      • 2012-03-08
      • 2011-07-20
      • 2023-03-09
      • 1970-01-01
      • 2011-11-03
      • 1970-01-01
      • 2015-11-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多