2012-02-18 95 views
0

我想爲我的新項目使用gwt + php,html,並希望知道如何編譯/部署gwt在非jvm服務器上創建的html + jscript/ajax文件,例如Apache服務器。GWT客戶端應用託管/部署

1)我想爲我的客戶端接口使用gwt,現在當我這樣做時,我想對服務器進行異步調用並讓PHP從數據庫提供數據。 2)因爲我想知道gwt項目是如何在eclipse中編譯的,那麼war目錄中的所有文件都放在apache服務器上?有沒有任何指導呢?

我在網上發現的所有東西都是exaample和教程,即使你不想在服務器端使用java技術,也可以爲gwt使用支持jvm的web服務器。

感謝

回答

0

戰爭的文件夾,因爲你已經想通了,是所有的東西一個Java servlet容器將需要做的工作。這包括來自GWT的靜態編譯文件,添加到文件夾的任何圖像或html,以及servlet容器將運行的代碼。

如果您正在使用PHP服務器,您可能只需要編譯的JS/HTML /圖像 - 它們都位於具有GWT模塊名稱的文件夾中。編譯應用程序,並將該目錄複製到由apache提供服務的文檔文件夾中。要運行該模塊,請在您的html頁面中加載.nocache.js文件(可能是靜態的,也可能是由php文件寫出的)。

如果您正在從Eclipse的項目(由Google Plugin for Eclipse創建)開始工作,那麼您可以複製war文件夾的內容,減去WEB-INF(它包含Java特定的東西),然後使用它。然後你將有一個工作的HTML文件和編譯的JavaScript。

要調用您自己的服務器,請使用RequestBuilder類 - 這包裝了瀏覽器的基本AJAX功能,並提供了一種簡單而一致的方式來創建和配置請求,並在有回調完了。

要處理數據,它將取決於您的PHP代碼發送回客戶端的數據類型 - GWT包含用於讀取xml和json的選項,並且由於RequestBuilder會爲您提供回送的原始字符串,你也可以做你自己的解析。

最後,請記住,在複製已編譯的模塊之後,可以使用PHP運行Apache服務器,但使用Java調試GWT代碼。如果Apache在端口80上運行,那麼只需啓動開發模式(您可能希望停止啓動服務器的GWT開發模式,在GWT運行配置中取消選中「運行內置服務器」複選框),然後加載頁面參數gwt.codesvr = localhost:8080。這可能看起來像這樣在你的url吧:

http://localhost/index.php?gwt.codesvr=localhost:8080