Este projeto é uma aplicação web feita com Java Servlet que implementa um sistema de login.
O servlet recebe dados do usuário (login e senha) via formulário HTML, envia esses dados para uma API REST externa em formato JSON, e processa a resposta para autenticar o usuário.
- Recepção dos dados do formulário: o servlet captura o login e senha enviados pelo usuário.
- Envio para API REST: os dados são convertidos em JSON e enviados via requisição HTTP POST para a API.
- Validação do login: a API responde se o login foi bem-sucedido ou não.
- Gerenciamento de sessão: se o login for válido, uma sessão é criada para armazenar o usuário logado.
- Resposta ao usuário: exibe uma mensagem HTML personalizada de sucesso ou erro de login.
A API REST é responsável por validar as credenciais do usuário. Ela fica rodando no endereço:
http://127.0.0.1:3000/Login/
- Recebe requisições POST com dados do usuário no formato JSON:
login(string): nome de usuáriosenha(string): senha do usuário
- Valida as credenciais contra uma base de dados ou lógica interna.
- Retorna uma resposta JSON indicando sucesso ou falha no login.
- Retorna dados do usuário, como nome, para mostrar na interface caso o login seja válido.
{
"login": "usuario123",
"senha": "minhaSenha"
}{
"status": true,
"nome": "Felipe Silva"
}{
"status": false,
"mensagem": "Login ou senha inválidos"
}- Java Servlet: para criar o backend que processa os dados do login.
- Jakarta Servlet API: API para manipular requisições e respostas HTTP.
- HttpClient do Java: para enviar requisições HTTP para a API REST.
- JSON (org.json): para converter objetos Java em JSON e vice-versa.
- Servidor Tomcat ou similar: para rodar o servlet.
- API REST externa: serviço que autentica os usuários.
/src
/view
Login.java --> Servlet que processa o login
/model
Usuario.java --> Classe que representa o usuário e converte dados JSON
-
Execute a API REST na URL
http://127.0.0.1:3000/Login/.
Essa API deve estar funcionando para que o login funcione corretamente. -
Compile e implemente o projeto no seu servidor servlet (ex: Apache Tomcat).
-
Abra o navegador e acesse a página do formulário de login que envia os dados para o servlet.
-
Digite seu login e senha no formulário e envie.
-
O servlet processará a requisição, enviará os dados para a API, e exibirá o resultado da autenticação.
-
O servlet
Login.java:- Recebe os parâmetros
txtLoginetxtSenhado formulário. - Cria um objeto
Usuarioe popula os dados. - Converte o objeto para JSON.
- Usa
HttpClientpara enviar uma requisição POST para a API. - Recebe a resposta JSON da API e a processa para determinar se o login foi bem-sucedido.
- Se sucesso, cria uma sessão para o usuário.
- Exibe uma página HTML com mensagem de sucesso ou erro.
- Recebe os parâmetros
-
A classe
Usuario.java:- Tem atributos como login, senha e nome.
- Métodos para converter para JSON (
toJson()) e para preencher os dados a partir do JSON da API (fromJsonLoginString()).
- Modifique a URL da API no servlet (
apiUrl). - Adapte a classe
Usuariopara refletir os campos reais da sua API. - Customize a interface HTML gerada no servlet para melhorar a experiência do usuário.
- Implemente mais funcionalidades no backend conforme sua necessidade (ex: logout, cadastro, etc).
- Servlet: programa Java que responde a requisições HTTP no servidor.
- JSON: formato para trocar dados de forma leve e estruturada.
- HTTP POST: método para enviar dados ao servidor.
- Sessão: forma de manter informações do usuário durante a navegação na web.
- API REST: serviço web que troca dados usando HTTP e JSON.
- Criar páginas JSP ou HTML para o formulário de login.
- Adicionar tratamento para senhas (ex: hash).
- Implementar controle de acesso às páginas protegidas.