Olá pessoa estou tentando criar um cadastro para aprender a mexer com classes DAO.
Vamos lá,
Crie um classe de Conexão,
Uma classe DAO e um
Servlet que faz a inserção no banco de dados MySQL.
Está quase tudo funcionando, estou obtendo o erro de NullPointerException quando o Servlet tenta criar a conexão. Já fiz as minhas verificações e não estou conseguindo encontrar o erro.
Segue os códigos e muito obrigado
Conexaopublic class Conexao {
private static String DRIVER = "com.mysql.jdbc.Driver";
private static String URL = "jdbc:mysql://localhost/teste"; // a JDBC url
private static String USUARIO = "";
private static String SENHA = "";
/** Criando uma nova instancia de Conexao */
public Conexao() {
}
/**
*Obtem a conexao
*/
public static Connection getConnection() throws SQLException {
try {
Class.forName(DRIVER);
return DriverManager.getConnection(URL,USUARIO,SENHA);
} catch (ClassNotFoundException e){
throw new SQLException(e.getMessage().toString());
}
}
}
Classe DAO
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class CadastreStaffDAO {
Connection conn=null;
private final String SQLInsert = "INSERT INTO tbl_dados_pessoais(nm_cliente, ds_endereco) VALUES (?,?)";
/** Creates a new instance of CadastreStaffDAO */
public CadastreStaffDAO(Connection conn) {
this.conn = conn;
}
public boolean inserir(CadastreStaff param)throws SQLException{
PreparedStatement stmt;
try{
stmt = conn.prepareStatement(SQLInsert);
stmt.setString(1,param.getCliente());
stmt.setString(2,param.getEndereco());
stmt.execute();
stmt.close();
conn.close();
} catch(Exception e){
return false;
}
return true;
}
}
Servlet é aqui que estou tendo o erro ele da erro no try{}cathc(){} no void init(){} e depois da erro no try{}cathc(){}de inserção.
import br.com.iperfil.classe.CadastreStaff;
import br.com.iperfil.classe.Conexao;
import br.com.iperfil.classe.CadastreStaffDAO;
public class CadPessoal extends HttpServlet {
Conexao conexao = new Conexao();
CadastreStaff param = new CadastreStaff();
CadastreStaffDAO bancoDados = null;
/**Cria a Conexão*/
public void init(){
try {
bancoDados = new CadastreStaffDAO(conexao.getConnection());
System.out.println("*************OK!!!!");
} catch (SQLException ex){
ex.printStackTrace();
System.out.println("Error de conexão "+ex);
}catch (Exception e){
System.out.println("Falha ao carregar driver.");
return;
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
String cadSucesso = "www/profissional/cadastrar/sucesso.jsp";
String cadError = "www/profissional/cadastrar/pageError.jsp";
if(ds_Senha.equals(ds_SenhaConfir)){
try{
param.setCliente(request.getParameter("ds_Nome"));
param.setEndereco(request.getParameter("ds_Endereco"));
bancoDados.inserir(param);
response.sendRedirect(cadSucesso);
}catch(NumberFormatException e){
System.out.println(e.toString());
e.printStackTrace();
}catch(Exception e){
System.out.println("<br><br>"+e.toString());
e.printStackTrace();
}
}else{
response.sendRedirect(cadError);
}
}
}