java - GWT:将客户端和服务器端分成不同的 WAR

标签 java google-app-engine gwt

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

如果我对 GWT 的理解是正确的,那么编写客户端代码(包括您的应用程序返回服务器的 AJAX 请求)和服务器代码是您的工作-侧请求处理程序。

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

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

最佳答案

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

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

关于java - GWT:将客户端和服务器端分成不同的 WAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12992535/

相关文章:

java - 在 JTextArea 上使用表

java - CXF 客户端 SOAP 消息格式化

Java获取本地IP

python - 如何在页面上显示查询数量? (谷歌应用程序引擎)

javascript - 将一个小位图多次绘制到 <canvas> 上?

java - 在 GWT 生产模式下加载带有标记的谷歌地图时出现异常

java - 数组之间的交互(Java 新手)

google-app-engine - 如何将谷歌mapreduce参数传递给done_callback

python - App Engine Dev Server 数据存储更新速度不够快?

css - GWT CssResource 中的基本算法