Erro JDBC

8 respostas
malves_info

Ae galera estou com um problema cabuloso, no momento que faço a conexão com o banco de dados, vou explicar a cada bloco de codigo aqui:

Classe Responsável por fazer a conexão com o banco de dados

package control;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectDataBase {

	public static Connection getConnect() throws SQLException{
		try {
			Class.forName("com.mysql.jdbc.Driver");
			return DriverManager.getConnection("jdbc:mysql://localhost/database","root","");
		} catch (ClassNotFoundException e) {
			throw new SQLException(e.getMessage());
		}
	}
}

Classe Responsável por inserir cliente no banco de dados

package control;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import model.Cliente;

public class CadastraCliente {
	Connection conn;

	//Ao iniciar o objeto abro a conexão com o banco de dados
	public CadastraCliente() throws SQLException{
		this.conn = ConnectDataBase.getConnect();
	}
	
	public void adiciona(Cliente cliente) throws SQLException{

		PreparedStatement stmt = this.conn.prepareStatement("insert into cad_cliente(nome_cliente,endereco,email)" +
								  "values (?,?,?)");
		stmt.setString(1,cliente.getNome());
		stmt.setString(2,cliente.getEndereco());
		stmt.setString(3,cliente.getEmail());

		stmt.execute();
		stmt.close();
	}
}

E a minha Servlet que recebe os parametros de um pagina JSP para fazer todo o processo de cadastro

package pckservlet;

import java.io.IOException;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import model.Cliente;
import control.CadastraCliente;

public class RecebeCadastrosServlet extends HttpServlet{

	CadastraCliente cadastraCliente;
	Cliente cliente;

	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {

		if(request.getParameter("frmcadastro").trim().equals("cliente")){
		
			cliente = new Cliente();
			cliente.setNome(request.getParameter("nome"));
			cliente.setEndereco(request.getParameter("endereco"));
			cliente.setEmail(request.getParameter("email"));

			try {
				cadastraCliente = new CadastraCliente();
				cadastraCliente.adiciona(cliente);

			} catch (SQLException e) {
				throw new ServletException(e);
	 }

	}

  }

}

Ao instanciar CadastraCliente(); automaticamente ele inicia a conexão com o banco de dados, e é neste momento que da o seguinte erro:

javax.servlet.ServletException: com.mysql.jdbc.Driver

pckservlet.RecebeCadastrosServlet.service(RecebeCadastrosServlet.java:41)

javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

root cause

java.sql.SQLException: com.mysql.jdbc.Driver

control.ConnectDataBase.getConnect(ConnectDataBase.java:14)

control.CadastraCliente.(CadastraCliente.java:14)

pckservlet.RecebeCadastrosServlet.service(RecebeCadastrosServlet.java:37)

javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

Bom Fiz um teste e peguei todo o codigo que faz a conexão com o banco de dados e coloquei dentro da minha Classe RecebeCadastrosServlet e conectou sem erros, agora quando uso ela separada como mostra acima da o erro e não entendi o porque.!!! :shock:

8 Respostas

thiago.correa

Não está faltando a porta na qual o teu sistema tem que se conectar com o banco?!

malves_info

Não… tanto que expliquei ae no começo que coloquei esse mesmo codigo de conexão com o banco de dados na minha servlet e funcionou normalmente… agora quando faço separado que da pau… :frowning:

malves_info

Alguém? :frowning:

fabim

Tem certeza que o .jar do mysql esta adicionado corretamente no classpath da sua aplicação?

malves_info

Você fala na pasta web/WEB-INF/lib se lá contem meu arquivo .jar certo? se for vou verificar hoje em casa … vlw!

fabim

Nao basta estar na pasta. Tem q estar adicionado ao classpath da sua aplicação.

malves_info

Ta sim… To tentando colocar agora na pasta web/WEB-INF/lib mas não estou conseguindo… alguém poderia me dizer como faço no eclipse?

malves_info

fabiocsi esta adicionado no classpath :frowning:

Criado 23 de março de 2008
Ultima resposta 9 de abr. de 2008
Respostas 8
Participantes 3