JavaServer Faces – JSF2
01. Definições de projeto
Esp. Márcio Palheta
gtalk: marcio.palheta@gmail.com
Agenda
Introdução ao JSF2
Ajax básico
Uso de layouts
2
Uso de layouts
Ciclo de vida do JSF2
Componentes avançados
Validações de dados
Injeção de dependências
CDI Avançado
Passo da história
O mundo web;
Html
Xml
Xml
A novidade: xhtml;
Definições do projeto
A MPTech é uma fábrica de
componentes eletrônicos do Pólo Industrial de Manaus – PIM;
4
Industrial de Manaus – PIM;
Problemas para controlar a emissão e despacho de notas fiscais;
A fim de melhorar o controle e consulta às notas fiscais, a empresa resolveu:
Informatizar o processo de emissão de NFs
Requisitos iniciais da MPTech
Controle de produtos;
Controle de Notas fiscais;
O sistema não deve possuir muitas telas
O sistema não deve possuir muitas telas
A maioria das funcionalidades mais
comuns devem ficar disponíveis a partir
de uma tela inicial padrão;
Escolha das tecnologias
Uso da arquitetura MVC;
Camadas View e Controller: JSF2
Camada Model: JPA2 com Hibernate
Camada Model: JPA2 com Hibernate
Banco de dados: MySQL
Servidor de WEB: Apache Tomcat 7.x
IDE: Eclipse JEE 3.7 - Indigo
6
Configuração do ambiente
Baixar o Web Container Tomcat:
http://tomcat.apache.org
Descompacte o arquivo baixado na
Descompacte o arquivo baixado na pasta: c:\java
Com isso, você terá uma estrutura de pastas semelhante a: c:\java\tomcat
Pronto, o tomcat está instalado
Resultado da instalação
8
Configuração do Eclipse
No eclipse, abra a aba Servers:
Digite Ctrl+3;
Digite servers e selecione a opção da lista
Digite servers e selecione a opção da lista
Configuração do servidor
Na aba Servers, clique com o botão direito e selecione New/Server
10
Escolha a versão do Tomcat
Caminho da instalação
12
Controle do TOMCAT
Vamos configurar o Eclipse para controlar o Tomcat;
Na aba servers, duplo clique no servidor
Na aba servers, duplo clique no servidor criado;
Selecione a opção Use Tomcat instalations;
Em seguida, inicie o servidor clicando
no botão start:
Controlando o Tomcat
14
Página inicial do Tomcat
Criação do projeto WEB
Clique em: New / Project / Web
Selecione: Dynamic Web Project e clique em Next>;
16
clique em Next>;
Projeto JSF2: notasfiscais
Configuração de pacotes
18
Configuração do módulo web
Configurações JSF
20
Projeto gerado
Cópia das bibliotecas para WebContent/WEB-INF/lib
22
Deploy da aplicação
Na aba Servers, clique com o botão
direito no Tomcat e selecione a opção Add and Remove Projects:
Add and Remove Projects:
Deploy da aplicação
24
Deploy da aplicação
Aplicação disponível para acesso web
A camada de MODELO
Após entrevistas, identificamos a necessidade de cadastrarmos:
Produto: nome, descrição e preço;
Produto: nome, descrição e preço;
Nota: CNPJ do cliente, data da emissão;
Itens da nota: produto, quantidade e valor;
Pacote:br.curso.jsf2.model.bean
26
Diagrama de classes entidade
Persistência de dados
Uso de padrões de mercado;
JPA2;
Hibernate;
Hibernate;
Classes DAO;
A seguir, mostramos como ficam as implementações das classes entidade:
28
Produto.java
A entidade nota fiscal
30
Itens da nota fiscal
Implementando o DAO
Lista de atividades:
Criação do arquivo de configurações;
Classe para criação de EntityManager;
Classe para criação de EntityManager;
Encapsulamento da API da JPA em uma classe DAO genérica, que servirá para nossos modelos;
32
Arquivo de configurações
src/META-INF/persistence.xml
Criação de EntityManager
br.curso.jsf2.model.dao.JPAUtil
34
Classe para encapsular a JPA:
br.curso.jsf2.model.dao.DAO
DAO<T>: Continuação...
36
DAO<T>: Continuação...
DAO<T>: Parte final
38
A classe ProdutoDAO.java
Referências
http://www.caelum.com.br;
http://java.sun.com/
http://java.sun.com/j2ee/1.6/docs/tutorial/d
40
http://java.sun.com/j2ee/1.6/docs/tutorial/d oc/index.html
http://java.sun.com/products/jndi/docs.html