[MÚSICA] [MÚSICA] Olá a todos, bemvindos a mais hands on do nosso curso de Desenvolvimento Ágil com Java Avançado. Hoje vamos criar aqui na nossa aula, o nosso primeiro servlet, botar para rodar a nossa aplicação web. Você deve estar achando pouco estranho aqui o fato de que eu estou utilizando o Netbeans e não o Eclipse para fazer esse hands on. Eu vou explicar porquê, especialmente aulas que a gente quer que o aluno comece a desenvolver rápido as coisas, eu gosto, aulas de desenvolvimento web, de utilizar o Netbeans, porque quando você baixa ele, ele já vem com, se você baixar a versão JAVA EE, ele já vem todo configuradinho, com todos os servidores. Então, você consegue ter início muito mais rápido, às vezes com o Eclipse você tem que configurar algumas coisas e aí, às vezes algumas coisas não dão certo, e o aluno às vezes se frustra. Então, para essas aulas de web eu vou estar utilizando o Netbeans, como IDE base aí para a gente. Para criar projeto web eu vou vir aqui no arquivo aqui, vou dar novo projeto, o Netbeans, ele me oferece aqui várias opções, dentre eles tem aqui uma java web, eu vou clicar e vou escolher aplicação web. O nome do meu projeto vai ser OlaWeb, a gente vai fazer o famoso HelloWorld, eu dou próximo, ele vai me perguntar qual que é o servidor, qual que é a aplicação do Java EE eu quero, vou deixar esses aqui mesmo, eu dou o próximo, já poderia até ter dado o finalizar, mas só para mostrar para vocês os passos. No caso, ele pergunta aqui já, se você quer incluir alguma das bibliotecas, no caso, não está no escopo do nosso curso ver essas bibliotecas, a gente vem aqui e finaliza a nossa, a criação do projeto. A gente pode ver que ele abre aqui uma página, que seria o index, que seria a página principal, então eu vou vir aqui só para a gente poder fazer teste, vou colocar aqui aplicação que cumprimenta, que cumprimenta o usuário. Vamos lá, então, vou colocar aqui, teste da execução do projeto. Então, eu vou vir aqui só para ver se ele criou tudo direitinho, ele já tem essa página aqui, eu posso vir aqui e mandar executar. Quando eu mando executar uma aplicação web, o que é que ele vai fazer? Ele vai subir o servidor, no caso aqui é o Glassfish, que é o servidor que já vem com o Netbeans, que também, ele não é só servidor web, ele é também servidor de aplicação. então, a gente tem que esperar pouquinho aí, vamos aguardar ele rodar. [SOM] Enquanto isso a gente espera, isso demora pouquinho, dependendo da sua máquina ele demora mais. Pronto, o nosso servidor executou e a gente viu que ele abriu aqui uma página, se a gente for olhar o URL, ele abriu o localhost 8080 OlaWeb, que é o nome da nossa aplicação, e aí como ele não colocou página nenhuma, ele abriu aquela página index. Então, vamos deixar aqui, por enquanto, a gente tem aqui, se a gente pegar aqui o Glassfish, ele tem aqui a saída do console da inicialização do servidor. Então, vamos aqui criar o nosso primeiro servlet dentro da nossa aplicação. Então, eu vou vir aqui, vou dar novo. Como é projeto web, ele já me oferece opções dentro que são pertinentes a projeto web, como por exemplo, aqui o servlet, então, eu vou chamar aqui de OlaServlet. [SEM ÁUDIO] Vou dar o próximo e vou finalizar. No caso aqui, o Netbeans, quando ele cria novo servlet, ele cria com uma estrutura digamos, bem verbosa, então a gente, eu vou deletar aqui esses comentários aqui, para caber aqui na página direitinho, ele cria esse process request como método genérico para processar aqui a aplicação web. Se eu expandir aqui, eu vou ver que ele tem o método do get que chama aquele método, e tem aquele método do post, que também chama aquele método. Então, o que eu vou fazer? Eu vou deletar tudo isso aqui. Eu vou deletar todos esses métodos aqui e vou deixar só o meu do get como método vazio. Então, vou tirar aqui essa chamada e vou deletar tudo isso daqui. Esse template tem como você configurar. Eu não mudo o meu para que vocês possam acompanhar o exercício que está sendo feito. Então, o que é que eu vou fazer aqui agora? A primeira coisa aqui no web servlet, isso aqui na verdade, só precisa se eu tenho mais de uma URL, eu posso colocar aqui direto. Eu quero que esse servlet, por mais que eu lhe chame OlaServlet, ele seja acessado quando eu utilizar ali a URL Ola. Então, a princípio, o que eu vou fazer? Eu vou pegar o response.getWriter que é o que ele utiliza para escrever e vou dar print que eu vou, que eu vou escrever aqui. <Html> <h1> e eu vou colocar aqui: olá usuário [RUÍDO] 'Oi camarada!' Parece o pica-pau falando. </h1></html> Pronto. Então, eu vou salvar aqui e vamos ver se eu consigo acessar esse meu servlet. Então aqui eu não preciso executar toda a vez, eu posso só vir e colocar implantar, então, o que é que ele vai fazer? Ele vai lá no meu servidor e vai colocar aquela aplicação lá, que é bem mais rápido do que ele rodar o servidor tudo de novo. Daí então, eu posso vir aqui no meu navegador, eu vou vir aqui e colocar: ola. E ele vai lá e imprime o 'Oi camarada!'. Certo? Para a gente ver pouquinho da questão de como passar parâmetro para a página, eu vou pegar aqui parâmetro que eu vou chamar de nome, então, eu vou verificar primeiro se eu tenho esse parâmetro chamado nome. Então, como a gente viu, a gente pega do request, os parâmetros, então: getParameter nome, ele vai pegar ali o nome e eu vou verificar. Se esse nome, if nome, se o nome for igual a nulo, então, eu vou fazer aqui: nome = camarada. E aí, aqui, eu vou somar aqui, vou concatenar aqui com o nome. Então, eu venho aqui e salvo. Então, agora que eu implantei aqui com a modificação do parâmetro, eu vou estar executando aqui de novo. Então, primeiro eu vou executar o Ola normal, para ver se ele continua funcionando. Ele continua dando o 'Oi camarada!'. E aí, agora eu vou tentar passar parâmetro de nome = Guerra. Vamos ver se ele dá 'Oi Guerra!'? Lá: 'Oi Guerra!'. Então, a gente viu que com parâmetro ele customizou de uma forma ali. Eu sei que é uma aplicação bobinha, mas com isso daí a gente consegue estar criando o nosso primeiro servlet aí, vendo aí como isso funciona. Certo? Então, muito obrigado. Até à próxima aula! [MÚSICA] [MÚSICA]