【发布时间】:2012-10-30 11:22:03
【问题描述】:
我正在尝试弄清楚如何将 GWT 应用程序部署到 Google App Engine。从this page on using JSPs 看来,GAE 期待一个普通的、基于HttpServlet 的网络应用程序,带有典型的处理程序:
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 的示例时,我发现this simple example 提出了以下类架构:
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。
所以我问:我如何“连接”这两个(RequestFactory 和 HttpServlet)概念,以便 GWT 客户端应用程序可以将 HTTP/S 发送到 servlet 驱动的 GAE 后端?有没有办法保留上面“Pizza App”中提出的架构,或者在部署到 GAE 时需要不同的架构/方法?
事实上,仔细想想,这个问题不仅适用于 GAE,还适用于任何标准的 Java Web 容器:Tomcat、JBoss、Jetty...
更新:我刚刚找到了GWT's Request Framework 的代码示例,看起来这可能就是我要找的。但是,这似乎与RequestFactory 没有任何关系,所以我有点困惑/担心,如果我使用该链接中的课程,我将失去RequestFactory 带来的好处。
【问题讨论】:
标签: java google-app-engine gwt servlets requestfactory