Exercício – Criar uma aplicação Web Java
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
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
Alterne para o diretório do projeto e use
code
para editar opom.xml
arquivo do seu aplicativo Web:cd MyWebApp code pom.xml
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>
Guarde as suas alterações ao escrever Ctrl+S.
Saia do editor de código ao escrever Ctrl+Q.
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
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;
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/"}
Inicie o servidor Web Tomcat com o Maven:
mvn tomcat7:run
Abra um novo separador do browser com o URL do JSON devolvido pelo comando
curl
que executou anteriormente, ao anexarMyWebApp/
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: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.