Estou querendo realizar a validação e autenticação de um usuário já cadastrado no sistema e pegar o nome do usuario, quero que ao digitar nos campos de login e senha na minha pagina jsp,fazer a validação das informações se estão digitadas corretamente caso esteja erradas ele mostra em uma label na pagina de login, a seguinte mensagem “Login ou senha incorretos” ou se os campos estiverem nulos ele mostra na pagina “Por favor preencha os campos de login ou senha”.
Criei uma classe DAO em que faz a consulta SQL, mas apresenta seguinte erro O nome da coluna cli_login não foi encontrado neste resultset
ClienteDAO
public Cliente validacaoLogin(String login,String senha){
Cliente cli = new Cliente();
try {
con = Conecta.conexao();
} catch (ClassNotFoundException ex) {
Logger.getLogger(ClienteDAO.class.getName()).log(Level.SEVERE, null, ex);
}
String sql="Select cli_nome from tb_cliente where cli_login= '" + login + "' and cli_senha= '" + senha + "'";
try {
pst = con.prepareStatement(sql);
rs= pst.executeQuery();
while(rs.next()){
cli.setLogin(rs.getString("cli_login"));
cli.setSenha(rs.getString("cli_senha"));
cli.setNome(rs.getString("cli_nome"));
}
return cli;
} catch (Exception e) {
JOptionPane.showConfirmDialog(null,e);
return null;
}
}
Servlet
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// processRequest(request, response);
String vazio="Por favor preencha os campos de login ou senha";
String incorretos="Login ou senha incorretos";
String login = request.getParameter("login");
String senha = request.getParameter("senha");
Cliente cli= new Cliente();
LoginDAO login2= new LoginDAO();
// cli.setLogin(login);
//cli.setSenha(senha);
Cliente login_validacao=login2.validacaoLogin(login,senha);
request.setAttribute("validacao_login", login_validacao);
if(cli.getLogin()==null && cli.getSenha()==null){
request.setAttribute("vazio", vazio);
}
else if(login_validacao.equals(request.getParameter("login")) & login_validacao.equals(request.getParameter("senha")) ){
RequestDispatcher rd=request.getRequestDispatcher("/index.jsp");
rd.forward(request, response);
}
else{
request.setAttribute("incorreto", incorretos);
}
}
Pagina JSP
<html>
<head>
<script type="text/javascript">
function login(){
$.ajax({
type: "POST",
url: "Login",
data: {
login: $("input[id=login]").val(),
senha: $("input[id=senha]").val(),
},
success: function(result){
$('#teste').html(result);
},
error:function(){
alert("ERRO");
},
});
}
</script>
</head>
<body>
<div class="login-form">
<div class="row">
<div class="col-6 col-md-4"></div>
<div class="col-6 col-md-4">
<h2 id="AcesseConta"><span>Acesse sua Conta</span></h2>
<label for="vazio_resposta">${vazio.vazio}</label>
<label for="validacao">${incorreto.incorretos}</label>
</div>
</div>
<div class="row">
<div class="col-6 col-md-4"></div>
<div class="col-6 col-md-4">
Login:<input type="text" id="login" name="login" ><br/><br/>
Senha:<input type="text" id="senha" name="senha" ><br/>
<a href="">Não é cadastrado?Cadastre-se</a><br/><br/>
</div>
</div>
<div class="row">
<div class="col-6 col-md-4"></div>
<div class="col-6 col-md-4">
<div id="teste"></div>
<button type="button" onclick="login()" >Entrar</button> <button type="button" onclick="" >Esqueceu a Senha?</button>
</div>
</div>
</div>
</body>