Logar
Evento
/

FJ-26 | Laboratório Web com JSF e CDI (Integral)

FJ-26 | Laboratório Web com JSF e CDI (Integral)

Participantes

0
participantes
0
curtidas
Banner -  FJ-26 | Laboratório Web com JSF e CDI (Integral)
Mostrar
  • De 05/11 às 09:00 até: 09/11 às 17:00
  • SCS Qd. 8 Bl. B-50, Sala 521 - Ed. Venâncio 2000 - Brasília/Distrito Federal - Brasil

Descrição

Carga Horária: 40 horas aula

 

O JavaServer Faces é o framework Web mais usado hoje em aplicações Web complexas em Java. Sua arquitetura de componentes aliada a integração com outras ferramentas do mercado Java EE fazem o sucesso dessa especificação. E, com sua última versão 2.0, o JSF ganhou mais simplicidade e produtividade.

 

O curso FJ-26 aborda desde dos tópicos fundamentais do JSF até usos avançados como criação dos próprios componentes. Entre os tópicos estão criação de telas com componentes padrões, Ajax, uso de layouts, integração com bibliotecas de componentes ricos, ciclo de vida, uso do Facelets, validação com Bean Validation, navegação e injeção de dependências com CDI (JSR 299, Java Context and Dependecy Injection).

 

É um curso prático onde você desenvolverá uma aplicação completa em 40h. Após o FJ-26, você terá condições de enfrentar projetos avançados com JSF, inclusive em sua última versão 2.0.

 

Esse curso faz parte da Formação Java Avançada junto com o FJ-25.

 

 

Pré-requisitos:

 

Cursos FJ-11 e FJ-21 ou: Java, Orientação a Objetos, Collections, JSP, JSTL básico, MVC, patterns DAO e Factory

 

 

Conteúdo Detalhado:

 

Laboratório Web com JSF e CDI

  

  • Construindo aplicações web ricas de forma fácil
  • Integração com tecnologias do Java EE
  • Tirando dúvidas
  • Para onde ir depois?

 

Definição do projeto

  

  • Descrição do problema
  • Tecnologias escolhidas
  • Modelo
  • Implementando o DAO
  • Servlet Container
  • Exercícios: Instalando o Tomcat e criando o projeto
  • Para saber mais: Em casa

 

JavaServer Faces

  

  • Motivação: HTTP stateless
  • Motivação: Swing, Visual Basic e Delphi
  • JavaServer Faces
  • Primeiro exemplo
  • Exercícios: primeira página
  • Criando o formulário de cadastro
  • Exercícios: a página de cadastro de produtos
  • Managed Beans
  • Ligando Managed Beans a componentes visuais
  • Exercícios: Gravação de produtos
  • Listagem com dataTable
  • Diferentes estilos de MVC: O MVC Push e o Pull
  • Exercícios: Listagem de produtos
  • Exercícios opcionais
  • Removendo um produto e parâmetros de EL
  • Exercícios: Remoção de produtos
  • O estado da tela e o @ViewScoped
  • Exercícios: @ViewScoped
  • Alteração de produtos e o setPropertyActionListener
  • Exercícios: Alterando produtos
  • Exercícios opcionais

 

Ajax com JSF 2

  

  • Ajax
  • Ajax e JSF
  • Como utilizar AJAX nas aplicações JSF
  • Exercícios: Remoção de produtos com Ajax
  • Para saber mais: A tag
  • Exercícios: Submetendo formulários com AJAX

 

Aplicando layouts à aplicação com CSS

  

  • Melhorando a interface gráfica
  • Integrando CSS com o JSF
  • Adicionando imagens na aplicação
  • Exercícios: Melhorando a interface gráfica

 

Entendendo JSF a fundo

  

  • Reduzindo a complexidade de outras APIs
  • A árvore de componentes
  • Alterando a forma de armazenamento da árvore de componentes
  • Compreendendo o ciclo de vida de uma requisição do JSF
  • Primeira fase: Restauração da view
  • Segunda fase: Aplicar os valores da requisição
  • Terceira fase: Converter e processar validações
  • Quarta fase: Atualização dos modelos
  • Quinta fase: Invocação da lógica
  • Sexta fase: Renderizar resposta
  • Exercícios: Fases do JSF
  • Debugando o ciclo de vida do JSF com um PhaseListener
  • Exercícios: Observando as fases do JSF

 

Login e navegação

  

  • Criando a funcionalidade de login
  • Exercício: Criando o formulário de Login
  • Navegação condicional
  • Navegação entre telas
  • Guardando dados em escopo de sessão
  • Exercício: Completando o Login
  • Exercício Opcional: Aplicando layout na tela de login
  • Para saber mais: Redirecionamento durante a navegação
  • Exercícios Opcionais: Evitando submissões duplicadas
  • Interceptando as fases com PhaseListeners
  • Autorização com PhaseListeners
  • Exercícios: Autorização com PhaseListener
  • Exercícios opcionais: Logout e tela de cadastro de usuários

 

Templates com Facelets

  

  • Repetição de código e seus problemas
  • Resolvendo a duplicidade das Views
  • Templating com o Facelets
  • Exercícios: Templates com Facelets
  • Para saber mais: Campos padrões no template
  • Exercícios opcionais: Valores default no template
  • Componentes customizados com Facelets
  • Exercícios opcionais: Composite-componentes

 

Formulário master/detail stateful

  

  • Cadastro de notas fiscais e ViewScoped
  • Exercícios: Master (NotaFiscal)
  • Exercícios: Detail (Item)
  • Exercícios opcionais: Ajax

 

Interfaces Web 2.0 com componentes ricos

  

  • Bibliotecas de componentes
  • Melhorando a tela de adição de notas fiscais
  • PrimeFaces
  • Adicionando datepicker
  • Exercícios: componente de calendário
  • Máscara com p:inputMask
  • Exercícios: máscara no campo CNPJ
  • Realizando paginação de dados
  • Exercício: Realizando a paginação dos dados
  • Paginação customizada com banco de dados
  • Exercícios: Estendendo componentes para realizar paginação no banco de dados
  • Menus e navegação
  • Exercícios: menus
  • Adicionando abas
  • Exercícios: componente de abas
  • Exercícios opcionais
  • Para saber mais: Geração de gráficos com PrimeFaces
  • Desafio: gráficos
  • Para saber mais: Upload de arquivos com o PrimeFaces
  • Desafio: Upload de imagens dos produtos
  • Para saber mais: Melhorando a seleção de produtos na tela de itens com o Autocomplete
  • Exercício opcional

 

Validação e conversão de dados

  

  • Validação
  • Validação com Bean Validation
  • Exercícios: Integrando Bean Validation com o JSF
  • Validação com componentes JSF
  • Exercícios: Componentes de validação
  • Validações customizadas com JSF
  • Exercício: Criando métodos de validação
  • Evitando duplicidades de validações criando classes validadoras
  • Exercícios: @FacesValidator
  • Conversores de dados com o JSF
  • Immediate
  • Submitted value
  • Exercícios: immediate
  • Para saber mais: Conversores customizados
  • Exercícios opcional: Conversores personalizados

 

Injeção de Dependências com CDI

  

  • Problemas do alto acoplamento
  • Estratégias para diminuir o acoplamento
  • Injeção de dependências
  • Implementando DI com Contexts e Dependency Injection API - CDI
  • Liberação de dependências com @Disposes
  • Configuração do Weld
  • Exercícios: Utilizando CDI para injetar dependências
  • Melhorando a autenticação com CDI
  • Exercícios: Utilizando CDI para injetar dependências
  • Para saber mais: Injeção de Dependências e Testes

 

JBoss Seam 3

  

  • Introdução ao Seam
  • Instalação do Seam
  • Exercícios: adicionando Seam ao projeto
  • Integração CDI com JSF
  • Named packages com Seam Solder
  • Exercício opcional
  • Injeção de dependências no JSF com Seam Faces
  • Validação de múltiplos campos com Seam Faces
  • Exercícios: Validação de múltiplos campos
  • Conversor de produto
  • Exercícios opcionais
  • Lidando com requisições GET no JSF
  • Exercícios: f:metadata
  • Disparando requisições do tipo GET através de links JSF
  • Exercícios: Requisições do tipo GET

 

Apêndice - Recursos Avançados de CDI, JSF e Seam

  

  • Injection Points
  • Exercícios: InjectionPoint
  • Interceptadores do CDI
  • Exercícios: Trabalhando com conexões e transações
  • Discussão: Transações demarcadas ou transação por request
  • Exercícios opcionais: migrar tudo para CDI
  • Binding de componentes do JSF
  • Exercícios: Binding
  • Atributos produtores
  • Qualifiers do CDI
  • Exercícios: Qualifiers
  • Menos anotações nas classes com Stereotypes
  • Exercícios: Stereotypes
  • Conversation Scope
  • Exercícios: conversação
  • Eventos e observers do CDI
  • Eventos do JSF com Seam
  • Exercícios: Autorizador com CDI e Seam
  • Para saber mais: Interceptador de Auditoria

 

Apêndice - LOG4J

  

  • Log4J
  • Exercícios: Log4J no LoginBean
  • Injetando o Logger do Log4J
  • Exercícios: Utilizando o InjectionPoint

 

Apêndice - Internacionalização: sua aplicação em várias línguas

  

  • Formas de internacionalizar a aplicação
  • Utilizando o JSF para internacionalizar
  • Exercícios: Começando a internacionalização e localização da aplicação
  • Alterando o idioma manualmente
  • Exercícios: Definindo o idioma através de links
  • Internacionalizando mensagens de erro do Bean Validation
  • Exercícios: Internacionalizando mensagens de erro
  • Internacionalizando as mensagens dentro dos Managed Beans
  • Exercícios: Internacionalizando as mensagens do Managed Beans
  • Exercício Opcional: Internacionalizando a aplicação por completo
  • Mensagens com Seam International
  • Exercícios

 

Apêndice - Seam Persistence

  

  • Seam Persistence - Introdução
  • Seam Persistence - Instalação
  • Tirando proveito do Seam Persistence
  • Exercícios
  • Queries com EL no Seam Persistence
  • Forçar exceções a fazerem rollback

 

* Os apêndices listados são conteúdos adicionais que não fazem parte do curso regular.

Ler mais

Localização

Programação

Este evento não possui atividades no momento.

Planta do Evento

A planta do evento não está disponível.

Contato

Preencha os campos abaixo para enviar e-mail ao organizador.

Campos Obrigatórios
Campos Obrigatórios
Ao se cadastrar, você concorda com nossos Termos de uso.
Ajaxloader

Compartilhar evento por e-mail


Para continuar, faça login ou cadastre-se.

Recomende este evento para sua rede.

Selecione os usuários que deseja recomendar este evento.