2011-09-23 107 views
-1

我有一個與客戶端和服務器端的GWT部署有關的問題。我想知道,他們是否部署在同一臺計算機上?或者他們可以部署到不同的計算機?如何部署GWT客戶端和服務器端?

例如,在客戶端,我需要上傳的文件。我可以只將這個文件的URL傳遞給GWT服務器端,並讀取服務器端的數據?目前,我正在使用FileUpload Widget,但是這會將文件的輸入流傳遞給服務器端。

在此先感謝!

+1

如果客戶端是指用戶的瀏覽器,那麼不,他們肯定是在不同的機器上。如果用戶想要上傳本地文件,瀏覽器通常必須將該文件傳輸到服務器才能讀取。 – Thomas

+0

這個問題被拒絕了嗎? – vanje

+1

OP顯然沒有想過他在做什麼:GWT是關於構建web應用程序的;你會發送一個「URL」到您的磁盤上的文件到Facebook(或其他),讓他們讀回來? –

回答

2

一般GWT應用程序的客戶端部分 - 其被編譯爲JavaScript - 和服務器部分(例如其由客戶端部分稱爲Servlet的)部署到同一HTTP服務器。作爲一個簡單的例子,這可以是Tomcat或Jetty。

當用戶命令他的瀏覽器到您的GWT應用程序,客戶端部分(JavaScript的)都是通過hostpage加載和GWT應用程序在用戶的瀏覽器中運行。

所以,如果你希望你的用戶能夠上傳文件,你必須使用的FileUpload控件。它與具有類型「file」的輸入字段的簡單HTML表單相同。

在你必須單獨處理文件上傳服務器端。如果您在服務器端使用Java,我推薦使用Apache FileUpload庫。項目主頁上有非常好的用戶指南。

2

你的GWT客戶端 - 靜態的HTML,JS,CSS和圖像 - 可以部署到任何HTTP服務器。如果您使用Java後端,則需要在Java應用服務器(如Jetty)上部署該後端。這些可以是相同的服務器軟件或不同的軟件,相同的硬件或不同的硬件。

有關文件上傳的問題與您的部署策略確實是正交的。

相關問題