Oi Carlos.

Dificilmente o erro que você está encontrando esteja sendo causado pela
diferença do browser. Como sabemos o Servlet é processado no servidor e não
no browser. O que pode estar acontecendo talvez seja um problema na session,
como se o Netscape não a reconhecesse ou algo do gênero, mas associar o
comportamento do try{ } catch{ } ao browser não é válido.

Tente dar uma analisada no fluxo dos dados e nos valores dos objetos que são
tratados.

[]'s e boa sorte no código.

Handerson F. Gomes



Carlos Campos wrote:

> Prezados Javaneses,
>
> Durante o processo de verificação de acesso (Segurança) à alguns módulos
> do meu Sistema utilizei a classe SESSION dos Servlets e desvio o fluxo
> da aplicação para uma página de Logon/Password autenticando
> posteriormente o usuário num Banco de Dados.
>
> Ocorre, como tantas outras diversidades que encontrei entre o Netscape e
> o IExplorer que o mesmo Servlet apresenta um comportamento diferenciado
> para cada Browser.
>
> No código abaixo, se as credenciais de acesso do Usuário não forem
> validadas, ocorre um desvio para uma página específica. No Iexplorer o
> fluxo é corretamente desviado, já no Netscape 4.x o primeiro método
> hsrsp.sendRedirect... é ignorado e o fluxo continua até o próximo
> REDIRECT no final do bloco Try.
>
> Aparentemente, no Netscape 4.x, o fluxo não é desviado com o REDIRECT
> até que o bloco TRY/CATCH seja completamente executado.
>
> Alguém já sofreu algo parecido??? Alguma Orientação ou Comentário???
>
> PS: Posso alterar a lógica do programa de forma a evitar este
> incoveniente mas considerei interessante comentar mais um fato que
> parece ilustrar as diferenças entre o Iexplorer e o Netscape 4.x
>
> Um abraço,
>
> Carlos Campos
>
>     HttpSession session = hsreq.getSession(true);
>     try {
>       String query = new String();
>       query = "select * from Controle,Usuarios where etc...";
>       ResultSet rs = stmt.executeQuery(query);
>       boolean more = rs.next();
>       if(!more) {
>         session.invalidate();
>         hsrsp.sendRedirect("http://xxx.xxx.xxx.xxx"); // Não Autorizado
> ==  REDIRECIONA pelo Iexplorer mas não pelo Netscape
>         }
>       while(more) {
>         nomusu  = rs.getString("nome_usuario");
>         cargusu = rs.getString("cargo_usuario");
>         more = rs.next();
>         }
>
>       // Atribui os parâmetros da Sessão
>       session.putValue("reqIP",reqIP);
>       session.putValue("reqHOST",reqHOST);
>       session.putValue("UsuRede","OK");
>       session.putValue("UsuCtrl","OK");
>       session.putValue("logusu",logon);
>       etc...
>
>       rs.close();
>
>       // Redireciona para o Servlet de Origem
>       hsrsp.sendRedirect("http://xxx.xxx.xxx.xxx:8080/servlet/"+ns);
> ==  PONTO DO PROGRAMA onde o Netscape desvia
>
>       }
>     catch(NullPointerException e) {
>         // Redireciona para o servlet Erro
>         hsrsp.sendRedirect("http://xxx.xxx.xxx.xxx");
>     }
>     catch(SQLException sql) {
>        System.out.println("Houve uma SQLException: "+sql);
>        hsrsp.sendRedirect("http://xxx.xxx.xxx.xxx");  // Erro
>     }
>
> Carlos Campos
> [EMAIL PROTECTED]
> Analista de Sistemas / Bolsista PCI
> MCT/CNPq  - CETEM - Centro de Tecnologia Mineral
> Fone: 0xx21 5607222 - Ext. 358
>
>     --------------------------- LISTA SOUJAVA ---------------------------
>     http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
>     [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
>     ---------------------------------------------------------------------

    --------------------------- LISTA SOUJAVA ---------------------------
    http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
    ---------------------------------------------------------------------

Responder a