Boa noite, estou com um problema que é simples, mas pra mim ta um pouco foda, pois nao estou conseguindo resolver.
Estou desenvolvendo um aplicativo web java, e imagine que tenho que pega dois valores do formulario (PAGINA.JSP), um é o nome de usuario, e o outro é a senha, e depois comparar com as duas colunas de uma tabela de um BD para confirmar se é usuario cadastrado ou nao.
Eu criei uma classe chamada Usuario.java, e um metodo dentro dela que é para realizar a comparação, usei um select.
O problema é: COMO EU PEGO OS VALORES DA PAGINA.JSP E COMPARO COM OS VALORES DA COLUNA DA TABELA?
vou passar oque fiz ate agora, a pagina jsp e o metodo da classe(está constando erro)
try
{
ResultSet usu, sen ;
String user = request.getParameter("user").toUpperCase();
String pass = request.getParameter("password").toUpperCase();
conexao.conectar();
usuario.setConexao(conexao.getConexao());
usu = usuario.verificaLogin(user);
sen = usuario.verificaSenha(pass);
if((usu.equals(true)) && (usu != null))
if((sen.equals(true)) && (sen != null))
out.println("<p><a href=\"loja.jsp" + "\">Entre na loja</a></p>");
else
out.println("<p>Senha vazia ou incorreta</p>");
else
out.println("<p>Usuario vazio ou incorreto.</p>");
}
catch(Exception e)
{
e.printStackTrace();
}
te aconselho a utilizar o vRaptor, tem bastante material e na totalidade em portugues assim ficando mais barbada de aprender se tiver dificuldades com linguas extrangeiras!! http://vraptor.caelum.com.br/
ainda mais por se tratar de um trabalho de faculdade, vai precisar de um certo embasamento e certamente vai ter todo o material necessário a mão.
depois de dar uma passada no material e seguindo as apostilas com o curso de vraptor e surgir alguma dúvida posta aEW que o povo sintetiza a questão!
Bom, sinceramente, eu creio que essa questao d evalidar login nao seja nada de mais, mas para o pessoal nao estar respondendo tem 2 alternativas, ou nao acham certo me mostrar como que faz por ser trabalho da faculdade (coisa que eu acho q nao tem nada a ver)m ou é realmente mt dificil (acho dificil ser essa questao.)
bom ams vo disponibilizar um novo codigo que eu fiz para o tratado, melhrou, agor apelo menos mostra a msg de erro e o codigo ficou mais limpo.
<%
Usuario us = new Usuario();
String login = request.getParameter("login");
String senha = request.getParameter("senha");
conexao.conectar();
us.setConexao(conexao.getConexao());
boolean result = us.verificaUsuario(login, senha);
if(result == true)
{
out.println("<br />Login feito com sucesso" + us.nome);
}
else
{
out.println("<br />login ou senha invalidos");
}
conexao.fechar();
%>
[code]
public String nome = null;
public Boolean result = false;
Sandro obrigado pela ajuda, realmente vc tem razao a logica é a mesma, mas como eu sou novo em desenvolvimento web java (2 semanas), estou encontrando essa dificuldade, pois fiz td da maneirta correta, o select etc., mas mesmo assim nao retorna o resultado positivo, nao estou conseguiondo encontrar o erro.
Mas eu alterei todo o codigo de boolean para ResultSet porque nao estava dando certo, e vou postar para vcs verem, ele esta mais simples, logico e facil de visualizar, e ainda nao consegui, vou postar em detalhes.
METODO DA CLASSE USUARIO RESPONSAVEL POR VALIDAR O USUARIO
public boolean verificaUsuario(String login, String senha) throws SQLException
{
try{
stmt = (PreparedStatement) con.prepareStatement("select nome from usuario where login = '"+login+"' and senha = '"+senha+"' ");
rs = stmt.executeQuery();
if(rs.next())
{
nome = rs.getString("nome");
return true;
}
else
return false;
}
catch(Exception e)
{
e.printStackTrace();
return false;
}
}
PAGINA QUE RECEBE OS DADOS DIGITADOS E POSTERIORMENTE CHAMA O METODO DA CLASSE USUARIO PARA TESTAR A VALIDAÇÃO
String login = request.getParameter("login");
String senha = request.getParameter("senha");
conexao.conectar();
usuario.setConexao(conexao.getConexao());
boolean rs = usuario.verificaUsuario(login, senha);
out.println("Antes do if"); //ESSA MSG DE TESTE E EXIBIDA
if(rs == true){
out.println("dentro do if");//NAO CONSIGO EXIBIR ESSA MSG DE TESTE
out.println("<br />Login feito com sucesso" + usuario.nome);
}
else{
out.println("dentro else");//ESSAS DUAS MSG DE TESTE TB SAO EXIBIDAS
out.println("<br />Login ou senha invalidos");
}
Reparem que deixei comentarios no codigo explicando as msg que sao exibidas na tela.
Existe alguma classe, biblioteca que é necessario importar?
Sandro, testei aqui e retornou a mesma msg, esquisito em!! Não é? Porque a logica pelo menos parece que está certa, teria como vc passar o seu e-mail para mim? Se fosse possivel eu te enviaria o projeto e vc tentava rodar na sua maquina, quem sabe da certo…
Problema Resolvido, tinha posto para o BD receber dados tudo em maiusculo, retirei e deu certo, agora so uma outra duvida como que faço para pegar o nome da tabela usuario e sempre ta mostrando ele na pagina, tipo: Bem vindo “campo ‘nome’ da tabela”.