Boa Noite !
Sou estudante do curso de desenvolvimento web, estou vendo na faculdade java. Gostaria de saber como encontrar esta apostila em pdf ?
Obrigada !
FJ-26 | Laboratório de MVC com Hibernate e JSF para a Web
Para alunos avançados, que já tem uma boa prática com Java para web ou que fizeram o nosso curso FJ-21, o FJ-26 serve como complemento para introduzir tópicos ainda mais avançados e permitir que o aluno atinja a produtividade necessária para o desenvolvimento web de uma aplicação complexa.
Construiremos uma aplicação de contas a pagar completa em apenas quarenta horas, utilizando o Hibernate com banco de dados MySQL e o JavaServer Faces com RichFaces e Ajax4jsf.
Para aqueles desenvolvedores que querem se destacar conhecendo o melhor do java, como Reflection, Generics, Anotações, Design Patterns, MVC, esse é o curso que vai fazer a diferença! Por exemplo, o aluno desenvolve um único DAO genérico que será utilizado por todas as suas classes!
A aplicação a ser desenvolvida consiste de camada de acesso ao banco de dados com relações entre as tabelas, cache, uso de Criteria, validação, inversão de controle, sistema de log e formulários complicados carregados de componentes javascript e ajax.
Conteúdo detalhado do FJ-26
Como aprender Java
- Falando em Java
- O que é realmente importante?
- O treinamento
- Convenções de Código
- Sobre os exercícios
- Sobre os treinamentos
- Indicação de bibliografia extra
- Tirando dúvidas
Hibernate básico
- Hibernate
- Baixando na internet
- Anotações, EJB3 e Persistence API
- Criando a classe Funcionario
- Exercícios: Iniciando o projeto
- Configurando o hibernate
- Exercícios: Configurações
- Gerando as tabelas
- Exercícios: Gerando tabelas
- SchemaUpdate
- Session e Connection Pool
- Inserindo novos objetos
- Exercícios: save
- O que faz o método save
- Habilitando o Connection Pool C3P0
- Exercícios: Pool de conexões
- Buscando um objeto pela chave primária
- Exercícios: load
- Exercícios adicionais: Lazy
Conta a pagar e Fornecedor
- Nosso sistema de contas a pagar
- Exercícios
- Data e hora
- Relacionamentos
- Exercícios
- Mais controle nos mapeamentos
- Criando alguns objetos
- Exercícios: Persistência de Relacionamentos
- Recuperando uma relação
- Exercícios
O Gerenciador de Estados
- Mais operações
- Exercícios: update e delete
- saveOrUpdate
- Exercícios opcionais: saveOrUpdate
- Objetos Gerenciados
- O estado Managed
- O estado Transient
- O estado Detached
- O estado Removed
Alguns detalhes importantes
- Cache de primeiro nível
- Exercícios: Testando o Cache
- Lock otimista e pessimista
- Load, Get e Lazyness
- Exercícios: Load e Get
- Chaves primárias
- @Embeddable
- Exercícios opcionais: Embeddable
Data Access Object - DAO
- HibernateUtil
- Exercícios: HibernateUtil
- Data Access Object
- Exercícios: Dao genérico
- DAO específico
- Exercícios
- Para saber mais: Outras opções de DAO
- Para saber mais: Herança nos DAOs específicos
- Para saber mais: Métodos genéricos
Criteria API
- Criando uma pesquisa orientada a objetos
- Exercícios
- Ordenando resultados
- Exercícios: Ordenação
- Restrição “e” Restrição
- Restrição “ou” Restrição
- Exercícios: and e or
- Conjunctions e Disjunctions
- Paginação
- Contando Linhas com Projection
- Exercícios: projections
- Soma
- Exercícios opcionais: sum
- Outras Projeções
- Criterias avançadas
- Navegando em relacionamentos
- SubCriterias
- Alias
- Exercícios opcionais: subcriterias e alias
Hibernate Query Language
- Outra maneira de realizar queries
- Um query equivale a um Criteria
- Joins e produtos cartesianos
- Funções no HQL: lower()
- Exercícios: HQL
- Paginação
- Exercícios opcionais: funções e paginação
- Compondo Critérios de Busca: AND e OR
- Projeções
- Consultas complexas
Mais sobre consultas
- HQL instanciando objetos?
- Exercícios opcionais: new em HQL
- Queries Nativas
- ResultTransformers
- Exercícios opcionais: SQL com Hibernate
- Criteria x HQL
- Para Saber Mais: Query by Example
- Exercícios opcionais: Example
- Para Saber Mais: Consultas Polimórficas
- Para Saber Mais: DetachedCriteria
Relacionamentos
- Relacionamentos Bidirecionais
- Lado inverso
- Exercícios: Relacionamento Bidirecional
- Ordenando
- Lazy ou Eager?
- Foreign Key
- Relacionamento muitos para muitos
- Exercícios: @ManyToMany
- Relacionamento um para um
- Para saber mais: Extra Lazy
- Para saber mais: Tabela associativa
Otimizações
- Cache de segundo nível (second level cache)
- Exercícios: Cache de segundo nível
- Estatistícas
- Exercícios opcionais: Estatísticas
- StatelessSession
- Exercício opcional
- Operações em lote (bulk/batch)
- Para saber mais: Interceptors e Listeners
O que é JavaServer Faces
- Motivação: http stateless
- Motivação: swing, visual basic e delphi
- Como JSF ajuda
- JavaServer Faces
Criando projeto web
- O ambiente de desenvolvimento
- As bibliotecas do JSF
- Instalando e configurando o Tomcat
- Criando projeto no Eclipse
- Instalando o JSF
- Testando as configurações: Olá mundo!
Managed Beans
- Managed Beans - lógica de negócios
- Representando um formulário de login em java
- Registrando Managed Beans
- Escopos: request, session e application
- Ligando Managed Beans e componentes
- Exercícios
Navegação
- Configuração
- Exercícios: Navegação
Lógica de Negócios
- Controlando o acesso ao sistema
- Exercícios
- Para saber mais
Um pouco de teoria
- O que o JSF faz?
- Phases
- Árvore de componentes
- Ferramentas Drag and Drop
- Inúmeros componentes
- web.xml em um projeto JSF
- Exercícios: View State Method
- Hot code replace do Tomcat
- Para saber mais: Unified EL
Componentes Básicos
- Inúmeros componentes
- A lógica para lidar com fornecedores e contas
- A página de resultado
- Exercícios
- Organizando componentes em diversas páginas
- Mostrando tabelas em jsf
- Exercícios
- Visualizando um fornecedor para alteração
- Lógica para visualização
- Mais ActionListeners e ValueChangeListener
- Exercícios
- Exercícios opcionais
- Exercícios opcionais - ActionListener
Validação de campos
- Campos obrigatórios
- Exercícios: Campos requeridos
- Mensagem de erro
- Exercícios
- Outras validações
- Para Saber Mais: Immediate
- Exercícios: validateLength
- Alterando as mensagens de erro
- Exercícios: Erros customizados
- Outros validadores
- Mais informações sobre taglibs
- Exercícios opcionais
- Validadores e mensagens
- Criando seu validador
- Exercícios: Validador Personalizado
- Exercícios opcionais: Converter
- Para saber mais: Novidade no JSF 1.2
- Para saber mais: Criando uma tag de validação
- Exercícios opcionais: Tag de Validação
Internacionalização
- Resource bundles
- Exercícios: Internacionalização
- Exercícios opcionais
RichFaces e Ajax4JSF - Componentes Ricos
- Testando componentes ricos
- Exercícios - RichFaces
- Mashups
- Google Maps
- Exercícios
- Organizando o conteúdo com abas
- Exercícios
- Calendário
- Exercícios
- DataTable do RichFaces
- Exercícios: rich:dataTable
- DataScroller: Paginação com RichFaces
- Exercícios: Paginação
Completando a camada visual da aplicação
- Utilizando Tabs
- Exercícios: Abas
- Exercícios: Espaçador
- Referência
- ContaPagarHandler e ContaPagar
- Exercícios: Contas a Pagar
- Combo Box
- Pegando a referência de um managed bean
- Exercícios: lookup de Managed Bean
- Página de Contas a Pagar
- Exercícios: Formulário de Contas
- Completando o formulário
- Organizando o layout: PanelGrid
- Exercícios: Completando o form
- Recuperando o item selecionado no combo box e botão de salvar
- Exercícios: Salvar conta a pagar
- Richfaces dataList == forEach?
- Exercícios: dataList
- Exercícios opcionais
- Exercícios opcionais: Autorização
Integrando o model: preparando o ambiente
- Instalando o Hibernate no nosso projeto
- Política de aquisição de sessions: Open Session in View
- Exercícios: HibernateUtil
- Configurando nossas entidades
- Exercícios: Entidades
- Gerando o banco
- Exercícios: GeraBanco
Integrando o model: lógica de negócios
- DAO
- Exercícios: DAO
- FornecedorHandler
- Exercícios: FornecedorHandler com Hibernate
- ContaPagarHandler
- Exercícios: ContaPagarHandler com Hibernate
Ajax
- AJAX - Asynchronous JavaScript and XML
- AJAX no RichFaces
- Exercícios: abas com AJAX
- Envio assíncrono de formulários
- Exercícios: formulário com AJAX
- Validação com ajax
- Exercícios: validação
- Edição com AJAX
- Exercícios: edição
Apêndice A - Facelets
- Introdução a Facelets
- Vantagens
- Exercicio: Iniciando o facelets
- Facelets Template
- Exercícios: Templates
- Composition Components
- Exercícios: Component Composition
- Componentes customizados
- Exercícios
Apêndice B - JBoss Seam
- Introdução ao JBoss Seam
- JSF e EJB3
- Facelets
- Exercício - Projeto Seam
- Configuração do Hibernate
- Exercício - Hibernate e Seam
- Seam e JSF
- Exercício - Seam e JSF
- Navegação com Seam
- Exercício - Listando os funcionários
- Validação com Seam
- Exercício - Validação
Apêndice C - Criando seus próprios componentes
- Criação de componentes
- Exercicios - Criando o componente
- Exercícios - Criando a Tag JSP
- Adicionando atributos
- Exercícios - Adicionando o atributo style
- Completando o componente
- Exercícios - Adicionando o atributo value
- Exercícios Opcionais