Classe não exibe o printStackTrace()

3 respostas
R

Bom dia pessoal !

Estou aprendendo java. Criei um jsp e uma classe de conexão. Ambas funcionam, mas percebi que a classe não exibe o printStackTrace() caso ocorra um erro. Estou utilizando o Netbeans+tomcat.

E aproveitando, gostaria de saber a opinião dos mais experientes se estou no "caminho certo". Ainda não utilizei nenhum framework, porque quero entender o conceito java.

Agradeço a ajuda !

a página jsp:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="Conexao" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>Conexão</title>
  </head>
  <body>
    <%
    Conexao bd = new Conexao();
    if( bd.conectar() == true ) out.println( "ok" );
    else out.println( "erro" );
    %>
  </body>
</html>
a classe:
import java.sql.*;
import org.postgresql.Driver;

public class Conexao {
  String url = "jdbc:postgresql://localhost:5432/banco" ;
  public boolean conectar() {
    try {
      Class.forName( "org.postgresql.Driver") ;
    }
    catch( ClassNotFoundException e ) {
      e.printStackTrace();
      return false;
    }

    try {
      Connection conexao = DriverManager.getConnection(url,"postgres","123") ;
      conexao = DriverManager.getConnection( url, "postgres", "123" );
    }
    catch( SQLException ex ) {
      ex.printStackTrace();
      return false;
    }
    return true;
  }
}

3 Respostas

T

Em vez de e.printStackTrace() (que joga a saída de erro em System.out, usualmente redirecionada para alguma saída de erro que não o browser), use e.printStackTrace (response.getWriter()), se não me engano.

R

thingol:
Em vez de e.printStackTrace() (que joga a saída de erro em System.out, usualmente redirecionada para alguma saída de erro que não o browser), use e.printStackTrace (response.getWriter()), se não me engano.

Salve Thingol

Cara, não deu certo. Eu usei e deu erro. (cannot find symbol). Este método não é para servlet ?

T

Bom, passe um PrintWriter para o método “conectar”, já que você precisa visualizar o erro de conexão caso houver.

No seu caso, como você está usando JSP, pode passar response.getWriter() (ou se não me engano, “out”) para o tal método Java.

Criado 2 de março de 2009
Ultima resposta 3 de mar. de 2009
Respostas 3
Participantes 2