Übung: Erstellen einer Java-Web-App

Abgeschlossen

In der vorherigen Lerneinheit haben Sie erfahren, dass es zwei häufig verwendete Plug-Ins gibt, die Entwickler verwenden, um Web-Apps lokal auf ihren Computern auszuführen: Eclipse Jetty und Apache Tomcat. Das Azure App Service-Plug-In unterstützt beide Webserver, und Ihr Unternehmen hat sich dazu entschieden, Tomcat für seine Java-Webprojekte zu verwenden, da diese Lösung problemlos an branchenübliche Anforderungen angepasst werden kann und Apache unterstützt wird. Damit Sie ein Verständnis dafür erlangen, was Ihr Unternehmen tun muss, um vorhandene Java-Projekte zu Azure zu migrieren, haben Sie sich dazu entschieden, eine Web-App zu Testzwecken mithilfe von Maven und vorgefertigten Typen zu erstellen.

In dieser Übung erstellen Sie mithilfe des vorgefertigten maven-archetype-webapp-Typs eine neue Java-Web-App. Nach Erstellung der Web-App aktualisieren Sie die pom.xml-Datei so, dass das Tomcat-Plug-In hinzugefügt wird, damit Sie Ihre App lokal testen können. Anschließend aktualisieren Sie sie, um weitere Informationen darüber anzugeben, wo die App ausgeführt wird.

Erstellen einer Java-Web-App

  1. Verwenden Sie den folgenden Maven-Befehl rechts in Azure Cloud Shell, um eine neue Java-Web-App zu erstellen:

    mvn archetype:generate \
      -DgroupId=com.microsoft.example \
      -DartifactId=MyWebApp \
      -DarchetypeArtifactId=maven-archetype-webapp \
      -DarchetypeVersion=1.4 \
      -DinteractiveMode=false
    
  2. Wechseln Sie zu Ihrem Projektverzeichnis, und verwenden Sie code, um die pom.xml-Datei für Ihre Web-App zu bearbeiten:

    cd MyWebApp
    code pom.xml
    
  3. Suchen Sie das <plugins>-Element in der Datei pom.xml, und fügen Sie unterhalb der vorhandenen Plug-Ins das folgende <plugin>-Element hinzu, wodurch Sie einen lokalen Webserver zum Testen Ihrer Web-App ausführen können:

    <plugin>
      <groupId>org.codehaus.cargo</groupId>
      <artifactId>cargo-maven3-plugin</artifactId>
      <version>1.10.13</version>
      <configuration>
        <container>
          <containerId>tomcat11x</containerId>
        </container>
        <configuration>
          <properties>
            <!-- http port needed in the sandbox is 8000 -->
            <cargo.servlet.port>8000</cargo.servlet.port>
          </properties>
        </configuration>
      </configuration>
    </plugin>
    
  4. Speichern Sie die Änderungen, indem Sie STRG+S drücken.

  5. Schließen Sie den Code-Editor durch Drücken von STRG+Q.

  6. Verwenden Sie Maven, um Ihre neue Web-App zu verpacken:

    mvn package
    

Testen der Beispiel-Web-App

  1. Für diese Übung müssen Sie einen Port öffnen, um den lokalen Webserver zum Anzeigen in einem Browser zur Verfügung zu stellen. Verwenden Sie hierzu den folgenden curl-Befehl in Cloud Shell:

    curl -X POST http://localhost:8888/openPort/8000;
    
  2. Der curl-Befehl gibt ein JSON-Objekt ähnlich dem folgenden Beispiel zurück, das eine URL enthält, die Sie später in dieser Übung zum Anzeigen des Webservers verwenden:

    {"message":"Port 8000 is open","url":"https://gateway18.westeurope.console.azure.com/n/cc-1829663c/cc-1829663c/proxy/8000/"}
    
  3. Starten Sie den Tomcat-Webserver mit Maven:

    mvn cargo:run
    
  4. Öffnen Sie die URL aus dem vom zuvor ausgeführten curl-Befehl zurückgegebenen JSON-Objekt in einer neuen Registerkarte, und fügen Sie MyWebApp/ an das Ende der URL an. Beim obigen Beispiel würde diese URL wie folgt lauten: https://gateway18.westeurope.console.azure.com/n/cc-1829663c/cc-1829663c/proxy/8000/MyWebApp/.. In Ihrem Browser sollte Hello World! angezeigt werden:

    Screenshot der Beispiel-Web-App, die in Tomcat in einem Webbrowser ausgeführt wird

  5. Beenden Sie den Webserver, indem Sie STRG+C in Cloud Shell drücken.

In der nächsten Lerneinheit erfahren Sie, wie Sie Ihre Web-App in Azure App Service bereitstellen.