Erro na conexao do banco de dados usando servlet

3 respostas
G

Ola pessoa quando eu uso o servlet para salvar dados no banco, fica dano erro de conexao, mas eu nao sei o motivo do erro

Classe do servlet

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 br.unicid.bean.Turma;
import br.unicid.dao.TurmaDao;

public class ServletTurma extends HttpServlet {

	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		{

			Turma turma = new Turma(19, "n", "2", "f", "7");
			
			TurmaDao d;
			try {
				d = new TurmaDao();
				d.salvarTurma(turma);
			} catch (Exception e) {

				e.printStackTrace();
			}

		}

	}

}

classe para conectar ao banco de dados mysql

import java.sql.*;

public class ConnectionFactory {

	public Connection getConnection() throws Exception {
		String url = "jdbc:mysql://localhost:3306/banco_turma";
		String user = "root";
		String pass = "renato";

		try {
			Class.forName("com.mysql.jdbc.Driver");

			Connection conn = DriverManager.getConnection(url, user, pass);

			System.out.println("Conector");
			return conn;

		} catch (Exception e) {
			throw new Exception("Erro na Conexao " + e.getMessage());
		}
	}

}

classe Dao para salvar os dados

import br.unicid.bean.*;
import br.unicid.util.ConnectionFactory;
import java.sql.*;

public class TurmaDao {

	private Connection conn;

	public TurmaDao() throws Exception {
		try {
			this.conn = new ConnectionFactory().getConnection();
		} catch (Exception e) {
			System.out.println("Erro de Conexao " + e.getMessage());
		}
	}

	public void salvarTurma(Turma turma) throws SQLException {

		if (turma != null) {
			try {
				String sql = "insert into turma (cod_turma,periodo,semestre,bloco,sala)"
						+ "values (?,?,?,?,?)";

				PreparedStatement ps = conn.prepareStatement(sql);

				ps.setInt(1, turma.getCod_turma());
				ps.setString(2, turma.getPeriodo());
				ps.setString(3, turma.getSemestre());
				ps.setString(4, turma.getBloco());
				ps.setString(5, turma.getSala());
				ps.executeUpdate();

				ps.close();
			}

			catch (SQLException e) {
				throw new SQLException("Erro no momento de inserir os Dados!"
						+ e.getMessage());
			}

			finally {
				conn.close();
			}
		}
	}
}

e a classe bean

public class Turma {

	private int cod_turma;
	private String periodo;
	private String semestre;
	private String bloco;
	private String sala;

	public Turma(int cod_turma, String periodo, String semestre, String bloco,
			String sala) {
		this.cod_turma = cod_turma;
		this.periodo = periodo;
		this.semestre = semestre;
		this.bloco = bloco;
		this.sala = sala;
	}

	public Turma() {
	};

	public int getCod_turma() {
		return cod_turma;
	}

	public void setCod_turma(int cod_turma) {
		this.cod_turma = cod_turma;
	}

	public String getPeriodo() {
		return periodo;
	}

	public void setPeriodo(String periodo) {
		this.periodo = periodo;
	}

	public String getSemestre() {
		return semestre;
	}

	public void setSemestre(String semestre) {
		this.semestre = semestre;
	}

	public String getBloco() {
		return bloco;
	}

	public void setBloco(String bloco) {
		this.bloco = bloco;
	}

	public String getSala() {
		return sala;
	}

	public void setSala(String sala) {
		this.sala = sala;
	}

}

o erro que da é

INFO: Server startup in 938 ms
Erro de Conexao Erro na Conexao com.mysql.jdbc.Driver
java.lang.NullPointerException
at br.unicid.dao.TurmaDao.salvarTurma(TurmaDao.java:46)
at br.unicid.web.ServletTurma.doGet(ServletTurma.java:29)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:182)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

3 Respostas

A

tu importou o jar connector correto?

G

entao eu fiz a importação, até teste com uma classe simples para ver se estava conectando o mysql

so quando eu crio o servlet e mando conectar o banco q da erro

williamdasflores

Você colocou o driver do mysql na pasta lib?

Criado 3 de setembro de 2011
Ultima resposta 5 de set. de 2011
Respostas 3
Participantes 3