Galera,
Comecei agora a me aventurar com JSP e fiquei um baita dúvida em um servlet que verifica se o login digitado é igual ao que está no banco, porém quando eu digito o login e senha correto ele sempre me redireciona par a página de erro.
Esse metodo verificaUsuario me retorna true ou false.
protectedvoiddoRequest(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{// TODO Auto-generated method stubStringlogin=(String)request.getAttribute("login");Stringsenha=(String)request.getAttribute("senha");Useru=newUser();booleanresult=u.verificaUsuario(login,senha);if(result==true){response.sendRedirect("logado.jsp");}else{response.sendRedirect("ErroLogin.jsp");}}/** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{// TODO Auto-generated method stubdoRequest(request,response);}/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{// TODO Auto-generated method stubdoRequest(request,response);}
Alguém sabe onde está o erro, ou se me servlet está errado?
Depure o código e veja o conteúdo do usuário e senha…provavelmente não esta acontecendo oque vc acha.
C
CaioNascimento
Fernando eu fiz um teste quando eu passo direto meu usuario e senha aqui ele funciona…
boolean result = u.verificaUsuario("caio", "12345");
FernandoFranzini
Seu codigo ta certo…o erro é de runtime…vc tem q depurar para ver
Vou tentar adivinhar…
Vc ta usando
String login = (String) request.getAttribute("login");
String senha = (String)request.getAttribute("senha");
Vc tem certeza que na pagina tem algum html input com estes nomes?
C
CaioNascimento
Bom meu html está assim...
<%@pageimport="java.util.*"%><%@pagelanguage="java"contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html; charset=ISO-8859-1"><title>Login...</title></head><body><body><center>Paralogar-senosistemainformeseuloginesenha:</center><br/><br/><formname="form1"method="post"action="Login"><tablewidth="180"border="0"align="center"cellpadding="0"cellspacing="1"><tr><tdwidth="55">Login:</td><tdwidth="122"><inputname="login"type="text"id="login"></td></tr><tr><tdheight="18">Senha:</td><td><inputname="senha"type="password"id="senha"></td></tr><tr><tdcolspan="1"><inputtype="submit"name="Submit"value="Login"></td></tr></table></form><br/><br/><br/></body></html
FernandoFranzini
Aparentemente esta tudo ok…
Depure e veja o por que que esta dando false…outra coisa…seu if não precisa compara true…pq sua variavel já é booleana. kkk
if(result){
R
raf4ever
Caio,login e senha não são atributos da requisição,são parâmetros da requisição,portanto teu codigo deve ficar assim: