Aplicativos Comerciais para Internet Camada View do MVC Apresentando os resultados de uma Consulta
Consultas MVC Model Controller View
Esquema (simplificado) ViewControllerModel
public class Cliente { private String cpf; private String nome; private String cep; private String complemento; private String telefone; private String ; public ArrayList recuperarTodos() throws Exception { Util util = new Util(); Connection conexao = util.getConexao(); PreparedStatement pstmt = conexao.prepareStatement("select * from cliente"); ResultSet resultado = pstmt.executeQuery(); // return(resultado); ArrayList resultadosDoBanco = new ArrayList(); while(resultado.next()) { Cliente novo = new Cliente(); novo.setCpf(resultado.getString("cpf")); novo.setNome(resultado.getString("nome")); novo.setCep(resultado.getString("cep")); novo.setComplemento(resultado.getString("complemento")); novo.setTelefone(resultado.getString("telefone")); novo.set (resultado.getString(" ")); resultadosDoBanco.add(novo); } conexao.close(); return(resultadosDoBanco); }
Controller public class Consultar extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { Cliente cli = new Cliente(); ArrayList resultado = cli.recuperarTodos(); request.setAttribute("dadosDoBanco", resultado); request.getRequestDispatcher("/consultar3.jsp"). forward(request, response); } catch (Exception e) { }
Consulta Simples ViewControllerModel cpf = Maria Rua Seila, Mogi
ViewControllerModel session request request.setAttribute(String, Object) (Object) request.getAttribute(String) Consulta Simples
Consulta com retorno de vários (>1) ViewControllerModel ArrayList resultado = cli.recuperarTodos();
Consulta com retorno de vários (>1) ViewControllerModel N-1 N N-1 N recuperarTodos()
ViewControllerModel session request request.setAttribute(String, Object) (Object) request.getAttribute(String) Consulta com retorno de vários (>1)
<% ArrayList resultado = (ArrayList) request.getAttribute("dadosDoBanco"); %> <% for(int contador=0;contador<resultado.size();contador++) { Cliente cli = (Cliente) resultado.get(contador); %> <% } %> View
Por que usar DAO? Dentre outros motivos –Para não violar o MVC
Exercício: –Implementar a visualização dos dados de uma consulta cujo retorno contém um objeto. –Implementar a visualização dos dados de uma consulta cujo retorno contém mais do que um objeto. Desafio: Implementar com DAO.