Boa noite galera, estou tendo algumas dificuldades na hora de executar o meu código JSP com JDBC. A aplicação é simplesmente retornar todos os contatos e dados que tenho no meu banco de dados no Servidor na hora de abrir a página. Eu tenho a impressão que está com erro no vazamento de dados Class.ForName(); mas não tenho certeza. Se alguém poder dar um help eu agradeço desde já. Estou usando o servidor TomCat 7
Código:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.*, model.dao.*, model.bean.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<table>
<%
ContatoDAO dao = new ContatoDAO();
List<Contato> contatos = dao.getLista();
for(Contato contato : contatos ) {
%>
<tr>
<td><%= contato.getNome() %></td>
<td><%= contato.getEmail() %></td>
<td><%= contato.getEndereco() %></td>
<td><%= contato.getDataNascimento().getTime() %></td>
</tr>
<%
}
%>
</table>
</body>
</html>
ConectionFactory
package connection;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionFactory {
private static final String DRIVER = "com.mysql.jdbc.Driver";
public Connection getConnection() {
try {
Class.forName(DRIVER);
return DriverManager.getConnection("jdbc:mysql://localhost:3306/cadastro", "root", "" );
} catch(SQLException | ClassNotFoundException e) {
throw new RuntimeException("Erro na conexão", e);
}
}
}
ContatoBean
package model.bean;
import java.util.Calendar;
public class Contato {
private Long id;
private String nome;
private String email;
private String endereco;
private Calendar dataNascimento;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public Calendar getDataNascimento() {
return dataNascimento;
}
public void setDataNascimento(Calendar dataNascimento) {
this.dataNascimento = dataNascimento;
}
}
ContatoDAO
package model.dao;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import connection.ConnectionFactory;
import model.bean.Contato;
public class ContatoDAO {
private Connection connection;
public void adiciona(Contato contato) {
Connection con = new ConnectionFactory().getConnection();
try {
PreparedStatement stmt = con.prepareStatement("insert into contatos (nome,email,endereco,dataNascimento) values(?,?,?,?)");
stmt.setString(1, contato.getNome());
stmt.setString(2, contato.getEmail());
stmt.setString(3, contato.getEndereco());
stmt.setDate(4, new Date(contato.getDataNascimento().getTimeInMillis()));
stmt.execute();
stmt.close();
} catch(SQLException e) {
throw new RuntimeException(e);
}
}
public List<Contato> getLista() {
Connection con = new ConnectionFactory().getConnection();
try {
List<Contato> contatos = new ArrayList<>();
PreparedStatement stmt = con.prepareStatement("select * from contatos");
ResultSet rs = stmt.executeQuery();
while(rs.next()) {
Contato contatoo = new Contato();
contatoo.setNome(rs.getString("nome"));
contatoo.setEmail(rs.getString("email"));
contatoo.setEndereco(rs.getString("endereco"));
Calendar data = Calendar.getInstance();
data.setTime(rs.getDate("dataNascimento"));
contatoo.setDataNascimento(data);
contatos.add(contatoo);
}
rs.close();
stmt.close();
return contatos;
} catch(SQLException e) {
throw new RuntimeException(e);
}
}
}
Foto do erro
