Galera!
Tenho que fazer um CRUD, o insert funciona. Mas, não consigo fazer o listar. O que acontece, não sei como instanciar/chamar os dados carregados do DB (Classe DAO ) no Servlet para depois então, passar pra página JSP. Na minha DAO, criei um List que retorna clientes. Como chamado esse objeto clientes na Servlet?
Segue abaixo a classe Cliente, DAO, Servlet.
DAO
package br.ucb.modelo.DAO;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import br.ucb.bean.ClienteBean;
public class ConsultaClienteDAO {
private Connection con;
public ConsultaClienteDAO() throws SQLException {
this.con = ConnectionFactory.getConnection();
}
public void Consultar(ClienteBean cliente) throws SQLException {
String sql = "select * from cliente";
PreparedStatement stmt = con.prepareStatement(sql);
// REALIZ A CONSULTA NO BANCO
ResultSet ResultadoConsulta = stmt.executeQuery();
ResultadoConsulta.next();
try {
cliente.setNome(ResultadoConsulta.getString("nome"));
cliente.setCpf(ResultadoConsulta.getString("cpf"));
cliente.setRg(ResultadoConsulta.getString("rg"));
cliente.setSsp(ResultadoConsulta.getString("ssp"));
cliente.setTelefone(ResultadoConsulta.getString("telefone"));
cliente.setEndereco(ResultadoConsulta.getString("endereco"));
cliente.setBairro(ResultadoConsulta.getString("bairro"));
cliente.setCep(ResultadoConsulta.getString("cep"));
cliente.setCidade(ResultadoConsulta.getString("cidade"));
cliente.setUf(ResultadoConsulta.getString("uf"));
ResultadoConsulta.close();
} finally {
stmt.close();
}
}
// DEPOIS DA CONSULTA, FAZ O LIST PARA ENTÃO RETORNAR PARA A SERVLET
public List<ClienteBean> listar() throws SQLException {
String sql = "select * from cliente";
PreparedStatement stmt = con.prepareStatement(sql);
// REALIZ A CONSULTA NO BANCO
ResultSet ResultadoConsulta = stmt.executeQuery();
ResultadoConsulta.next();
List<ClienteBean> clientes = new ArrayList<ClienteBean>();
while (ResultadoConsulta.next()) {
ClienteBean cliente = new ClienteBean();
cliente.setNome(ResultadoConsulta.getString("nome"));
cliente.setCpf(ResultadoConsulta.getString("cpf"));
cliente.setRg(ResultadoConsulta.getString("rg"));
cliente.setSsp(ResultadoConsulta.getString("ssp"));
cliente.setTelefone(ResultadoConsulta.getString("telefone"));
cliente.setEndereco(ResultadoConsulta.getString("endereco"));
cliente.setBairro(ResultadoConsulta.getString("bairro"));
cliente.setCep(ResultadoConsulta.getString("cep"));
cliente.setCidade(ResultadoConsulta.getString("cidade"));
cliente.setUf(ResultadoConsulta.getString("uf"));
clientes.add(cliente);
}
return clientes;
}
}
ClienteBean
package br.ucb.bean;
import java.io.Serializable;
public class ClienteBean implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private String nome;
private String cpf;
private String rg;
private String ssp;
private String telefone;
private String endereco;
private String bairro;
private String cep;
private String cidade;
private String uf;
public ClienteBean() {
super();
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getRg() {
return rg;
}
public void setRg(String rg) {
this.rg = rg;
}
public String getSsp() {
return ssp;
}
public void setSsp(String ssp) {
this.ssp = ssp;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public String getUf() {
return uf;
}
public void setUf(String uf) {
this.uf = uf;
}
}
Servlet
package br.ucb.controle;
import java.io.IOException;
import java.sql.SQLException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.ucb.bean.ClienteBean;
import br.ucb.modelo.DAO.ConsultaClienteDAO;
/**
* Servlet implementation class ConsultaCliente
*/
public class ConsultaCliente extends HttpServlet {
private static final long serialVersionUID = 1L;
public ConsultaCliente() {
super();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String listar = request.getParameter("listar");
String lista;
if(listar != ""){
try {
ConsultaClienteDAO cliente = new ConsultaClienteDAO();
cliente.listar();
ClienteBean resultado = new ClienteBean();
request.setAttribute("cliente", cliente);
} catch (SQLException e) {
e.printStackTrace();
}
}
RequestDispatcher dispatcher;
dispatcher = request.getRequestDispatcher("teste.jsp");
dispatcher.forward(request, response);
}
}
Até onde eu sei, eu teria que chamar o objeto clientes na servlet para então mandar ele lá pra página JSP. Mais como !? XD

Obrigado pela atenção.