Erro: java.lang.NullPointerException

8 respostas
J

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 <a href="http://java.io">java.io</a>.<em>;

import java.lang.</em>;

import javax.servlet.<em>;

import javax.servlet.http.</em>;

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;
     }

}
}

8 Respostas

D

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:

J

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”,"");

D

qual o erro agora?

J
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)
P

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;

J

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)
R

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.

J

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

Criado 25 de fevereiro de 2005
Ultima resposta 25 de fev. de 2005
Respostas 8
Participantes 5