Peço ajuda à vcs pois não estou conseguindo resolver um problema de login com servlet. O código é bem simples, em um formulário insiro nome e senha previamente cadastrados no DB MySql e de acordo com o nível do usuário a página será redireciona. O problema é que ao submeter os dados do usuário para validação tenho a seguinte mensagem de erro:
}
[/code]
Talvez o erro seja idiota, mas sou iniciante em programação e andei pesquisando no site e encontrei algo semelhante mas não resolveu.
Valeu!!
Qual seria o melhor código então? Pq como disse sou iniciante e foi desta maneira “errada” que aprendi até então. E busco ajuda como colegas mais experientes como vc. Abs!
Valeu a dica! Vou procurar mais sobre o assunto, mas antes eu estava procurando uma solução mais imediata para o meu problema. Sei que iniciar um projeto sem os padrões não é o correto, mas de inicio, quando ainda se está aprendento a sintaxe e tal, fica difícil rodar os exemplos didáticos por padrões. Mesmo assim, valeu a dica! Vou seguir tentando uma solução pro meu problema.
Normalmente este erro se dá pq o valor que está vindo pelo request.getParameter() é nulo, ou seja, não está recuperando o valor do form.
Para melhorar um pouco o código faça o seguinte:
Crie um pacote com o nome de DAO e implemente nele todos os acessos ao SGBD.
Crie um pacote com um nome servlets, apenas sugestãos, e coloque nele somente as servlets.
Não é elegante realizar transações com bando de dados ou colocar regras na servlet. A servlet somente recebe a requisição transfere o controle para a classe indicada e retorna para o usuário o resulado do que aconteceu.
Em request.getparameter você deve colocar o valor “name” que está no seu inptu.
Antes de implementar a parte de banco de dados faça um System.out.println(request.getparameter(“cmpLogin”));
Então, como vc orientou, eu separei a conexão com o banco em outro pacote e conferi os parâmetros vindos do form. A questão agora é como eu faço para que na classe Conexão o método validaDados() obtenha os parâmetros vindos do form? E como envio a resposta da ResultSet para fazer a comparação dos parâmetros na servlet e o usuário obtenha o acesso desejado?
Alguém consegue apontar o erro do meu código sem dizer que está tudo errado? Deixando de lado por enquanto os padrões de programação e dizendo pra que eu mude todo o “projeto”. Como eu disse anteriormente o erro está na linha 63, apenas qro saber o q fiz de errado e o q faço pra resolver ESTE código, não criar outro e cometer talvez o mesmo erro.
Voce ja executou essa consulta no banco pra ver se esta retornando alguma coisa?
As vezes o parametro que voce esta colocando no where nao esta batendo, as vezes, ate por mapeamento errado dos parametros.
[quote=Jaba]Voce ja executou essa consulta no banco pra ver se esta retornando alguma coisa?
As vezes o parametro que voce esta colocando no where nao esta batendo, as vezes, ate por mapeamento errado dos parametros.[/quote]
Jaba, conferi as dicas que vc deu e funcionou legal!!