Jsp + jdbc

0 respostas
jdbctomcatjsp
V

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

Criado 28 de abril de 2018
Respostas 0
Participantes 1