Caros colegas, a pouco tempo desenvolvi uma aplica��o para Web em JSP e HSQLDB, a aplica��o est� funcionando normalmente, mas a pouco tempo tive que criar um sistema de valida��o de senha, o sistema est� funcionando, validando normal. Eu criei um arquivo chamado "ValidaLogin.jsp", ele tem toda a regra de valida��o, quando o usu�rio � validado no banco de dados, ele pega informa��es do banco e armazena numa vari�vel de "Sess�o", e quando n�o � validado no banco, as vari�veis de "Sess�o" n�o setadas para "null" e "false", e foi tamb�m inserido em cada p�gina jsp, uma rotina de valida��o, para que o usu�rio n�o entre em locais restritos. O meu problema � que se o usu�rio tenta entrar em uma p�gina quando n�o estiver logado, ele recebe uma mensagem JasperException, mas se ele tenta logar e n�o obtem sucesso e depois tenta entrar em alguma p�gina ele recebe mensagem informando que ele deve primeiramente efetuar o login para prosseguir no uso das p�ginas. O problema �, porque quando ele tenta logar e o login ou senha est� inv�lido, e ele tenta entrar em alguma p�gina restrita e ele recebe a mensagem informando que ele deve efetuar o login, e quando ele n�o tenta efetuar o login e vai direto � alguma p�gina ele recebe uma exce��o JasperException? Veja abaixo minha aplica��o:
 
Obrigado a Todos.
 
Halex Maciel
Cuiab�-MT
 
Minha p�gina "ValidaLogin.jsp":
 
<%@ page import="java.sql.*" %>
<%@ page import="javax.servlet.http.*" %>
<%
    //
    //Processo de Valida��o de login
    //
    //Pega os parametros do formul�rio de solicita��o de login
    String stremail = request.getParameter("txtemail");
    String strsenha = request.getParameter("txtsenha");
    String mensagem = "";
 
   //
    try {
     //Cria a instancia do banco de dados
        Class.forName("org.hsqldb.jdbcDriver");
     } catch (Exception e){
      mensagem += "Classe do banco de dados n�o foi localizada" + e; 
     }
 
 try {
        //Cria a conex�o com o banco de dados
        Connection Conn = DriverManager.getConnection         ("jdbc:hsqldb:hsql://localhost:8887:dblabfic","sa","");
        Statement stmt = Conn.createStatement();
 
        //Executa a consulta
        String sql = "SELECT * From Pessoas WHERE email = '" + stremail + "' AND senha='" + strsenha + "'";
        ResultSet rs = stmt.executeQuery(sql);
  
 if (rs.next()) {
  int Tipo = rs.getInt("direito");
        //Redireciona baseado nos direitos de usu�rio
        if (Tipo == 1) {
      session.setAttribute("EstaLogado","true");
            session.setAttribute("eAdmin","true");
   session.setAttribute("msg","Logado");
            response.sendRedirect("Admin/administracao.jsp");
        } else {
      session.setAttribute("EstaLogado","true");
            session.setAttribute("eAdmin","false");
   session.setAttribute("msg","Logado");
            response.sendRedirect("index2.jsp");
        }
    } //Caso o login venha falhar ou login inv�lido
 else {
   session.setAttribute("msg","Login ou senha inv�lido!");
     session.setAttribute("EstaLogado","false");
        session.setAttribute("eAdmin","false");
        response.sendRedirect("index.jsp?msg=Login%20ou%20Senha%20Inv�lido");
    }
 } catch (SQLException ex) {
  mensagem += "Problemas com SQL" + ex;
 }
%>
 
 
Este � o cabe�alho de todas as p�ginas restritas:
 
<%
 // Verifica session se � nula, caso seja redireciona para p�gina de login com parametro de mensagem
    if (session.getAttribute("EstaLogado") == null)
        response.sendRedirect("index.jsp?msg=Por%20%20favor,%20efetue%20seu%20login.");
    else
    {   // Verifica o conte�do � falso ou verdadeiro, se verdadeiro ele habilita navega��o na p�gina
         String logado = session.getAttribute("EstaLogado").toString();
        if (!(logado == "true"))
            response.sendRedirect("index.jsp?msg=Por%20%20favor,%20efetue%20seu%20login.");
    }
%>

Responder a