Oefening: een Java-web-app maken

Voltooid

In de vorige les hebt u geleerd dat er twee algemene invoegtoepassingen zijn die ontwikkelaars gebruiken om web-apps lokaal op hun computer uit te voeren: Eclipse Jetty- en Apache Tomcat-. De Azure App Service-invoegtoepassing ondersteunt beide webservers en uw bedrijf heeft ervoor gekozen Tomcat te gebruiken voor de Java-webprojecten vanwege de uitgebreide ingebruikname en ondersteuning van de Apache-basis. Als u wilt weten wat uw bedrijf moet doen om bestaande Java-projecten te migreren naar Azure, hebt u besloten om een testweb-app te maken met behulp van Maven en archetypen.

In deze oefening maakt u een nieuwe Java-web-app met behulp van het maven-archetype-webapp archetype. Nadat u de web-app hebt gemaakt, werkt u het pom.xml-bestand bij om de Tomcat-invoegtoepassing toe te voegen, zodat u uw app lokaal kunt testen. Vervolgens werkt u deze bij om meer informatie te geven over waar de app wordt uitgevoerd.

Een Java-web-app maken

  1. Gebruik in azure Cloud Shell aan de rechterkant de volgende Maven-opdracht om een nieuwe Java-web-app te maken:

    mvn archetype:generate \
      -DgroupId=com.microsoft.example \
      -DartifactId=MyWebApp \
      -DarchetypeArtifactId=maven-archetype-webapp \
      -DarchetypeVersion=1.4 \
      -DinteractiveMode=false
    
  2. Ga naar de projectmap en gebruik code om het pom.xml-bestand voor uw web-app te bewerken:

    cd MyWebApp
    code pom.xml
    
  3. Zoek het element <plugins> in het pom.xml-bestand en voeg de volgende <plugin> toe onder de bestaande invoegtoepassingen, waarmee u een lokale webserver kunt uitvoeren om uw web-app te testen:

    <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. Sla uw wijzigingen op door Ctrl+S-te typen.

  5. Sluit de code-editor af door Ctrl+Qte typen.

  6. Gebruik Maven om uw nieuwe web-app in te pakken:

    mvn package
    

De voorbeeldweb-app testen

  1. Voor deze oefening moet u een poort openen om de lokale webserver beschikbaar te maken voor weergave in een browser. Gebruik hiervoor de volgende curl opdracht in Cloud Shell:

    curl -X POST http://localhost:8888/openPort/8000;
    
  2. De opdracht curl retourneert een JSON-object, zoals in het volgende voorbeeld, dat een URL bevat die u later in deze oefening gaat gebruiken om de webserver weer te geven:

    {"message":"Port 8000 is open","url":"https://gateway18.westeurope.console.azure.com/n/cc-1829663c/cc-1829663c/proxy/8000/"}
    
  3. Start de Tomcat-webserver met Maven:

    mvn cargo:run
    
  4. Open een nieuw browsertabblad met behulp van de URL van de JSON die is geretourneerd door de curl opdracht die u eerder hebt uitgevoerd, waarbij MyWebApp/ wordt toegevoegd aan het einde van de URL. Als u bijvoorbeeld de bovenstaande afbeelding gebruikt, wordt die URL https://gateway18.westeurope.console.azure.com/n/cc-1829663c/cc-1829663c/proxy/8000/MyWebApp/. Als het goed is, zou u Hallo wereld! te zien krijgen in uw browser.

    Schermopname van de voorbeeldweb-app die wordt uitgevoerd op Tomcat in een webbrowser.

  5. Sluit de webserver af door Ctrl+C- in de Cloud Shell te typen.

In de volgende les leert u hoe u uw web-app implementeert in Azure App Service.