JavaServer Faces – JSF2 01. Definições de projeto Esp. Márcio Palheta gtalk: [email protected] 1 Agenda Introdução ao JSF2 Ajax básico Uso de layouts Ciclo de vida do JSF2 Componentes avançados Validações de dados Injeção de dependências CDI Avançado 2 Passo da história O mundo web; Html Xml A novidade: xhtml; 3 Definições do projeto A MPTech é uma fábrica de componentes eletrônicos do Pólo 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 4 Requisitos iniciais da MPTech Controle de produtos; Controle de Notas fiscais; 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; 5 Escolha das tecnologias Uso da arquitetura MVC; Camadas View e Controller: JSF2 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 pasta: c:\java Com isso, você terá uma estrutura de pastas semelhante a: c:\java\tomcat Pronto, o tomcat está instalado 7 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 9 Configuração do servidor Na aba Servers, clique com o botão direito e selecione New/Server 10 Escolha a versão do Tomcat 11 Caminho da instalação 12 Controle do TOMCAT Vamos configurar o Eclipse para controlar o Tomcat; 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: 13 Controlando o Tomcat 14 Página inicial do Tomcat 15 Criação do projeto WEB Clique em: New / Project / Web Selecione: Dynamic Web Project e clique em Next>; 16 Projeto JSF2: notasfiscais 17 Configuração de pacotes 18 Configuração do módulo web 19 Configurações JSF 20 Projeto gerado 21 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: 23 Deploy da aplicação 24 Deploy da aplicação Aplicação disponível para acesso web 25 A camada de MODELO Após entrevistas, identificamos a necessidade de cadastrarmos: 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 27 Persistência de dados Uso de padrões de mercado; JPA2; Hibernate; Classes DAO; A seguir, mostramos como ficam as implementações das classes entidade: 28 Produto.java 29 A entidade nota fiscal 30 Itens da nota fiscal 31 Implementando o DAO Lista de atividades: Criação do arquivo de configurações; 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 33 Criação de EntityManager br.curso.jsf2.model.dao.JPAUtil 34 Classe para encapsular a JPA: br.curso.jsf2.model.dao.DAO 35 DAO<T>: Continuação... 36 DAO<T>: Continuação... 37 DAO<T>: Parte final 38 A classe ProdutoDAO.java 39 Referências http://www.caelum.com.br; http://java.sun.com/ http://java.sun.com/j2ee/1.6/docs/tutorial/d oc/index.html http://java.sun.com/products/jndi/docs.html http://java.sun.com/blueprints/corej2eepatte rns/Patterns/index.html 40 JavaServer Faces – JSF2 01. Definições de projeto Esp. Márcio Palheta gtalk: [email protected] 41