altenticação de Usuários com Servlet e JSP

Boa Tarde!

Amigos, estou precisando muito da ajuda de vocês, sou iniciante em java, e estou tentando implementar um sistema de login e logout, mais estou com dificuldades para fazer essa implementação.

Ex: Eu preciso verificar na Altentic_DAO se os dados dos parametros são iguais os dados do banco, caso seja verdadeiro, voltar para a classe LoginLogout e usar o RequestDispatcher responsavel pala pagina home. Caso seja falso fazer o mesmo processo, porém direcionando para a pagina de erro.

Altentic_DAO

package AplicBD;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import Modelo.Usuarios;

public class Altentic_DAO {

	private Connection connection;

	public Altentic_DAO(Connection connection) {
		this.connection = connection;
	}

	public boolean Autenticar(Usuarios usuarios) {
		
		boolean resultado = false;

		try {

			PreparedStatement stmt = this.connection
					.prepareStatement("select email, senha from mis_op_usuarios where email = ? and senha = ?");

			stmt.setString(1, usuarios.getemailUser());
			stmt.setString(2, usuarios.getSenhaUser());

			ResultSet rs = stmt.executeQuery();

			while (rs.next()) {
		
					rs.getString("email");
					rs.getString("senha");
					
					if (rs.getString("email").equalsIgnoreCase(usuarios.getemailUser())
							&& rs.getString("senha").equalsIgnoreCase(usuarios.getSenhaUser())) {
						
						System.out.println("Usuario Altorizado!");
						
						resultado = true;
						
				   }else{
					 
					   System.out.println("Usuario Não Altorizado!");
					   
					   resultado = false;
					   
				   }
			}

		} catch (SQLException e) {
			throw new RuntimeException(e);
		}
		return resultado;
	}

}

LoginLogout

package ClassesProjetoLogica;

import java.io.IOException;
import java.sql.Connection;
import javax.servlet.RequestDispatcher;
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 {

	@SuppressWarnings("unused")
	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);
		
		if(true){
			
			RequestDispatcher rd = request.getRequestDispatcher("/home.jsp");
			rd.forward(request, response);
			
		}else if(false){
			
			RequestDispatcher rd = request.getRequestDispatcher("/erro.jsp");
			rd.forward(request, response);
			

		}
		
    }	

}

Modelo

package Modelo;

public class Usuarios {
	
	private String emailUser;
	private String senhaUser;
	
	public String getemailUser() {
		return emailUser;
	}
	public void setemailUser(String emailUser) {
		this.emailUser = emailUser;
	}
	public String getSenhaUser() {
		return senhaUser;
	}
	public void setSenhaUser(String senhaUser) {
		this.senhaUser = senhaUser;
	}
	
}

Pagina 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>

o que está ocorrendo alexandre? É algum erro ou nada ocorre?
no teu servlet tu ta fazendo isso:

[code]
public class LoginLogout implements Logica {

@SuppressWarnings("unused")  
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);  
    //vou deixar essa linha de baixo para comentar, mas ela pode desaparecer
    altenticar.Autenticar(usuarios);  //isso aqui resulta em um boolean que pode ser somente true ou false 
      
    if(altenticar.Autenticar(usuarios)){  //você pode coloca-lo direto na condição
          
        RequestDispatcher rd = request.getRequestDispatcher("/home.jsp");  
        rd.forward(request, response);  
          
    }else{  //aqui você pode remover o if, porque se não for verdadeiro, existe apenas uma outra opção, que seria false
          
        RequestDispatcher rd = request.getRequestDispatcher("/erro.jsp");  
        rd.forward(request, response);  
          

    }  
      
}     

} [/code]

não sei se irro resolve o problema, você não colocou se apresenta erro ou algo similar. Se houver um erro, poste-o por favor.

****correção gramatical: a-u-tenticação, não apresente projetos com a-L-tenticação que fica feio kkkkk

[quote=andre.froes]o que está ocorrendo alexandre? É algum erro ou nada ocorre?
no teu servlet tu ta fazendo isso:

[code]
public class LoginLogout implements Logica {

@SuppressWarnings("unused")  
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);  
    //vou deixar essa linha de baixo para comentar, mas ela pode desaparecer
    altenticar.Autenticar(usuarios);  //isso aqui resulta em um boolean que pode ser somente true ou false 
      
    if(altenticar.Autenticar(usuarios)){  //você pode coloca-lo direto na condição
          
        RequestDispatcher rd = request.getRequestDispatcher("/home.jsp");  
        rd.forward(request, response);  
          
    }else{  //aqui você pode remover o if, porque se não for verdadeiro, existe apenas uma outra opção, que seria false
          
        RequestDispatcher rd = request.getRequestDispatcher("/erro.jsp");  
        rd.forward(request, response);  
          

    }  
      
}     

} [/code]

não sei se irro resolve o problema, você não colocou se apresenta erro ou algo similar. Se houver um erro, poste-o por favor.

****correção gramatical: a-u-tenticação, não apresente projetos com a-L-tenticação que fica feio kkkkk[/quote]

[quote]kkkkkkkkkk O veio valeu! acho que era por isso que ninguém respondia kkkkkkkkkkkkk valeu![/quote] :lol:

andre.froes Fiz a alteração no código conforme você falou e deu certo, valew mesmo… Só uma dúvida, baseado nesse contexto como eu crio uma sessão e controlo ela? é atravez de servlet, filtro? outra dúvida, eu gostaria de mostrar o email na tele home tipo Bem Vindo alexandre.marques@uninove.edu.br, entendeu? eu uso JSTL?

Agradeço pelo apoio…