Ejercicio: creación de una aplicación web de Java

Completado

En la unidad anterior, aprendió que hay dos complementos comunes que los desarrolladores usan para ejecutar aplicaciones web localmente en sus equipos: Eclipse Jetty y Apache Tomcat. El complemento Azure App Service admite ambos servidores web y su empresa ha elegido usar Tomcat para sus proyectos web de Java debido a la amplia adopción y soporte del sector por parte de Apache Foundation. Para ayudarle a entender lo que su empresa tiene que hacer para migrar proyectos de Java existentes a Azure, ha decidido crear una aplicación web de prueba con Maven y arquetipos.

En este ejercicio, creará una aplicación web de Java con el arquetipo maven-archetype-webapp. Después de crear la aplicación web, actualizará el archivo pom.xml para agregar el complemento de Tomcat para que pueda probar la aplicación localmente. Después, la actualizará para proporcionar más información sobre dónde se ejecuta la aplicación.

Creación de una aplicación web de Java

  1. En Azure Cloud Shell, a la derecha, use el siguiente comando Maven para crear una nueva aplicación web de Java:

    mvn archetype:generate \
      -DgroupId=com.microsoft.example \
      -DartifactId=MyWebApp \
      -DarchetypeArtifactId=maven-archetype-webapp \
      -DinteractiveMode=false
    
  2. Cambie al directorio del proyecto y use code para editar el archivo pom.xml de la aplicación web:

    cd MyWebApp
    code pom.xml
    
  3. Busque el elemento <finalName>MyWebApp</finalName> en el archivo pom.xml y anexe el siguiente código XML debajo de esa línea para agregar el complemento de Tomcat al proyecto, lo que le permitirá ejecutar un servidor web local para probar la aplicación web:

    <plugins>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <!-- http port needed in the sandbox is 8000 -->
          <port>8000</port>
        </configuration>
      </plugin>
    </plugins>  
    
  4. Guarde los cambios escribiendo Ctrl+S.

  5. Escriba Ctrl+Q para salir del editor de código.

  6. Use Maven para empaquetar la nueva aplicación web:

    mvn package
    

    Maven mostrará una serie de mensajes en la consola mientras compila su app web. La compilación debe concluir con un mensaje de estado similar al ejemplo siguiente:

    [INFO] Packaging webapp
    [INFO] Assembling webapp [MyWebApp] in [/home/~/MyWebApp/target/MyWebApp]
    [INFO] Processing war project
    [INFO] Copying webapp resources [/home/~/MyWebApp/src/main/webapp]
    [INFO] Webapp assembled in [23 msecs]
    [INFO] Building war: /home/~/MyWebApp/target/MyWebApp.war
    [INFO] WEB-INF/web.xml already added, skipping
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 3.052 s
    [INFO] Finished at: 2020-02-12T21:12:00+00:00
    [INFO] Final Memory: 15M/122M
    [INFO] ------------------------------------------------------------------------
    

Prueba de la aplicación web de ejemplo

  1. Para este ejercicio, debe abrir un puerto para que el servidor web local esté disponible para verlo en un explorador. Para ello, ejecute el comando curl siguiente en Cloud Shell:

    curl -X POST http://localhost:8888/openPort/8000;
    
  2. El comando curl devuelve un objeto JSON como el ejemplo siguiente, que contiene una dirección URL que usará más adelante en este ejercicio para ver el servidor web:

    {"message":"Port 8000 is open","url":"https://gateway18.westeurope.console.azure.com/n/cc-1829663c/cc-1829663c/proxy/8000/"}
    
  3. Inicie el servidor web de Tomcat con Maven:

    mvn tomcat7:run
    
  4. Abra una pestaña nueva del explorador con la dirección URL del código JSON que ha devuelto el comando curl que ha ejecutado antes, y anexe MyWebApp/ al final de la dirección URL. Por ejemplo, con la ilustración anterior, la dirección URL sería https://gateway18.westeurope.console.azure.com/n/cc-1829663c/cc-1829663c/proxy/8000/MyWebApp/. Debería ver Hola mundo en el explorador:

    Screenshot fo the example web app running on Tomcat in a web browser.

  5. Para salir del servidor web, escriba Ctrl+C en Cloud Shell.

En la unidad siguiente aprenderá a implementar una aplicación web en Azure App Service.