Caros colegas, a poucos dias atr�s eu postei no forum uma pergunta sobre Session, eu at� disponibilizei meu fonte com problemas de Session, e por incrivel que pare�a n�o entendi o seguinte:
 
Eu criei um c�digo que a pessoa ao entrar na p�gina em JSP, er� verificado se ele havia efetuado login, caso contr�rio ele seria redirecionado para p�gina de login. Meu c�digo era este:
 
<%
 //
    if (session.getAttribute("EstaLogado") == null)
        response.sendRedirect("index.jsp?msg=Por%20%20favor,%20efetue%20seu%20login.");
    else
    {
         String logado = session.getAttribute("EstaLogado").toString();
        if (!(logado == "true"))
            response.sendRedirect("index.jsp?msg=Por%20%20favor,%20efetue%20seu%20login.");
    }
 // Verifica direitos de Usu�rio e cria um link de atalho para m�dulo administrativo
 String link = "";
 String admin = session.getAttribute("eAdmin").toString(); 
 if ((session.getAttribute("eAdmin") != null) && (admin == "true"))
  link = "<a href="" Administrativo</a>";
 //
%>
 
S� que estava dando erro na hora que a pessoa tentava acessar a p�gina sem efetuar login. Dava
um JasperException, mas depois eu troquei o c�digo, e coloquei desta forma:
 
<%
 String EstaLogado = (String) session.getAttribute("EstaLogado");
    if (EstaLogado == null)
        response.sendRedirect("index.jsp?msg=Por%20%20favor,%20efetue%20seu%20login.");
    else
    {
        String logado = (String) session.getAttribute("EstaLogado");
        if (!(logado == "true"))
            response.sendRedirect("index.jsp?msg=Por%20%20favor,%20efetue%20seu%20login.");
    }
 // Verifica direitos de Usu�rio e cria um link de atalho para m�dulo administrativo
 String links = "";
 String admin = (String) session.getAttribute("eAdmin"); 
 if ((admin != null) && (admin == "true"))
  links = "<a href="" Administrativo</a>";
%>
 
Na realidade a �nica coisa que mudei foi,
 
Isto fazia dar o erro:
String logado = session.getAttribute("EstaLogado").toString();
Este solucionou meu problema:
String logado = (String) session.getAttribute("EstaLogado");
Qual a diferen�a entre eu utilizar (String) e utilizar (toString();)?
 
Obrigado a todos.
 
Halex Maciel

Responder a