MÓDULO Programação para Web 2

Documentos relacionados
Introdução. <facelets> Templates. Configurações. Componentes. Prof. Enzo Seraphim

Introdução. Componentes básicos. Componentes avançados. PrimeFaces. Prof. Enzo Seraphim

Managed Beans e Tags JSF

Anotações e Navegação no JSF 2.0

Primefaces 3. Laboratório Passo-a-Passo. JSF - Primefaces. Prof. Leandro Rubim de Freitas Versão 1.

JavaServer Faces (JSF) Leonardo Murta

PROJETO INTEGRADOR. Documentação. Aplicação de Controle de Acesso FACULDADE DE TECNOLOGIA SENAC GOIÁS. Programação com Frameworks

EXERCÍCIOS DE REVISÃO DE CONTEÚDO QUESTÕES DISSERTATIVAS

Explorando serviços Java EE

A implementação da nossa interface DAOProduto será nosso Stateless Session Beans.

<h:panelgroup rendered="#{managedbeaninscricao.formulario}"> <fieldset> <legend>formulário de inscrição</legend> <h:form> <h:panelgrid columns="2">

JavaServer Faces JSF

Desenvolvimento Web Avançado com JSF2, EJB3.1 e CDI

Desenvolvimento para Web em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM Lamarck Heinsch Mestrando PPGI/CT/UFSM

Sistema de Informação e Coordenação - SIC

TUTORIAL INTEGRAÇÃO SPRING, HIBERNATE E MYSQL

Introdução ao JSF e Primefaces

MÓDULO Programação para Web 2

A figura acima mostra o script de criação do banco de dados que chamaremos de minicurso.

Tutorial Módulo 01 Arquitetura Anexo I. Tutorial Módulo 01 Arquitetura Anexo I. LABORATÓRIO 01 Arquitetura e Configuração

JSF Facelets. Como Facelets muda a forma de desenvolver com JSF

Utilizando o Framework SubMacro no Desenvolvimento de Aplicações Java para Internet. Kleber Taffarel Novembro de 2008

Ademir Cristiano Gabardo. Novatec

Manual Sistema de Automação de Pedidos Data C

PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE

Desenvolvimento Web II

Continuação... Criando a Interface e adiante

ALUNO: RONI FABIO BANASZEWSKI

Desenvolvimento de Aplicações Web. Prof. José Eduardo A. de O. Teixeira / j.edu@vqv.com.br

Programação para Internet Avançada. 4. Web Services. Nuno Miguel Gil Fonseca

JSF. Versão 1.0. Apostila destinada ao curso com carga horária de 32 (trinta e duas) horas

#Fundamentos de uma página web

Introdução à Tecnologia Web HTML HyperText Markup Language XHTML extensible HyperText Markup Language Declaração DOCTYPE e Tag Raiz html

Técnico Integrado em Informática. Programação WEB (PRW) Introdução ao PHP

Cotação Web. Compatibilidade. Autenticação

Componentes no Java EE

Além do JSF: Matriz de Campos com Recursos e Práticas Incomuns

Conceitos de Orientação a Objetos

JSF2 e AJAX. Desenvolvimento Web com. Construa aplicações Web mais interativas e elegantes

XTHML. 2. A finalidade do XHTML é substituir o HTML; 3. Vantagens de se usar XHTML (Compatibilidade com futuras aplicações);

Guia de Bolso HTML e XHTML

Projeto Java Web (WebService) LIBS:

Rotina: Módulo Pessoal > Cadastros > Parâmetro > Ponto Eletrônico > Tela REP. Figura 1 - Cadastro de REP

Cadastros de dados no MySQL

MÓDULO Programação para Web 2

Desenvolvendo uma aplicação Java EE 6 com Eclipse (parte 3)

Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB

Framework Hibernate/JPA

Introdução ao Desenvolvimento de

Desenvolvimento Web XHTML Formulários. Prof. Bruno E. G. Gomes

SIMAR UNIVERSIDADE DE BRASÍLIA. Centro de Informática CPD. SIMAR Sistema de Compras de Materiais

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software

Curso online de Aplicações. Híbridas. Plano de Estudo

Conexão com Banco de Dados

Objetos e Componentes Distribuídos: EJB

Tutorial sobre o uso da ferramenta de autoria A Ferramenta de Autoria - Célula

<!DOCTYPE html PUBLIC...> <html> <head> </head> <body> </body> </html>

Introdução XML. Vanessa Braganholo

Lista de exercícios I - RESPOSTAS Servlets e banco de dados

Programação para Web I Desenvolvendo templates com Facelets. Prof. Eder de Lima Lacerda

Gestão Unificada de Recursos Institucionais GURI

GERADOR DE INTERFACES GRÁFICAS PARA IOS GABRIEL SEBASTIAN RAMIREZ JOYCE MARTINS

Escrito por Neri Neitzke Qua, 21 de Dezembro de :34 - Última atualização Dom, 02 de Abril de :04

Funções em JavaScript

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 5 PROF. EMILIO PARMEGIANI

Desenvolvimento Web com Framework Demoiselle versão 1.0

Transcrição:

MÓDULO Programação para Web 2 Projeto Gerenciar Clientes

Projeto Clientes O projeto consiste em construir um aplicativo JSF para gerenciar Clientes usando um CRUD. O projeto será implementado em camadas Model, View, Controller e a de Integração usando DAO. Iremos usar um Banco de Dados contendo a tabela Cliente acessado por meio de JPA. 2

Camada Model Na camada Model vão ficar as classes que modelam o domínio da aplicação e que devem ser persistidos. Neste caso, a classe Cliente contendo as anotações para uso do JPA. Cliente deve ter os atributos: Nome CPF RG Data de Nascimento Endereço CEP 3

Pacote dao Responsável pela comunicação com o banco utilizando o JPA para salvar, listar alterar e excluir Clientes. Deve ser criada uma interface chamada ClienteDao, uma classe chamada ClienteDaoImpl Se preferir, use DAO generico para derivar a classe ClienteDaoImpl Crie uma classe HibernateUtil para realizar a conexão com o banco. Se preferir, pode colocar em um pacote Utils 4

ClienteDAO public interface ClienteDao { public void save(cliente cliente); public Cliente getcliente(long id); public List<Cliente> list(); public void remove(cliente cliente); public void update(cliente cliente); } 5

Camada Controller Vai realizar a comunicação da Camada de Visão representada por nossas páginas JSF com o banco de dados sendo responsável por realizar as operações requisitadas nas páginas JSF e em seguida encaminhar o usuário para uma página. Nesta camada devem ficar os ManagedBeans que farão o papel de controladores. 6

View Composto por páginas JSF que irão executar o pedido de listagem, alteração, exclusão e adição de Clientes. O projeto precisará de duas páginas JSF: index.xhtml listará os Clientes do Usuário e permitirá excluir ou alterar um listado ou criar um novo cliente gerenciarcliente.xhtml realizar a inserção e alteração dos Clientes. As duas páginas comunicam-se diretamente com os métodos e atributos da classe ClienteController permitindo a interação de forma fácil ao banco de dados. 7

Index.xhtml <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"> <h:head> <title>gerenciador de Clientes</title> </h:head> <h:body> <h1>gerenciador de Clientes</h1> <h:datatable var= cliente" value="#{clientecontroller.listarclientes}"> <h:outputtext value= NOME"/> <h:outputtext value="#{cliente.nome}" /> <h:outputtext value= CPF"/> <h:outputtext value="#{cliente.cpf}"/> <h:outputtext value= RG"/> <h:outputtext value="#{cliente.rg}"/> <h:outputtext value= DATA NASCIMENTO"/> <h:outputtext value="#{cliente.dtnasc}"/> 8

Index.xhtml <h:outputtext value= ENDEREÇO"/> <h:outputtext value="#{cliente.endereco}"/> <h:outputtext value= CEP"/> <h:outputtext value="#{cliente.cep}"/> <h:outputtext value="alterar"/> <h:form> <h:commandbutton action="#{clientecontroller.prepararalterarcliente}" value="alterar"/> </h:form> <h:outputtext value="excluir"/> <h:form> <h:commandbutton action="#{clientecontroller.excluircliente}" value="excluir"/> </h:form> </h:datatable> <br/> <h:form> <h:commandlink value="novo Cliente" action="#{clientecontroller.prepararadicionarcliente }"/> </h:form> </h:body> </html> 9

gerenciarcliente.xhtml <h:form> Nome<h:inputText value="#{clientecontroller.cliente.nome}"/><br/> CPF: <h:inputtext value="#{clientecontroller.cliente.cpf}"/><br/> RG: <h:inputtext value="#{clientecontroller.cliente.rg}"/><br/> Nascimento: <h:inputtext value="#{clientecontroller.cliente.dtnasc}"/><br/> Endereço: <h:inputtext value="#{clientecontroller.cliente.endereco}"/><br/> CEP: < h:inputtext value ="#{clientecontroller.cliente.cep} /><br/> <h:commandbutton action="#{clientecontroller.adicionarcliente}" value="inserir Novo Cliente"/> <h:commandbutton action="#{clientecontroller.alterarcliente}" value="alterar Cliente"/> <br/> <h:commandlink action="index" value="voltar"/> </h:form> 10