Boa tarde, amigos.
Criei uma lista em jsp, fiz os imports necessários, copiei o driver do mysql e o jar do projeto utilizado, quando executado, é [color=green]CONSTRUÍDO COM SUCESSO[/color], porém a lista não é exibida.
É um exercício da Caelum (FJ-21). Eis as classes e o jsp utilizados:
lista-scriptlet
[code]<%@page import=“modelo.Contato”%>
<%@page import=“dao.ContatoDAO”%>
<%@page import=“java.util.List”%>
<%
ContatoDAO dao = new ContatoDAO();
List<Contato> contatos = dao.getLista();
for(Contato contato : contatos){
%>
<li><%=contato.getNome()%>,<%=contato.getEmail()%>,<%=contato.getEndereco()%></li>
<%
}
%>
</ul></html>[/code]
Contato
[code]package modelo;
/**
-
Classe com os getters e setters que serão utilizados pela classe ContatoDAO
-
@author marcus/+/LaraSoft/+/
*/
public class Contato {private Long id;
private String nome;
private String email;
private String endereco;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 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;
}
}[/code]
[code]ContatoDAO
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import modelo.Contato;
import conexao.ConnectionFactory;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
/**
-
Classe capaz de acessar o banco de dados através do Design Patter DAO
-
@author marcus/+/LaraSoft/+/
*/
public class ContatoDAO {private Connection connection;
public ContatoDAO() throws SQLException {
this.connection = ConnectionFactory.getConnection();
}public List getLista() throws SQLException {
PreparedStatement stmt = this.connection.prepareStatement("select * from contatos where nome like 'C%'"); ResultSet rs = stmt.executeQuery(); List<Contato> contatos = new ArrayList<Contato>(); while (rs.next()) { // criando o objeto Contato Contato contato = new Contato(); contato.setNome(rs.getString("nome")); contato.setEmail(rs.getString("email")); contato.setEndereco(rs.getString("endereco")); // adicionando o objeto à lista contatos.add(contato); } rs.close(); stmt.close(); return contatos;}
public void adiciona(Contato contato) throws SQLException {
String sql = "insert into contatos(nome,email,endereco)values(?,?,?)"; PreparedStatement stmt = connection.prepareStatement(sql); stmt.setString(1, contato.getNome()); stmt.setString(2, contato.getEmail()); stmt.setString(3, contato.getEndereco()); stmt.execute(); stmt.close();}
public List selectById() throws SQLException {
PreparedStatement stmt = this.connection.prepareStatement("select * from contatos where id = 1"); ResultSet rs = stmt.executeQuery(); List<Contato> contatos = new ArrayList<Contato>(); while (rs.next()) { // criando o objeto Contato Contato contato = new Contato(); contato.setNome(rs.getString("nome")); contato.setEmail(rs.getString("email")); contato.setEndereco(rs.getString("endereco")); // adicionando o objeto à lista contatos.add(contato); } rs.close(); stmt.close(); return contatos;}
public void altera(Contato contato) throws SQLException {
PreparedStatement stmt = connection.prepareStatement(“update contatos set nome=?, email=?, endereco=? where id=1”);
stmt.setString(1, contato.getNome());
stmt.setString(2, contato.getEmail());
stmt.setString(3, contato.getEndereco());
stmt.execute();
stmt.close();
}public void remove(Contato contato) throws SQLException {
PreparedStatement stmt = connection.prepareStatement(“delete from contatos where id=3”);
stmt.execute();
stmt.close();
}
}[/code]
Agradeço pela ajuda.