繁体   English   中英

GWT:将客户端和服务器端分为不同的WAR

[英]GWT: Separate client- and server-sides into different WARs

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

如果我 GWT的理解是正确的,那么您既要编写客户端代码(包括应用程序向服务器返回的AJAX请求),也要编写服务器端请求处理程序。

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

因此,我想问:是否有一种方法可以在GAE上基本上部署无Java的WAR,使其仅将纯HTML / JS / CSS提供给将要使用它的任何客户端,然后在服务器端部署它自己的WAR,有些如何将两者联系起来? 提前致谢!

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

我认为分离这两个问题不会节省您的精力或开发时间,但是如果您确实愿意,则可以使用GWT-RPC以外的方法来重新进行客户端/服务器交互。 例如,JSON。 如果您想走这条路,请参阅https://developers.google.com/web-toolkit/doc/latest/DevGuideServerCommunication#DevGuideHttpRequests以获取有关您的选择的讨论。

不,AFAIK,您不能在GAE中进行部分更新,即您不能将项目的一部分上载到GAE实例,然后再单独上载另一个部分(从而将HTNML / JS / CSS分离到Java类)。

希望是您想要的。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM