0

我试图弄清楚如何将 GWT 应用程序部署到 Google App Engine。从this page on using JSPs看来,GAE 期待一个普通的、HttpServlet基于 - 的 web 应用程序,带有典型的处理程序:

public class MyServlet extends HttpServlet {
    public void doPost(HttpServletRequest req, HttpServletResponse resp) {
        // Handle the HTTP request here and return a response
    }
}

在阅读了 GWT 文档并观看了几个 Google I/O 视频之后,我确信我想使用 GWT 的RequestFactory选项而不是传统的 GWT-RPC 方法进行客户端-服务器通信。

在研究如何使用的示例时RequestFactory,我发现了这个简单的示例,它提出了以下类架构:

Client-Side:
    PizzaProxy - client-side proxy for Pizza.class
    PizzaRequestFactory - RF impl
    PizzaRequestContext - RF context impl

Server-Side:
    Pizza - the entity
    PizzaDao - DAO for entity
    DaoLocator - ServiceLocator for all DAOs
    PizzaLocator - Locator for entity

一方面,我想说看到这样规范化的代码我有点惊讶,但是不要介意每个实体的这种架构,如果它在性能上得到回报,或者只是提供良好的老式干净代码的通常好处.

最重要的是,我没有看到 GAE 想要的和它RequestFactory似乎提供的(在服务器端)之间的联系。换句话说,我看到了一个RequestFactory没有任何形式的服务器端代码示例HttpServlet

所以我问:我如何“连接”这两个 (RequestFactoryHttpServlet) 概念,以便 GWT 客户端应用程序可以将 HTTP/S 发送到由 servlet 驱动的 GAE 后端?有没有办法保留上面“Pizza App”中提出的架构,或者在部署到 GAE 时是否需要不同的架构/方法?

事实上,仔细想想,这个问题不仅适用于 GAE,还适用于任何标准的 Java Web 容器:Tomcat、JBoss、Jetty...

更新:我刚刚找到了GWT 请求框架的代码示例,看起来这可能就是我正在寻找的。但是,这似乎RequestFactoryRequestFactory.

4

1 回答 1

0

您必须将RequestFactoryServlet, 默认情况下映射到/gwtRequest(这是DefaultRequestTransport客户端的默认设置)。其他一切都是通过反思完成的。

请参阅http://blog.ltgt.net/gwt-211-requestfactory/(这是关于 GWT 2.1.1;RF 在 GWT 2.4 中发生了很大变化,但总体思路仍然相同)

于 2012-10-30T16:20:22.637 回答