CRUD - Listar

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

:smiley:

Obrigado pela atenção.

Boa tarde.

Existem maneiras, por exemplo, de setar um objeto do tipo lista na sua reposta jah com o programa direcionando para uma pagina JSP…

O que não falta na internet são tutorias, tente seguir algum, passo a passo, desde o começo.

Veja isso:

[]'s

[quote=getAdicted]Boa tarde.

Existem maneiras, por exemplo, de setar um objeto do tipo lista na sua reposta jah com o programa direcionando para uma pagina JSP…

O que não falta na internet são tutorias, tente seguir algum, passo a passo, desde o começo.

Veja isso:

[]'s[/quote]

Boa noite, getAdicted!

Obrigado pela ajuda!

Eu até segui vários tutoriais por aí… Mais minha dúvida era muito pontual, pelo menos eu acho. E notei também que o que aprendia nas aulas (facul), era diferente do mostrado nos tutoriais. Então, resolvi postar aqui no fórum pra ver se achava mais ou menos do jeito que eu tava pensando em fazer… XD

o/

[]`s

Mas você conseguiu fazer funcionar?

[]'s

[quote=getAdicted]Mas você conseguiu fazer funcionar?

[]'s[/quote]

Pow, consegui não…

Estuda esse:

http://www.caelum.com.br/apostila-java-web/servlets/#5-2-servlets

Aí tem o que você precisa.

Mas, basicamente, você irá extender HttpServlet sobrescrevendo seus métodos necessários (que estão no exercício proposto), métodos que permitem você obter a sessão, etc…

Vá com calma, qualquer dúvida, avisa!

[]'s

[quote=getAdicted]Estuda esse:

http://www.caelum.com.br/apostila-java-web/servlets/#5-2-servlets

Aí tem o que você precisa.

Mas, basicamente, você irá extender HttpServlet sobrescrevendo seus métodos necessários (que estão no exercício proposto), métodos que permitem você obter a sessão, etc…

Vá com calma, qualquer dúvida, avisa!

[]'s[/quote]

E ai cara!

Eu consegui… Veja como ficou:

package br.ucb.controle;

import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;

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 service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	
		String listar = request.getParameter("listar");
		String lista;
		
		if(listar != ""){
			try {
				ConsultaClienteDAO  cliente = new ConsultaClienteDAO();
				


				ArrayList&lt;ClienteBean&gt; ListaClientes =  (ArrayList&lt;ClienteBean&gt;) cliente.listar();
				
				request.setAttribute("ListaClientes", ListaClientes);
				
				
			
			} catch (SQLException e) {
				
				e.printStackTrace();
			}
			
		}
		
	
		
		
		RequestDispatcher dispatcher;
		dispatcher = request.getRequestDispatcher("ListarClienteList.jsp");
		dispatcher.forward(request, response);
		
	}



	}
	

:smiley:

[quote=Bing!][quote=getAdicted]Estuda esse:

http://www.caelum.com.br/apostila-java-web/servlets/#5-2-servlets

Aí tem o que você precisa.

Mas, basicamente, você irá extender HttpServlet sobrescrevendo seus métodos necessários (que estão no exercício proposto), métodos que permitem você obter a sessão, etc…

Vá com calma, qualquer dúvida, avisa!

[]'s[/quote]

E ai cara!

Eu consegui… Veja como ficou:

package br.ucb.controle;

import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;

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 service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	
		String listar = request.getParameter("listar");
		String lista;
		
		if(listar != ""){
			try {
				ConsultaClienteDAO  cliente = new ConsultaClienteDAO();
				


				ArrayList&lt;ClienteBean&gt; ListaClientes =  (ArrayList&lt;ClienteBean&gt;) cliente.listar();
				
				request.setAttribute("ListaClientes", ListaClientes);
				
				
			
			} catch (SQLException e) {
				
				e.printStackTrace();
			}
			
		}
		
	
		
		
		RequestDispatcher dispatcher;
		dispatcher = request.getRequestDispatcher("ListarClienteList.jsp");
		dispatcher.forward(request, response);
		
	}



	}
	

:smiley:
[/quote]

Muito bom, meus parabéns!

[]'s