開始使用:提供靜態內容

瞭解如何從 Google App Engine 標準環境安全地提供靜態內容,例如 HTML 檔案、CSS 和圖片。

事前準備

  1. 設定開發環境及建立 App Engine 專案

  2. 如果您的網站使用自訂網域名稱,請按照操作說明將自訂網域新增至您的專案。

提供網頁

App Engine 可以提供靜態內容,例如 HTML 頁面或是圖片等媒體。靜態內容是任何不會做為 JSP 或 Servlet 執行的內容。

以下範例是一個顯示歡迎訊息的基本 HTML 頁面。

<!DOCTYPE html>
<html>
  <head>
    <title>The App Engine Blog</title>
  </head>
  <body>
    <h1>Welcome to the App Engine Blog</h1>
    <p>This is being served by App Engine!</p>
  </body>
</html>

靜態檔案的放置位置

您必須將靜態提供的檔案放置在應用程式的 webapp 目錄中。您也可以使用資料夾,但請留意,所有的檔案路徑和 URI 都與 webapp 目錄有關。

為靜態檔案選擇位置後,您還必須使用 <static-files> 元素來定義靜態檔案在 appengine-web.xml 檔案中的位置。

在下方的範例中,基本 appengine-web.xml 設定將 webapp 目錄中的所有 HTML 檔案視為靜態檔案。

<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
  <application>YOUR-PROJECT-ID</application>
  <version>YOUR-VERSION-ID</version>
  <threadsafe>true</threadsafe>
  <static-files>
    <include path="/**.html" >
    </include>
  </static-files>
</appengine-web-app>

您可以擁有多個參考不同目錄和不同檔案類型的 <include path> 元素。請展開上一個範例:

<static-files>
  <include path="/**.html" >
  </include>
  <include path="/images/**.jpg" >
  </include>
</static-files>

現在,webapp/images/ 目錄中所有副檔名為 .jpg 的檔案均會視為靜態檔案。

在上述範例中,如果我們想要顯示 webapp/images 目錄中的 logo.jpg,則 <img> 標記將具有來源 URI <img src="/images/logo.jpg">

強制所有靜態內容採用 HTTPS

雖然 App Engine 支援使用 HTTP 或 HTTPS 提供內容,但建議您應使用 HTTPS。為了設定安全網址,您必須將 <security-constraint> 元素新增至專案的 web.xml。請參考此範例 <security-constraint>

<security-constraint>
    <web-resource-collection>
        <web-resource-name>blog</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

透過使用 <transport-guarantee>CONFIDENTIAL</transport-guarantee>,所有要求會自動重新導向至靜態內容的 HTTPS URI。

部署至 App Engine

您可以透過 Maven 將應用程式部署至 App Engine。

請前往專案的根目錄,然後輸入:

mvn appengine:deploy

Maven 部署應用程式之後,請輸入下列指令,以便在新的應用程式中自動開啟網路瀏覽器分頁:

gcloud app browse

後續步驟

您可以使用靜態檔案,透過 App Engine 提供圖片、階層式樣式表和靜態 HTML 內容。如要拓展這方面的知識,您可以參閱利用 HTML 表單處理使用者資料

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

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

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