Erste Schritte: Statische Inhalte bereitstellen

Erfahren Sie, wie Sie statische Inhalte wie HTML-Dateien, CSS und Bilder sicher aus der Google App Engine-Standardumgebung bereitstellen können.

Vorbereitung

  1. Konfigurieren Sie Ihre Entwicklungsumgebung und erstellen Sie Ihr App Engine-Projekt.

  2. Falls Sie einen benutzerdefinierten Domainnamen für Ihre Website verwenden, folgen Sie der Anleitung zum Hinzufügen einer benutzerdefinierten Domain zu Ihrem Projekt.

Webseite bereitstellen

App Engine kann statische Inhalte wie z. B. HTML-Seiten und Medien wie z. B. Bilder bereitstellen. Statischer Inhalt ist alles, was nicht als JSPs oder Servlets ausgeführt wird.

Das folgende Beispiel zeigt eine einfache HTML-Seite, die eine Begrüßungsnachricht anzeigt.

<!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>

Wo werden statische Dateien abgelegt?

Sie müssen Ihre statischen Dateien im Verzeichnis webapp Ihrer Anwendung ablegen. Sie können Ordner verwenden. Beachten Sie jedoch, dass alle Dateipfade und URIs relativ zum Verzeichnis webapp sind.

Nachdem Sie einen Speicherort für die statischen Dateien ausgewählt haben, müssen Sie ihn in der Datei appengine-web.xml mithilfe des Elements <static-files> definieren.

Im folgenden Beispiel behandelt eine einfache appengine-web.xml-Konfiguration alle HTML-Dateien im Verzeichnis webapp als statische Dateien.

<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>

Sie können mehrere <include path>-Elemente haben, die auf verschiedene Verzeichnisse und unterschiedliche Dateitypen verweisen. Erweiterung zum vorherigen Beispiel:

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

Jetzt werden alle Dateien mit der Erweiterung .jpg in im Verzeichnis webapp/images/ werden als statische Dateien behandelt.

Wenn Sie im obigen Beispiel logo.jpg aus dem Verzeichnis webapp/images anzeigen möchten, hat das Tag <img> den Quell-URI <img src="/images/logo.jpg">.

HTTPS für alle statischen Inhalte erzwingen

Obwohl App Engine das Bereitstellen von Inhalten sowohl mit HTTP als auch mit HTTPS unterstützt, sollten Sie HTTPS verwenden. Fügen Sie der web.xml Ihres Projekts das Element <security-constraint> hinzu, um sichere URLs zu erstellen. Hier ein Beispiel für <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>

Mit <transport-guarantee>CONFIDENTIAL</transport-guarantee> werden alle Anfragen automatisch an den HTTPS-URI des statischen Inhalts weitergeleitet.

In App Engine bereitstellen

Sie können Ihre Anwendung mithilfe von Maven in App Engine bereitstellen.

Wechseln Sie zum Stammverzeichnis Ihres Projekts und geben Sie Folgendes ein:

mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID

Ersetzen Sie PROJECT_ID durch die ID Ihres Google Cloud-Projekts. Wenn in der Datei pom.xml bereits Ihre Projekt-ID angegeben ist, müssen Sie das Attribut -Dapp.deploy.projectId nicht in dem von Ihnen ausgeführten Befehl einfügen.

Nachdem Ihre Anwendung von Maven bereitgestellt wurde, sollte automatisch ein Webbrowser-Tab in Ihrer neuen Anwendung geöffnet werden. Geben Sie dazu Folgendes ein:

gcloud app browse

Weitere Informationen

Statische Dateien können dazu verwendet werden, Bilder, CSS und statische HTML-Inhalte über App Engine bereitzustellen. Vertiefende Informationen zum Thema finden Sie unter Nutzerdaten über HTML-Formulare verarbeiten.