Dieser Leitfaden zeigt, wie ein Java-Webdienst geschrieben wird, der in der App Engine-Standardumgebung ausgeführt wird. Weitere Informationen zur Java-Laufzeit und ihrer Funktionsweise finden Sie unter Java-Laufzeitumgebung.
Hinweise
Vorbereitende Schritte (sofern noch nicht ausgeführt):
- Installieren Sie die neueste Version des Java Development Kits (JDK) für die App Engine-Laufzeitversion, die Sie verwenden möchten.
- Apache Maven herunterladen und installieren, um die Beispielanwendung zu erstellen, auszuführen und bereitzustellen
Wichtige Fakten
- App Engine startet Ihre Anwendung durch das Hochladen einer ausführbaren JAR-Anwendung.
- Ihre Anwendung muss eine Hauptklasse haben, die einen Webserver startet. Dieser antwortet auf HTTP-Anfragen von dem Port, der mit der PORT-Umgebungsvariablen festgelegt wurde, in der Regel 8080.
- Sie benötigen eine Datei
app.yaml
, um Ihren Dienst in App Engine bereitzustellen. - Sie können Abhängigkeiten verwenden, indem Sie diese in die Datei
pom.xml
aufnehmen. Weitere Informationen finden Sie unter Java-Bibliotheken verwenden.
Hauptklasse erstellen
Der HTTP-Server bildet den Kern Ihres Webdiensts. Der Beispielcode in diesem Leitfaden verwendet zur Verarbeitung von HTTP-Anfragen das Spring Boot-Framework. Sie können aber auch ein Web-Framework Ihrer Wahl einsetzen.
Erstellen Sie ein Spring Boot-Projekt für Java, das das Maven-Build-System verwendet und die Spring Web-Abhängigkeit enthält. Klicken Sie zuerst auf den folgenden Link:
Klicken Sie in Spring Initializer auf die Schaltfläche Generate, um Ihr Projekt zu erstellen und herunterzuladen.
Bearbeiten Sie im heruntergeladenen Projekt die Datei
springboot/src/main/java/com/example/appengine/springboot/DemoApplication.java
, um einige Java-Importe und einen REST-Hello-Handler hinzuzufügen:package com.example.appengine.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @RestController public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @GetMapping("/") public String hello() { return "Hello world!"; } }
Die geänderte Klasse ist ein Controller, der den eingebetteten Tomcat-Server von Spring Boot startet und auf
GET
-Anfragen im Stammpfad ('/'
) mit dem Text „Hello world!“ antwortet.
Server lokal ausführen
So führen Sie den Server lokal aus:
Starten Sie einen lokalen Webserver mithilfe des Spring Boot-Maven-Plug-ins.
mvn spring-boot:run
Geben Sie in Ihrem Webbrowser die folgende Adresse ein:
http://localhost:8080
Auf der Seite wird die Nachricht Hello World aus der Beispielanwendung angezeigt. Drücken Sie im Terminalfenster Strg + C, um den Webserver zu beenden.
Erstellen der app.yaml
-Datei
So legen Sie Einstellungen für Ihre Anwendung in der App Engine-Laufzeitumgebung fest:
Erstellen Sie eine Datei mit dem Namen
app.yaml
im folgenden Verzeichnis:
springboot/src/main/appengine/
Fügen Sie der Datei den folgenden Inhalt hinzu:
Java 21
runtime: java21
In der Datei
app.yaml
können unter anderem auch Netzwerk- und Skalierungseinstellungen festgelegt werden. Weitere Informationen finden Sie in der Referenz zuapp.yaml
.
Wenn Sie den obigen Spring Initializr-Link verwendet haben, sollten Sie nun eine Dateistruktur wie die folgende haben:
springboot/
pom.xml
src/main/
appengine/
app.yaml
java/com/example/appengine/springboot/
DemoApplication.java
Sie können auch das Maven-Plug-in, das die Bereitstellung der Anwendung ermöglicht, in der pom.xml des Projekts hinzufügen:
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>2.8.1</version>
<configuration>
<projectId>YOUR_PROJECT_NAME</projectId>
<version>YOUR_VERSION</version>
<promote>false</promote>
</configuration>
</plugin>
Nächste Schritte
Sie haben jetzt einen einfachen Java-Webserver erstellt, der den richtigen Port überwacht, und Sie haben die Laufzeit in der Datei app.yaml
angegeben. Als Nächstes können Sie den Dienst in App Engine bereitstellen.