130 likes | 215 Views
Aplicativos Comerciais para Internet. Camada View do MVC Apresentando os resultados de uma Consulta. Consultas MVC. Model Controller View. Esquema (simplificado). Model. public class Cliente { private String cpf; private String nome; private String cep;
E N D
Aplicativos Comerciais para Internet Camada View do MVC Apresentando os resultados de uma Consulta
Consultas MVC • Model • Controller • View
Model • public class Cliente { • private String cpf; • private String nome; • private String cep; • private String complemento; • private String telefone; • private String email; • 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.setEmail(resultado.getString("email")); • 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 cpf =1020 1020 1020 Maria Rua Seila, 10 23251088 Mogi
Consulta Simples session request (Object) request.getAttribute(String) request.setAttribute(String, Object)
Consulta com retorno de vários (>1) ArrayList resultado = cli.recuperarTodos();
Consulta com retorno de vários (>1) recuperarTodos()
Consulta com retorno de vários (>1) session request (Object) request.getAttribute(String) request.setAttribute(String, Object)
View • <%@ page import="java.sql.*" %> • <%@ page import="java.util.*" %> • <%@ page import="classes.*" %> • <% • ArrayList resultado = (ArrayList) request.getAttribute("dadosDoBanco"); • %> • <html> • <body> • <table> • <% • for(int contador=0;contador<resultado.size();contador++) { • Cliente cli = (Cliente) resultado.get(contador); • %> • <tr><td><%= cli.getNome() %></td></tr> • <% • } • %> • </table> • </body> • </html>
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.