3

我正计划构建一个将部署到 GAE 的 GWT 应用程序。除了普通的 (GWT) Web 客户端之外,服务器端代码还将为来自 Web 应用程序之外的其他客户端的请求提供服务。具体来说,它将托管一个 RESTful API,可以从任何符合 HTTP 的客户端访问,它还将为来自 iOS 和 Android 上的本机应用程序的请求提供服务。

如果我对 GWT 的理解是正确的,那么您的工作就是编写客户端代码(包括您的应用程序向服务器发出的 AJAX 请求)以及服务器端请求处理程序。

这让我想到:为什么我需要将 Web 客户端和 Web 服务器打包在同一个 WAR 中?这迫使我(基本上)每次我想对后端进行更改时重新部署客户端代码。可能没什么大不了的,但如果我不必这样做,我更愿意尊重“关注点分离”。

所以我问:有没有一种方法可以在 GAE 上部署一个没有 Java 的 WAR,这样它就可以将纯 HTML/JS/CSS 提供给任何将使用它的客户端,然后将服务器端部署在自己的WAR,有的怎么把两者联系起来?提前致谢!

4

3 回答 3

1

WAR 仅适用于服务器端。它包括序列化在客户端和服务器之间传递的对象所需的客户端类:显然,双方都需要相同对象的实现才能处理这些对象。

我认为将这两个问题分开不会为您节省任何精力或开发时间,但如果您真的想这样做,那么您可以使用 GWT-RPC 以外的方式重新设计您的客户端/服务器交互。例如,JSON。如果您想走这条路,请参阅https://developers.google.com/web-toolkit/doc/latest/DevGuideServerCommunication#DevGuideHttpRequests讨论您的选择。

于 2012-10-20T21:13:48.210 回答
0

不,AFAIK,您不能在 GAE 中进行部分更新,即您不能将项目的一部分上传到 GAE 实例,然后单独上传另一部分(因此将 HTNML/JS/CSS 分离到 java 类)。

于 2012-10-21T03:48:19.030 回答
-1

希望是您正在寻找的。

最后,您要部署的主存根可能是您可以在 main pom.xml 中提及的 EAR 文件

于 2015-12-01T12:52:30.573 回答