:oops: Boa Tarde, Companheiros tudo bem?
Eu sou iniciante em java, estou com problemas para implementar uma area de login logout na minha aplicação. Eu preciso fazer com que os parametros que vieram da pagina sejam comparados com os dados da tabela do Banco, caso o email e a senha seja igual aos dos parametros, então cria uma sessão, atribui o email do usuario nela e direciona para a pagina home.jsp, Caso os dados não sejam iguais direciona para a pagina de erro.jsp
Eu não estou conseguindo fazer essa comparação, ja tentei de varias formas, li varios post sobre o assunto mais todos tem abordagens diferentes do que eu quero. Caso sintam desconfortaveis para postar um código de exemplo, não tem problema um descritivo, algoritimo, post ja é de grande ajuda.
Obs. Como estrategia eu crieu 2 modelos "Usuarios" que armazenará os parametros e Autor que armazenará os dados do banco, pelo que eu pude perceber não deu certo.
Segue as partes da aplicação:
index.jsp
<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Pagina Principal</title>
<link href="./CSS/index_pagina.css" rel="stylesheet" type="text/css" />
</head>
<body id="corpo">
<div id="formato">
<form action="mvc" method="post">
<label id="leb"><strong>E-mail:</strong>
</label> <input type="text" name="email" id="username" value="" /> <label
id="leb"><strong>Senha:</strong>
</label> <input type="password" name="senha" id="password" value="" /> <input
type="hidden" name="logica" value="LoginLogout" /> <input
name="entrar" type="submit" id="buttons" value="Entrar" />
</form>
</div>
<div id="logo">
<img src="./IMG/Planejamento.gif" />
</div>
<div id="cadastre_se">
<a href="cadastro.jsp" target="_blank">Cadastre-se!</a>
</div>
<div id="corpo_meio">
<img src="./IMG/emp.gif" />
</div>
</body>
</html>
Controle.ControllerServlet
package Controle;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import Contratos.Logica;
@WebServlet(description = "Servlet_Controladora", urlPatterns = { "/ControllerServlet" })
public class ControllerServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String parametro = request.getParameter("logica");
String bolaDaVez = "ClassesProjetoLogica." + parametro;
try {
Class<?> classe = Class.forName(bolaDaVez);
Logica logica = (Logica) classe.newInstance();
logica.executa(request, response);
} catch (Exception e) {
throw new ServletException("A lógica de negócios causou uma exceção", e);
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
}
Classe LoginLogout
package ClassesProjetoLogica;
import java.io.IOException;
import java.sql.Connection;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import AplicBD.Altentic_DAO;
import Contratos.Logica;
import Modelo.Usuarios;
public class LoginLogout implements Logica {
public void executa(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String email = request.getParameter("email").trim();
String senha = request.getParameter("senha").trim();
Usuarios usuarios = new Usuarios();
usuarios.setemailUser(email);
usuarios.setSenhaUser(senha);
Connection connection = (Connection) request.getAttribute("conexao");
Altentic_DAO altenticar = new Altentic_DAO(connection);
altenticar.Autenticar(usuarios);
}
}
E a Altentic_DAO
package AplicBD;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import Modelo.Autor;
import Modelo.Usuarios;
public class Altentic_DAO {
private Connection connection;
public Altentic_DAO(Connection connection) {
this.connection = connection;
}
public void Autenticar(Usuarios usuarios) {
try {
PreparedStatement stmt = this.connection
.prepareStatement("select email, senha from mis_op_usuarios");
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
Autor autor = new Autor();
autor.setemailUser(rs.getString("email"));
autor.setSenhaUser(rs.getString("senha"));
}
if(rs.next() && usuarios.getemailUser().equalsIgnoreCase(rs.getString("email"))){
System.out.println("O e-mail que esta no banco é igual o do paramentro");
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
