入門: 静的コンテンツの配信

Google App Engine スタンダード環境から HTML ファイル、CSS、画像などの静的コンテンツを安全に配信する方法について説明します。

始める前に

  1. 開発環境を構成し、App Engine プロジェクトを作成します

  2. ウェブサイトにカスタム ドメイン名を使用する場合は、プロジェクトにカスタム ドメインを追加します。

ウェブページを配信する

App Engine では、HTML ページなどの静的コンテンツや画像などのメディアを配信できます。静的コンテンツは、JSP やサーブレットとして実行されないコンテンツです。

次の例は、ウェルカム メッセージを表示する基本的な 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 ディレクトリからの相対パスになります。

静的ファイルの場所を選択したら、その場所を appengine-web.xml ファイル内の <static-files> 要素で定義する必要があります。

次の例では、基本的な appengine-web.xml の構成です。これにより、webapp ディレクトリ内のすべての HTML ファイルが静的ファイルとして扱われます。

<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
  <threadsafe>true</threadsafe>
  <runtime>java8</runtime>
  <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 を使用してください。保護された URL を設定するには、プロジェクトの web.xml<security-constraint> 要素を追加する必要があります。<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 から画像、CSS、静的 HTML コンテンツを配信する方法を学習しました。知識を広げるために、HTML フォームでユーザーデータを処理する方法を学習しましょう。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Java の App Engine スタンダード環境