Boa noite pessoal, é o seguinte: estou querendo fazer uma tela de login, onde o usuario ira digitar o seu login e senha que já está cadastrado no banco do postgreSQL.
Só que estou com dificuldades em como posso fazer o java comparar o nome digitado nos campos login/senha com os cadastrados no banco de dados. Sem acessar o banco, fica mais fácil, como eu colei no codigo abaixo:
===============================================
public class LoginHandler {
private String login;
private String senha;
public String getLogin() {
return login;
}
public void setLogin(String login) {
System.out.println("mudando o login para: " + login);
this.login = login;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String logar() {
if ("Admin".equals(this.login) && "123456".equals(this.senha)) {
System.out.println("login com sucesso");
return "admin";
} else {
System.out.println("login falhou");
return "erro";
}
}
}
A questao é: eu quero que, quando o usuario digite seu login e senha e clique no botao logar, se faça uma busca no banco e confirme se seu nome de login e senha estao cadastrados, para assim poder logar no sistema.
bom mais eu vou lhe mostrar como fazer uma consulta no banco de dados
aqui vou ja estar considerando que a conexão ao banco já esta feita!!!
Stament st;
try
{
st = connect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
} catch (SQLException ex)
{
Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex);
}
ResultSet rs = st.executeQuery(" SELECT * FROM CLIENTES; ");
//Aqui vc deve passar o nome da coluna que vc quer pegar no caso aqui a coluna CLI_NOME
if (rs.next())
JTextField1.setText(rs.getString(" CLI_NOME "));
while (rs.next())
{
//...
}
Espero que isto te ajude, qualquer coisa posta ai!!
Primeiramente, quero agradecer pelas dicas e por ter respondido à minha dúvida de forma tão rápida.
Eu estou tentando fazer um sistema de login, buscando os dados em um bd do postgresql.
Estive lendo alguns fóruns sobre isso mas como eu sou novato no java, ainda fico um pouco confuso.
Como eu fiz um treinamento intensivo de java, algumas dúvidas dos exercícios passaram direto e só agora estou pensando em como resolve-las para poder inicializar o desenvolvimento de um sistema. E uma delas é essa: sistema de login.
O que eu fiz, seguindo o exercício proposto em sala, era muito simples, não ia buscar nada no banco. Agora que eu preciso usar o correto, está me dando um nó na cabeça.
Ainda fiquei com dúvidas na soluçao que vc sugeriu, pois eu entendi que até aí, vc só está buscando dados no banco, sem estar comparando com os digitados no .jsp.
Vou dar mais umas pesquisadas aqui e tentar solucionar o meu problema, ou pelo menos, ficar próximo disso.
Então kleber o que eu fiz aqui so foi para vc tem uma ideia de como faz para
pegar informações do banco de dados
No seu caso como vc deseja comparar as informações obtidas no seu banco vc pode
fazer da seguinte maneira, depois da sua busca vc faz um while veficando se o login se encontra cadastrado
se estiver verifica se a senha esta correta caso verdadeiro realiza o login
Bom acho que é isso que vc deseja certo?
se for faz assim:
boolean achou=false;
while (rs.next() && !achou)
{
//em rs.getString(); Deve ser passado como parametro o nome da coluna da sua tabela em seu BD
if (rs.getString(" LOGIN ").equals(" O LOGIN QUE FOI DIGITADO "))
if (rs.getString(" SENHA ").equals(" A SENHA QUE FOI DIGITADO "))
achou = true;
}
if (!achou)
System.out.println(" LOGIN E SENHA INVALIDO");
else
//Entra no Sistema
Bom acho que é isso que vc deseja, Pra faze a consulta acredito que vc ja tenha intendido com a mensagem anterior que eu deixei!!!
Esse codigo pode e deve ser melhorado, foi somente um simples exemplo, que eu acabei de fazer!