App Engine 標準環境中的 Java 8 快速入門導覽課程

本快速入門導覽課程說明如何在 App Engine 上部署範例應用程式。如要瞭解如何編寫 App Engine 適用的應用程式程式碼,請參閱建構應用程式一文。

費用

進行本指南說明的動作並不會產生任何費用,而且單獨執行這個範例應用程式也不會超過您的免費配額

事前準備

本快速入門導覽課程假設您已安裝 Java SE8 Development Kit (JDK)

請在執行及部署本快速入門導覽課程之前先安裝 Cloud SDK,然後設定 App Engine 專用的 GCP 專案:

  1. 下載並安裝 Cloud SDK:

    下載 SDK

    注意:如果您已安裝 Cloud SDK,請執行下列指令進行更新:

    gcloud components update
    
  2. 建立新專案:

    gcloud projects create [YOUR_PROJECT_ID] --set-as-default
    

    請確認專案已成功建立:

    gcloud projects describe [YOUR_PROJECT_ID]
    

    畫面上會顯示專案資訊,請參考以下的範例:

    createTime: year-month-hour
    lifecycleState: ACTIVE
    name: project-name
    parent:
    id: '433637338589'
    type: organization
    projectId: project-name-id
    projectNumber: 499227785679
    
  3. 使用您的專案將 App Engine 應用程式初始化,然後選擇地區:

    gcloud app create --project=[YOUR_PROJECT_ID]
    

    收到系統提示時,選取 App Engine 應用程式的存放地區

  4. 安裝下列必要項目:

App Engine 位置

App Engine 具有「地區性」,這表示執行應用程式的基礎架構位於特定地區,並由 Google 代管,可為該地區內的所有區域提供備援功能。

選擇應用程式的執行地區時,請將您在延遲時間、可用性和耐用性方面的要求,做為主要考量。一般而言,您可以選擇距離您應用程式使用者最近的地區,但也應該考慮應用程式使用的其他 GCP 產品和服務所處的位置。如果跨多個位置使用服務,可能會影響應用程式的延遲時間和定價

App Engine 可在下列地區使用:

  • northamerica-northeast1 (蒙特婁)
  • us-central (愛荷華州)
  • us-west2 (洛杉磯)
  • us-east1 (南卡羅來納州)
  • us-east4 (北維吉尼亞州)
  • southamerica-east1 (聖保羅)
  • europe-west (比利時)
  • europe-west2 (倫敦)
  • europe-west3 (法蘭克福)
  • europe-west6 (蘇黎世)
  • asia-northeast1 (東京)
  • asia-northeast2 (大阪)
  • asia-east2 (香港)
  • asia-south1 (孟買)
  • australia-southeast1 (雪梨)

應用程式的地區設定完成後即無法更改。

如果您已建立 App Engine 應用程式,即可執行 gcloud app describe 指令或開啟 GCP Console 的 App Engine 資訊主頁來查看地區。App Engine 應用程式的地區會列於 http://[YOUR_PROJECT_ID].appspot.com 下方。

下載 Hello World 應用程式

我們建立了一個 Java 8 執行階段適用的 Hello World 簡易應用程式,方便您快速瞭解在 App Engine 標準環境部署應用程式的操作步驟。

下載範例應用程式並前往應用程式目錄:

  1. 將 Hello World 範例應用程式存放區複製到本機電腦:

    git clone https://github.com/GoogleCloudPlatform/getting-started-java.git
    

    您也可以下載 zip 格式的範例,然後解壓縮該檔案。

  2. 變更為包含範例程式碼的目錄:

    cd getting-started-java/appengine-standard-java8/helloworld
    

在本機電腦上執行 Hello World

如要在本機電腦上執行 Hello World 應用程式:

  1. 使用 Jetty Maven 外掛程式啟動本機 Jetty 網路伺服器:

    mvn appengine:run
    
  2. 在您的網路瀏覽器中,造訪下列網址:

    http://localhost:8080
    
  3. 您可以從頁面顯示的範例應用程式中看到 Hello World 訊息。

  4. 在終端機視窗中,同時按下 Ctrl+C 來關閉網路伺服器。

在 App Engine 上部署及執行 Hello World

如要將您的應用程式部署到 App Engine 標準環境:

  1. getting-started-java/appengine-standard-java8/helloworld 目錄執行下列指令,以部署 Hello World 應用程式:
    mvn appengine:deploy
    等待部署作業完成。
  2. 執行下列指令來開啟瀏覽器,並在 http://YOUR_PROJECT_ID.appspot.com 查看應用程式:
    gcloud app browse

此時,顯示 Hello World 訊息的頁面是由在 App Engine 執行個體上運作的網路伺服器提供。

恭喜! 您已成功將第一個 Java 8 應用程式部署至 App Engine 標準環境!

請參閱以下各節,瞭解清除作業的資訊以及您可能採取的後續步驟。

後續步驟

瞭解整個平台

現在您已瞭解如何開發及部署 App Engine 應用程式,接著可進一步瞭解 Google Cloud Platform 的其他部分。由於您已安裝 Google Cloud SDK,因此您擁有能與 Google Cloud SQL、Google Cloud Storage、Google Cloud Datastore 等產品互動的工具。如需瞭解如何建立使用整個平台的應用程式,而非僅使用 App Engine 的逐步操作說明,請參考建立 Bookshelf 應用程式的快速入門導覽課程。

瞭解 App Engine 標準環境

以下是一些可協助您瞭解 App Engine 的主題。

Hello World 程式碼審查

Hello World 是再簡單不過的 App Engine 應用程式,此應用程式只包含一項服務、一種版本,而且所有的程式碼都位於應用程式的根目錄中。本節將詳細說明每個應用程式檔案。

HelloAppEngine.java

HelloServlet.java 檔案會指定網址模式來描述應用程式接聽要求的位置,並且使用「Hello World」訊息來回應任何要求。

import com.google.appengine.api.utils.SystemProperty;

import java.io.IOException;
import java.util.Properties;

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

// With @WebServlet annotation the webapp/WEB-INF/web.xml is no longer required.
@WebServlet(name = "HelloAppEngine", value = "/hello")
public class HelloAppEngine extends HttpServlet {

  @Override
  public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws IOException {
    Properties properties = System.getProperties();

    response.setContentType("text/plain");
    response.getWriter().println("Hello App Engine - Standard using "
            + SystemProperty.version.get() + " Java "
            + properties.get("java.specification.version"));
  }

  public static String getInfo() {
    return "Version: " + System.getProperty("java.version")
          + " OS: " + System.getProperty("os.name")
          + " User: " + System.getProperty("user.name");
  }

}
  • 如要進一步瞭解 Java 8 執行階段的運作細節,請參閱 Java 8 執行階段一文。

pom.xml

Hello World 還包含一個 pom.xml 檔案,內含專案的依附元件和建置目標相關資訊,其中還包含使用 Maven 外掛程式的必要程式行:

<plugin>
  <groupId>com.google.cloud.tools</groupId>
  <artifactId>appengine-maven-plugin</artifactId>
  <version>1.3.1</version>
</plugin>

appengine-web.xml

appengine-web.xml 檔案包含某些必要設定,例如 <runtime> 元素的 java8 設定,該設定可讓 App Engine 在 Java 8 執行階段中執行這個應用程式:

<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
  <runtime>java8</runtime>
  <threadsafe>true</threadsafe>
</appengine-web-app>
本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Java 8 適用的 App Engine 標準環境