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]
---------------------------------------------------------------------