Trabalhando com sessao

1 resposta
fabio_cabral

olá galera, tenho esta tela para logar(tela.jsp)... quando o usuario ou senha estiver errado queria que a mensagem aparecesse nesta mesma tela, entao fiz assim:

tela.jsp
...
<form method="POST" action="logar.jsp">
...
<% if (request.getAttribute("msg") != null) { %>
<%=request.getAttribute("msg")%>
<% } %>
...
login.jsp
<%
String login = "user";
String senha = "123";
String login_form = request.getParameter("usuario");
String senha_form = request.getParameter("senha");

if(login_form.equals(login) && senha_form.equals(senha))
{
   session.putValue("loginUsuario", login);
   session.putValue("senhaUsuario", senha);
   out.println("<script>document.location.href='tela_logado.jsp';</script>");
} 
else 
{
   request.setAttribute("msg", "Login ou senha inválidos.");
   out.println("<script>document.location.href='tela.jsp';</script>");
}

%>
porem o que ocorre é que na tela.jsp, quando o usuario ou senha estao incorretos o request.getAttribute("msg") só retorna null... aguem pode ajudar?

1 Resposta

cariocathi

o problema é está linha: out.println("&lt;script&gt;document.location.href='tela.jsp';&lt;/script&gt;");

vc volta pra página com o atributo de request preenchido mas qnd o browser faz uma NOVA requesição para a tela.jsp vc perde seu conteúdo.

Soluções possíveis:

  1. Colocar a msg na sessão (Não mto aconselhável)
  2. Tirar o location.href (melhor d todas) :slight_smile: faz a página de login apontar pra ela msm e só faz redirect qnd o login tá ok.
Criado 4 de maio de 2006
Ultima resposta 4 de mai. de 2006
Respostas 1
Participantes 2