My favorites | 中文(繁體) | Sign in
英文版或許有比此中譯版新的內容

Java 開發伺服器

應用服務引擎 Java SDK 包括一個可在您的電腦上測試應用程式的開發網頁伺服器。開發網頁伺服器會模擬「應用服務引擎」Java 執行階段環境以及其所有服務 (包括資料存放區)。「Eclipse 專用的 Google 外掛程式」可在 Eclipse 偵錯工具上執行伺服器。您也可以從命令列執行開發伺服器。

執行開發網頁伺服器

如果您使用的是 Eclipse 和「Eclipse 專用的 Google 外掛程式」,則您可以在 Eclipse 偵錯工具上執行開發網頁伺服器。若要以預設設定執行伺服器,請選取 [執行] (Run) 功能表,然後選取 [偵錯身分] (Debug As) > [網路應用程式] (Web Application)。如需進一步控制伺服器啟動方式的資訊 (例如,伺服器使用的連接埠),請使用設定類型「網路應用程式」來建立新的偵錯設定。如需詳細資訊,請參閱「Eclipse 專用的 Google 外掛程式」。

您也可以從命令提示字元執行開發網頁伺服器。要執行的命令位於 SDK 的 appengine-java-sdk/bin/ 目錄中。

如果您使用的是 Windows,則命令如下:

appengine-java-sdk\bin\dev_appserver.cmd [options] war-location

如果您使用的是 Mac OS X,則命令如下:

appengine-java-sdk/bin/dev_appserver.sh [options] war-location

命令會使用應用程式 WAR 目錄的位置做為引數。

若要停止網頁伺服器,請按 Control-C (Windows、Mac 或 Linux 皆如此)。

這些命令為在 appengine-java-sdk/lib/appengine-tools-api.jar 中執行 Java 類別 com.google.appengine.tools.KickStart 的包裝函式程式碼,每個作業系統使用的命令都不一樣。

使用資料存放區

開發網頁伺服器使用您電腦上的一個檔案,模擬「應用服務引擎」資料存放區。檔案名稱為 local_db.bin,建立於應用程式 WAR 目錄的 WEB-INF/appengine-generated/ 目錄中(不會和應用程式一起上傳)。

此檔案在網頁伺服器的叫用之間一直持續,所以您下次執行網頁伺服器時,仍然可以使用您儲存的資料。若要清除資料庫存放區的內容,請關閉伺服器,然後刪除此檔案。

資料庫存放區索引設定中所述,開發伺服器可替應用程式所需的資料庫存放區索引產生設定 (根據測試時所執行的查詢來判斷)。 產生的檔案名稱為 datastore-indexes-auto.xml,位於 WAR 的 WEB-INF/appengine-generated/ 目錄中。若要停用自動索引設定,請在 WEB-INF/ 目錄建立或編輯 datastore-indexes.xml 檔案,並在 <datastore-indexes> 元素中使用屬性 (attribute) autoGenerate="false"。請參閱「資料庫存放區索引設定」以取得詳細資訊。

運用使用者

開發網頁伺服器會用其登入和登出頁面來模擬「Google 帳戶」。在開發網頁伺服器之下執行時,產生登入和登出 URL 的方法會傳回本機伺服器 /_ah/login/_ah/logout 的 URL。

開發登入頁面有一個表單,您可以在其中輸入電子郵件地址。您的工作階段將會使用您輸入的電子郵件地址,做為使用中的使用者。

要讓應用程式認為登入的使用者是系統管理員,請勾選表單中的 [Sign in as Administrator] (以系統管理員身分登入) 核取方塊。

使用 URL 擷取

您的應用程式使用 URL Fetch API (URL 擷取 API) 進行 HTTP 要求時,開發網頁伺服器會直接從您的電腦發出要求。如果您使用 Proxy 伺服器來存取網站,此行為可能會和應用程式執行於「應用服務引擎」時不同。

命令列引數

開發伺服器命令支援下列命令列引數:

--port=...

伺服器使用的連接埠號碼。預設為 8080

--address=...

伺服器使用的主機位址。您需要設定此項,才能從網路上的其他電腦存取開發伺服器。0.0.0.0 的位址允許 localhost 存取和主機名稱存取。預設為 localhost

--sdk_root=...

應用服務引擎 Java SDK 的路徑 (如果路徑與工具位置不同)

--disable_update_check

如果指定該引數,則開發伺服器將不會連絡「應用服務引擎」檢查是否有可用的 新版 SDK。根據預設,伺服器會在啟動時檢查是否有新的版本,當有可用的新版本時會列印訊息。

--help

列印有用的訊息然後結束。