• Nenhum resultado encontrado

MÓDULO Programação para Web 2

N/A
N/A
Protected

Academic year: 2021

Share "MÓDULO Programação para Web 2"

Copied!
10
0
0

Texto

(1)

MÓDULO

Programação para Web 2

Projeto

(2)

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

(3)

Camada Model

3

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

(4)

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

(5)

ClienteDAO

5

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); }

(6)

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

(7)

View

7

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.

(8)

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:dataTablevar=“cliente"

value="#{clienteController.listarClientes}">

<h:column>

<f:facetname="header">

<h:outputText value=“NOME"/>

</f:facet>

<h:outputText value="#{cliente.nome}"/>

</h:column>

<h:column>

<f:facetname="header">

<h:outputText value=“CPF"/>

</f:facet>

<h:outputText value="#{cliente.cpf}"/>

</h:column>

<h:column>

<f:facetname="header">

<h:outputText value=“RG"/>

</f:facet>

<h:outputText value="#{cliente.rg}"/>

</h:column>

<h:column>

<f:facetname="header">

(9)

Index.xhtml

9

<h:column>

<f:facet name="header">

<h:outputText value=“ENDEREÇO"/>

</f:facet>

<h:outputText value="#{cliente.endereco}"/>

</h:column>

<h:column>

<f:facet name="header">

<h:outputText value=“CEP"/>

</f:facet>

<h:outputText value="#{cliente.cep}"/>

</h:column>

<h:column>

<f:facet name="header">

<h:outputText value="Alterar"/>

</f:facet>

<h:form>

<h:commandButton action="#{clienteController.prepararAlterarCliente}"

value="Alterar"/>

</h:form>

</h:column>

<h:column>

<f:facetname="header">

<h:outputText value="Excluir"/>

</f:facet> <h:form> <h:commandButton action="#{clienteController.excluirCliente}" value="Excluir"/> </h:form> </h:column> </h:dataTable> <br/> <h:form>

<h:commandLink value="Novo Cliente"

action="#{clienteController.prepararAdicionarCliente }"/>

</h:form> </h:body> </html>

(10)

gerenciarCliente.xhtml

<h:form>

Nome<h:inputText value="#{clienteController.cliente.nome}"/><br/> CPF: <h:inputText value="#{clienteController.cliente.cpf}"/><br/> RG: <h:inputTextvalue="#{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:commandButtonaction="#{clienteController.adicionarCliente}"

value="Inserir Novo Cliente"/>

<h:commandButtonaction="#{clienteController.alterarCliente}"

value="Alterar Cliente"/> <br/>

<h:commandLink action="index" value="Voltar"/> </h:form>

Referências

Documentos relacionados

depósitos bancários, no prazo máximo de 15 (quinze) dias úteis após a emissão do recebimento definitivo, nos termos da proposta ao presente pregão, desde que

Conclui-se, destes resultados, que nos trabalhos de seleção de sisal vi- sando a criação de linhagens com ciclo vegetativo longo ou curto, porém uniforme, não se pode desprezar

Assistência Social aquelas que, de forma continuada, permanente e planejada, prestam serviços, executam programas ou projetos e concedem benefícios de prestação

Sucede que, no caso em apreço, as sucessivas diligências, para apreensão dos bens indicados para arresto, foram-se frustrando de tal forma que o requerente do arresto,

O PMEPCB, como instrumento orientador da actividade de protecção civil a nível municipal, organiza a resposta operacional em duas fases: a fase de emergência propriamente dita,

Ex.: Os requisitos de interoperabilidade, que definem como o sistema interage com sistemas noutras organizações, os requisitos legais, que devem ser seguidos para assegurar que

b) Suponha que a taxa de juro utilizada para atualizar a dívida da fatura de cartão de crédito seja igual a 4,00% ao mês. No início de 2016, ou seja, após exatos 10 anos, qual é

Para a realização desse desenvolvimento de técnicas especiais de ensino é necessário uma série de planejamentos para definir as abordagens mais adequadas a serem utilizadas em