在 App Engine 標準環境中使用 Java 適用的 Bookshelf 應用程式

Bookshelf 應用程式是一個以 Java 編寫的範例網頁應用程式,用於示範如何使用各種 Google Cloud Platform (GCP) 產品,包含:

  • App Engine 標準環境
  • Cloud Datastore
  • Cloud Storage

本教學課程將探索 Bookshelf 範例應用程式,並說明如何使用 GCP 提供的技術與服務實作應用程式的每項功能。

Bookshelf 範例應用程式是以 javax.servlet 網頁應用程式架構為基礎,並使用了 JavaServer Page。Bookshelf 應用程式採用 Servlet,但不論您使用哪種架構,本文探討的概念和技術皆適用。

顯示控制項與書籍封面的 Bookshelf 應用程式螢幕擷圖

Bookshelf 範例應用程式儲存一系列書名。任何有權存取此應用程式的使用者,都可以編輯這份清單。這個範例應用程式可讓使用者執行下列作業:

  • 查看書籍清單。
  • 將書籍加入清單。
  • 從清單中移除書籍。
  • 編輯書籍詳細資料。
  • 上傳書籍的封面圖片。
  • 登入 Google 帳戶,並查看自己新增到清單中的書籍。

目標

  • 複製或下載範例應用程式。
  • 建構應用程式並在本機電腦執行該應用程式。
  • 將應用程式部署至 App Engine。
  • 逐步完成程式碼範例。
  • 瞭解應用程式如何儲存結構化資料。
  • 瞭解應用程式如何將二進位資料儲存在 Cloud Storage。

費用

本教學課程使用 GCP 的計費元件。

本教學課程包含數個步驟,每個步驟都有各自專屬的解說頁面。教學課程的最後一頁包含清除所用資源的操作說明。執行這項操作之後,系統就不會再向您收取使用 GCP 服務的費用。如果您決定不完成教學課程的所有步驟,請查看最後一頁的清除所用資源操作說明

事前準備

  1. 如要設定 Google Cloud Platform 專案,請使用 GCP 主控台:
    1. 建立 GCP 專案和 App Engine 應用程式,然後在該專案中啟用計費功能。
      前往 App Engine

      在系統提示時,選取 App Engine 應用程式的地區,然後啟用計費功能。建立 GCP 專案之後,畫面上會開啟「Dashboard」(資訊主頁)

    2. {% dynamic if "no_credentials" in setvar.task_params %}{% dynamic setvar credential_type %}NO_AUTH{% dynamic endsetvar %}{% dynamic if not setvar.redirect_url %}{% dynamic setvar redirect_url %}https://console.cloud.google.com{% dynamic endsetvar %}{% dynamic endif %}{% dynamic endif %}{% dynamic if setvar.in_henhouse_no_auth_whitelist %}{% dynamic if not setvar.credential_type %}{% dynamic setvar credential_type %}NO_AUTH{% dynamic endsetvar %}{% dynamic endif %}{% dynamic elif setvar.in_henhouse_service_account_whitelist %}{% dynamic if not setvar.credential_type %}{% dynamic setvar credential_type %}SERVICE_ACCOUNT{% dynamic endsetvar %}{% dynamic endif %}{% dynamic endif %}{% dynamic if not setvar.service_account_roles and setvar.credential_type == "SERVICE_ACCOUNT" %}{% dynamic setvar service_account_roles %}{% dynamic endsetvar %}{% dynamic endif %}{% dynamic setvar console %}{% dynamic if "no_steps" not in setvar.task_params %}
    3. {% dynamic endif %}{% dynamic if setvar.api_list %}{% dynamic if setvar.in_henhouse_no_auth_whitelist or setvar.in_henhouse_service_account_whitelist %} 設定 GCP 主控台專案。

      設定專案

      按一下即可:

      • 建立或選取專案。
      • 啟用該專案的{% dynamic if setvar.api_names %}{% dynamic print setvar.api_names %}{% dynamic else %}必要{% dynamic endif %}{% dynamic if "," in setvar.api_list %} API{% dynamic elif "API" in setvar.api_names %}{% dynamic else %} API{% dynamic endif %}。
      • {% dynamic if setvar.credential_type == 'SERVICE_ACCOUNT' %}
      • 建立服務帳戶。
      • 將私密金鑰下載為 JSON。
      • {% dynamic endif %}

      您可以隨時在 GCP 主控台中查看及管理這些資源。

      {% dynamic else %}{% dynamic if "no_text" not in setvar.task_params %} 啟用{% dynamic if setvar.api_names %}{% dynamic print setvar.api_names %}{% dynamic else %}必要的{% dynamic endif %}{% dynamic if "," in setvar.api_list %} API{% dynamic elif "API" in setvar.api_names %}{% dynamic else %} API{% dynamic endif %}。 {% dynamic endif %}

      啟用{% dynamic if "," in setvar.api_list %} API{% dynamic else %} API{% dynamic endif %}

      {% dynamic endif %}{% dynamic endif %}{% dynamic if "no_steps" not in setvar.task_params %}
    4. {% dynamic endif %}{% dynamic endsetvar %}{% dynamic print setvar.console %}
  2. 如要將 Java 應用程式部署至 App Engine,您必須先設定您的環境。詳情請參閱使用 Apache Maven 和 App Engine 外掛程式
  3. 下載、安裝並初始化 Cloud SDK:
    下載 Cloud SDK
  4. 複製範例存放區。

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

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

教學課程結構

Bookshelf 教學課程包含多個部分,分別說明範例應用程式如何使用各種 GCP 服務。

本頁內容對您是否有任何幫助?請提供意見:

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

這個網頁