Exercício – Criar uma aplicação Web Java

Concluído

Na unidade anterior, você aprendeu que há dois plugins comuns que os desenvolvedores usam para executar aplicativos da web localmente em suas máquinas: Eclipse Jetty e Apache Tomcat. O plug-in do Serviço de Aplicações do Azure suporta estes servidores Web e a sua empresa optou por utilizar o Tomcat para os projetos Web Java devido à sua extensa adoção e suporte na indústria com base na fundação Apache. Para ajudá-lo a compreender o que a sua empresa tem de fazer para migrar os projetos de Java existentes para o Azure, decidiu criar uma aplicação Web de teste com o Maven e arquétipos.

Neste exercício, irá criar uma nova aplicação Web Java com o arquétipo maven-archetype-webapp. Depois de criar a aplicação Web, irá atualizar o ficheiro pom.xml para adicionar o plug-in do Tomcat para poder testar a aplicação localmente. Em seguida, você o atualizará para fornecer mais informações sobre onde o aplicativo está sendo executado.

Criar uma aplicação Web Java

  1. No Azure Cloud Shell à direita, use o seguinte comando Maven para criar um novo aplicativo Web Java:

    mvn archetype:generate \
      -DgroupId=com.microsoft.example \
      -DartifactId=MyWebApp \
      -DarchetypeArtifactId=maven-archetype-webapp \
      -DinteractiveMode=false
    
  2. Alterne para o diretório do projeto e use code para editar o pom.xml arquivo do seu aplicativo Web:

    cd MyWebApp
    code pom.xml
    
  3. Localize o <finalName>MyWebApp</finalName>pom.xml elemento no arquivo e acrescente o seguinte XML abaixo dessa linha para adicionar o plug-in Tomcat ao seu projeto, que permite executar um servidor Web local para testar seu aplicativo 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 as suas alterações ao escrever Ctrl+S.

  5. Saia do editor de código ao escrever Ctrl+Q.

  6. Use o Maven para empacotar seu novo aplicativo Web:

    mvn package
    

    O Maven exibirá uma série de mensagens no console enquanto cria seu aplicativo Web. A compilação deve concluir com uma mensagem de status semelhante ao exemplo a seguir:

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

Testar a aplicação Web de exemplo

  1. Para este exercício, terá de abrir uma porta para disponibilizar o servidor Web local para visualização num browser. Para fazer isso, use o seguinte curl comando no Cloud Shell:

    curl -X POST http://localhost:8888/openPort/8000;
    
  2. O curl comando retorna um objeto JSON como o exemplo a seguir, que contém uma URL que você usará posteriormente neste exercício para exibir o servidor Web:

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

    mvn tomcat7:run
    
  4. Abra um novo separador do browser com o URL do JSON devolvido pelo comando curl que executou anteriormente, ao anexar MyWebApp/ ao final do URL. Por exemplo, usando a ilustração acima, esse URL seria https://gateway18.westeurope.console.azure.com/n/cc-1829663c/cc-1829663c/proxy/8000/MyWebApp/. Você deve ver Hello World! exibido no seu navegador:

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

  5. Saia do servidor Web ao escrever Ctrl+C no Cloud Shell.

Na próxima unidade, irá aprender a implementar a sua aplicação Web no Serviço de Aplicações do Azure.