Primeiras aulas do curso Servlet parte 2: Autenticação, autorização e o padrão MVC

Servlet parte 2: Autenticação, autorização e o padrão MVC

Criando o controlador - Introdução

Olá, tudo bom? Bem vindo à segunda parte da nossa série sobre o mundo Servlet e os fundamentos da web no mundo java.

Nesse curso, queremos construir uma aplicação usando os filtros e o conceito de controlador, divindo nossa aplicação em camadas e aplicando padrões arquiteturais e boas práticas no mundo web. Assim, criaremos a base necessária para que você se dê bem nesses frameworks e bibliotecas web de mais alto nível.

Logo, iremos completar nossa aplicação, criar um *CRUD * completo, fazer um login, fazer uma autorização e fechar nossa aplicação para que ela não fique mais aberta. Também usaremos o web services para abordar esse assunto.

Por fim, faremos o deploy da nossa aplicação, mas em outro servidor. Assim, veremos como nossa aplicação se comporta em um servlet container como o Jetty.

Portanto, temos um curso cheio de recursos, novidades e conteúdo importante para você se dar bem no mundo Java. Quer aprender Java para se preparar para o mercado? Então até as próximas aulas!

Criando o controlador - Ambiente e projeto Inicial

Faça o download do projeto inicial aqui.

Nesse vídeo, faremos apenas uma explicação do ambiente do projeto que criamos no curso anterior. Ou seja, quem já tem o Tomcat, o Eclipse e o Java configurados, e já tem o projeto importado e rodando, pode pular para o próximo vídeo, no qual começaremos a estudar novos conteúdos.

Já quem está começando agora pode assistir esse vídeo para se sentir mais confortável nesse projeto. Vamos a uma lista do que você vai precisar ter instalado em seu computador:

Java Development Kit

Nesse curso iremos utiizar o Java SE Development Kit 10, que é a versão mais atual, mas você também pode utilizar o Java 8 ou 9 (e acreditamos que futuras versões do Java também!). Sempre pedimos para os alunos serem fiéis às versões usadas durante o curso, mesmo que usar uma outra versão não atrapalhe o mecanismo por trás do Runtime.

Eclipse IDE for Java EE Developers

Não importa muito que versão do Eclipse você está utilizando. Porém, é importante usarmos o Eclipse Java EE, que tem todas as ferramentas para desenvolvemento Web. Por exemplo, a aba "Servers" não existe no Java do Eclipse padrão, somente no IDE Java EE.

Criando o controlador - Uma única servlet

Vamos continuar com o nosso curso e falar um pouco sobre a organização do nosso código. No curso passado fizemos os nossos Servlets, o nosso Modelo e o nosso view JSP com JSTL e Expression Language.

Portanto, já temos uma separação, que chamamos de camadas - o nosso código Java (Servlet e Modelo) e o view JSP estão bem separados.

Porém, as camadas referentes ao Servlet e ao Modelo ainda não estão separadas, e o nosso primeiro passo será fazer essa separação para deixar claro, no nosso código, o que faz parte do Modelo e o que são os Servlets.

Para isso precisaremos criar um novo pacote, o que pode ser feito de várias maneiras. Uma delas é indicar para o Eclipse o que queremos fazer - por exemplo, queremos que a classe Banco.java fique no pacote Modelo:

package br.com.alura.gerenciador.modelo;

O Eclipse irá indicar um erro, mas na mesma linha irá aparecer um ícone de lâmpada. Clicando nele, temos a opção de mover essa classe para o pacote Modelo ("Move 'Banco.java' to package 'br.com.alura.gerenciador.modelo'"). Como esse pacote ainda não existia, o Eclipse irá criá-lo para nós.

Agora precisaremos mover a classeEmpresa.java para esse pacote. Podemos fazer isso arrastando essa classe para dentro do pacote (ignorando os erros que aparecerem na tela).

Agora que Banco.java e Empresa.java estão dentro do pacote Modelo, as outras classes (AlterarEmpresaServlet, ListaEmpresasServlet, MostraEmpresaServlet, NovaEmpresaServlet, OiMundoServlet e RemoveEmpresaServlet) pararam de compilar, pois é necessário importar as classes que movemos.

Para isso, podemos utilizar o atalho "Ctrl + Shift + O" em cada uma das classes com erro, ou clicar sobre os ícones de lâmpada que apareceram e selecionar "Import 'Empresa'" e "Import 'Banco'" nos respectivos erros.

Agora temos pacotes diferentes para cada camada do nosso modelo, mas gostaríamos de ir além. No curso anterior, usamos o seguinte fluxograma para demonstrar como funcionará a alteração de uma empresa:

Nesse caso, precisaríamos de três Servlets:

Aqui fica claro que conseguimos chamar cada Servlet através de uma requisição, que é basicamente no que consiste um Servlet - um objeto que podemos chamar através de uma requisição HTTP.

Porém, isso pode ser ruim, já que cada Servlet é uma porta de entrada para nossa aplicação, e cada porta tem o seu risco e precisa ser protegida.

No caso, gostaríamos de ter apenas uma porta para nossa aplicação - ou seja, apenas um Servlet que recebe todas as requisições e depois decide o que fazer. Além disso, escrever um Servlet é um pouco burocrático, pois precisamos extender o HttpServlet, temos que ter a configuração @WebServlet, precisamos criar um método para determinadas assinaturas, etc.

Antigamente não existiam anotações e precisávamos configurar cada Servlet no .xml., o que motivava ainda mais esse processo. Porém, hoje isso não é mais necessário.

Dessa forma, ao invés de escrevermos oito linhas para cada Servlet, vamos escrever apenas um Servlet que seria a única entrada da nossa aplicação, e vamos reformular nossa aplicação. Até o próximo vídeo!

Sobre o curso Servlet parte 2: Autenticação, autorização e o padrão MVC

O curso Servlet parte 2: Autenticação, autorização e o padrão MVC possui 302 minutos de vídeos, em um total de 82 atividades. Gostou? Conheça nossos outros cursos de Java em Programação, ou leia nossos artigos de Programação.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Java acessando integralmente esse e outros cursos, comece hoje!

  • 1045 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

Premium

  • 1045 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$75
à vista R$900
Matricule-se

Premium Plus

  • 1045 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$100
à vista R$1.200
Matricule-se

Max

  • 1045 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$120
à vista R$1.440
Matricule-se
Procurando planos para empresas?
Acesso por 1 ano
Estude 24h/dia onde e quando quiser
Novos cursos toda semana