[RESOLVIDO] Select - Para Login

Boa Tarde,
Pessoal estou fazendo os execícios da Apostila Fj-21 da Caelum.
Estou na parte que pedem para criar uma pagina de Login, já criei a tabela no banco como um usuário e senha.
Mais a autenticação não está sendo feita de forma correta.

Segue o meu select:

public boolean usuarioExiste(Usuario usuario){
		List<Usuario> usuarios = new ArrayList<>();

		
		String sql = "select * from usuarios where login='"+usuario.getLogin()+"' and senha='"+usuario.getSenha()+"'";
		try {
			stmt = connection.prepareStatement(sql);
			rs = stmt.executeQuery();
			while(rs.next()){
				Usuario user = new Usuario();			
				user.setLogin(rs.getString("login"));
				user.setSenha(rs.getString("senha"));				
				usuarios.add(user);					
			}
			stmt.close();
			rs.close();
			return true;
		} catch (SQLException e) {					
			return false;
		}
		
	}

Está correto verificar dessa forma?
Fiz o debug e os valores login e senha está sendo passados normalmente do formulário.

Aqui é onde executa o método da DAO, só que se eu digitar qualquer coisa no formulário login e senha ele aceita e redireciona para o menu.

@RequestMapping("efetuaLogin")
	public String efetuaLogin(Usuario usuario, HttpSession session) {
	  if(new UsuarioDao().usuarioExiste(usuario)) {
	    session.setAttribute("usuarioLogado", usuario);
	    return "menu";
	  }else{
		  return "redirect:loginForm"; 
	  }
	  
	}

ve se isso te ajuda no seu problema

https://github.com/Daniel-Dos/Livraria-XPTO-Sistema-de-Reservas-de-Livros-On-Line/blob/master/src/persistencia/DAOGenericoUsuario.java

Valeu xará deu certinho!!

1 curtida

Perfeito. Bons Estudos.