Use o código e tenha 10% de desconto!

Java EE Aproveite toda a plataforma para construir aplicações

Alberto Souza

Conteúdo

A especificação Java EE e suas respectivas implementações vêm evoluindo ao longo do tempo. A configuração e utilização das especificações ficaram bem mais fáceis. O que ainda não é tão fácil de enxergar é como podemos colocá-las para trabalhar em conjunto. Quais eu devo usar no meu próximo projeto? O que realmente eu posso fazer com cada uma delas? Como fazer com que uma converse com a outra?

Neste livro, Alberto Souza, reconstrói boa parte do site da Casa do Código utilizando apenas as especificações da versão 7 do Java EE. Cada uma delas será apresentada em um cenário específico, sincronizada com a funcionalidade que vai ser implementada. Além disso, será utilizado como servidor de aplicação o WildFly que, com certeza, é o servidor que mais evolui no mundo Java.

 

Sumário

  • 1 Introdução
  • 1.1 Por que o Java EE?
  • 1.2 Spring x Java EE
  • 1.3 Comece a aventura
  • 1.4 Público-alvo
  • 1.5 Curiosidade: por que JSF como framework?
  • 1.6 Vamos lá?
  • 2 Começando o projeto
  • 2.1 Configuração e criação do projeto
  • 2.2 Acessando o primeiro endereço
  • 2.3 Um pouco por dentro do framework
  • 2.4 Conclusão
  • 3 Cadastro de produtos
  • 3.1 Formulário de cadastro
  • 3.2 Lógica de cadastro
  • 3.3 Gravando os dados no banco de dados
  • 3.4 Configurando a JPA
  • 3.5 Configuração do DataSource no WildlFly
  • 3.6 A necessidade de uma transação
  • 3.7 Conclusão
  • 4 Melhorando o cadastro e um pouco mais de JSF
  • 4.1 Associando vários autores
  • 4.2 Limpando o formulário
  • 4.3 Listando os livros
  • 4.4 Forward x Redirect
  • 4.5 Exibindo a mensagem de sucesso
  • 4.6 Isolando o código de infraestrutura
  • 4.7 Conclusão
  • 5 Validação e conversão de dados
  • 5.1 Validação básica
  • 5.2 Exibindo as mensagens de erro de maneira amigável
  • 5.3 Trocando as mensagens default do JSF
  • 5.4 Integração com a Bean Validation
  • 5.5 Convertendo a data
  • 5.6 Converter para entidades
  • 5.7 Conclusão
  • 6 Upload de arquivos
  • 6.1 Recebendo o arquivo no Managed Bean
  • 6.2 Salvando o caminho do arquivo
  • 6.3 Gravando os arquivos fora do servidor web
  • 6.4 Conclusão
  • 7 Carrinho de compras
  • 7.1 Exibindo os livros na página inicial
  • 7.2 Navegando para o detalhe do produto
  • 7.3 Lidando com LazyInitializationException
  • 7.4 Será que o melhor é o DAO ser um EJB stateful?
  • 7.5 Formatando a data de publicação
  • 7.6 Carrinho de compras e o escopo de sessão
  • 7.7 Conclusão
  • 8 Fechamento da compra e processamento assíncrono
  • 8.1 Implementando a tela de finalização
  • 8.2 Gravando as informações do usuário
  • 8.3 Validação seletiva com a BeanValidation
  • 8.4 Salvando as informações do checkout
  • 8.5 Integrando com outra aplicação
  • 8.6 Executando operações demoradas assincronamente
  • 8.7 JAX-RS para todas as outras requisições HTTP
  • 8.8 Configurando o JAX-RS
  • 8.9 Curiosidade: usando um ExecutorService gerenciado
  • 8.10 Conclusão
  • 9 Melhorando a performance com cache
  • 9.1 Cacheando o retorno das consultas na JPA
  • 9.2 Provider de cache e suas configurações
  • 9.3 Invalidação do cache por alteração
  • 9.4 Cacheando trechos da página
  • 9.5 Conclusão
  • 10 Respondendo mais de um formato
  • 10.1 Expondo os dados em outros formatos
  • 10.2 Content negotiation
  • 10.3 Simulando um cliente para o nosso serviço
  • 10.4 Conclusão
  • 11 Mais de processamento assíncrono com JMS
  • 11.1 Enviando o e-mail de finalização
  • 11.2 Um pouco mais sobre processamento assíncrono
  • 11.3 Utilizando o JMS para mensageria
  • 11.4 Registrando tratadores de mensagens com MDBs
  • 11.5 Implementação do JMS utilizada pelo WildFly
  • 11.6 Cautela no uso do código assíncrono
  • 11.7 Conclusão
  • 12 Protegendo a aplicação
  • 12.1 Definindo as regras de acesso com o JAAS
  • 12.2 Configurando o formulário de login
  • 12.3 Configurando o LoginModule do JAAS
  • 12.4 Exibindo o usuário logado e escondendo trechos da página
  • 12.5 Conclusão
  • 13 Organização do layout em templates
  • 13.1 Templates
  • 13.2 Conclusão
  • 14 Internacionalização
  • 14.1 Isolando os textos em arquivos de mensagens
  • 14.2 Accept-Language header
  • 14.3 Passando parâmetros nas mensagens
  • 14.4 Deixe que o usuário defina a língua
  • 14.5 Conclusão
  • 15 Enviando e recebendo informações via WebSocket
  • 15.1 Como notificar os usuários?
  • 15.2 API de WebSockets e o navegador
  • 15.3 Enviando mensagens a partir do servidor
  • 15.4 Outros detalhes da especificação de WebSockets
  • 15.5 Conclusão
  • 16 Últimas considerações técnicas
  • 16.1 Deploy
  • 16.2 Profiles
  • 16.3 Testes
  • 16.4 Projetos paralelos que podem nos ajudar
  • 16.5 Conclusão
  • 17 Hora de praticar
  • 17.1 Estudamos muitos assuntos!
  • 17.2 Mantenha contato

veja mais detalhes

Autor

Alberto Souza

Alberto Souza é Bacharel em Ciência da Computação pela Universidade Salvador e desenvolvedor desde 2005, tendo participado de muitos projetos web e experimentado diversas linguagens. Participa de projetos open source como o Stella e VRaptor. Possui a certificação SCJP e trabalha como desenvolvedor e instrutor pela Caelum. Seu Twitter é @alberto_souza e você também pode encontrá-lo no Github, no endereço http://www.github.com/asouza

O que dizem deste livro

  • Carlos Aurélio @carlosync

    Projeto novo, aprendendo coisas novas e diferentes com o livro de JavaEE da @casadocodigo, uma das coisas legais foi criar projeto com forge!

Dados do produto

Número de páginas:
332
ISBN:
978-85-5519-115-2

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter