Erro: java.lang.NullPointerException

Ai vai os codigos

*************** e r r o ******************************

java.lang.NullPointerException
at db.dbConexao.fecharConexao(dbConexao.java:67)
at fase02.doPost(fase02.java:43)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service

********************* dbconexao ********************8

  • Created on 06/10/2004
  • To change the template for this generated file go to
  • Window - Preferences - Java - Code Generation - Code and Comments
    */

/**

  • @author JoelD
  • To change the template for this generated type comment go to
  • Window - Preferences - Java - Code Generation - Code and Comments

*/

package db;

import java.sql.*;
public class dbConexao {
private Connection connection;
private Statement statement;

public dbConexao()
{
	try
	{

// Connection connection = null;
Class.forName(“org.gjt.mm.mysql.Driver”);
connection = DriverManager.getConnection( “jdbc:mysql://localhost:3306/cafe?user=root”);
Statement statement = connection.createStatement();
}catch(ClassNotFoundException ex)
{
System.out.println(“Não foi possível encontrar o driver”);
} catch(SQLException ex)
{
System.out.println(“Não foi possível conectar ao servidor”);
}

// try
// {
// }catch(SQLException ex){
// System.out.println(“Não foi possível conectar ao servidor”);
// }
}

public synchronized void executeUpdate(String update)throws SQLException {
   try{
      statement.executeUpdate(update);
   }catch(SQLException ex){
      System.out.println("Não foi possível executar o update");
   }
}

public synchronized ResultSet executeQuery(String query)throws SQLException {
   try{
      return statement.executeQuery(query);
   }catch(SQLException ex){
      System.out.println("Não foi possível executar a query");
      throw ex;
   }
}

public void fecharConexao(){
   try{
      statement.close();
   }catch(SQLException ex){
      ex.printStackTrace();
   }
}

}

******************** fase02 ***************************

import java.io.;
import java.lang.
;
import javax.servlet.;
import javax.servlet.http.
;
import java.sql.*;
import db.dbConexao;

public class fase02 extends HttpServlet {
public void doPost(HttpServletRequest req,
HttpServletResponse res)
throws ServletException, IOException {

res.setContentType( "text/plain" );

// String login = req.getParameter(“login”);
// String senha = req.getParameter(“senha”);

//montagem do comando

dbConexao con = null;
String sql="Select * from cliente where cdcliente = 25";
try  {
 con = new dbConexao();
 ResultSet rs = con.executeQuery(sql);

 PrintWriter out = res.getWriter();
   //Pesquisa
        if (rs.next()){
          //criação da sessão
          int cod = 1;

// HttpSession session = req.getSession(true);
// session.setAttribute(“autorizado”,new Integer(cod));
res.sendRedirect("/farmacia/admOpcoes.jsp");
}
else
res.sendRedirect("/farmacia/erroLogin.jsp");

     } catch(SQLException e){
        res.sendRedirect("/farmacia/errobd.jsp");
         return;
     } finally {
            if (con!=null)
            con.fecharConexao();
             con=null;
     }

}
}

NullPointerException eh muito amplo, mas geralmente eh qndo vc retorna um objeto de um método e chama um método desse objeto, soh q o metodo retornou null… 90% das vezes eh isso… Só identifica pra gente q linha q ta dando a exception, pra ficar mais facil de tentarmos solucionar…

:grin:

O erro esta nesta linha
Statement statement = connection.createStatement();

a minha linha da conexao estava errada , agora eu ja corrigi, mas continua dando erro…

connection = DriverManager.getConnection( “jdbc:mysql://localhost:3306/cafe/”,“root”,"");

qual o erro agora?

java.lang.NullPointerException
at db.dbConexao.fecharConexao(dbConexao.java:67)
at fase02.doPost(fase02.java:43)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

Ola Joel,

url = “jdbc:mysql://localizacao/database”

sendo localizacao=IP:Porta
e database o nome da base.

se tudo estiver de acordo tenta tirar a “/” do final da url

“jdbc:mysql://localhost:3306/cafe/”
^

falow;

ola Pablo

Ja retirei esta barra mas continua dando erro. Testei os resultset e ele esta fazendo tudo OK.
Apenas este metodo ta dando pau…

java.lang.NullPointerException
at db.dbConexao.fecharConexao(dbConexao.java:68)
at fase02.doPost(fase02.java:43)

Olá!!

Acho que o seu problema é que o objeto Statement está sendo inicializado dentro de um bloco try/catch… Mesmo ele tendo sido declarado como variável no começo. Se dentro do try você o declarar de novo “Statement statement = connection.createStatement”, ele perde o escopo…

É só mudar a linha
“Statement statement = connection.createStatement()”
para
“statement = connection.createStatement()”

Abraços.

Obrigado rr_castaneda

Isso mesmo Funcionou… Agora é só fazer… heheheheh

e obrigado a todos que me ajudaram nesta empreitada…
Até a próxima.
Estarei ligado no forum para ajudar o próximo