簡體   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