Agradecimentos
Este é o segundo livro que escrevo pela Casa do Código e a satisfação é imensa. Ser um dos autores da editora que desburocratizou a criação de livros no país é uma enorme honra. Por conta disso, meu primeiro agradecimento vai novamente para Paulo e Adriano, por me darem espaço para escrever.
Vou aproveitar para também deixar os agradecimentos aos meus pais, dona Sebastiana e seu Alberto! Sempre me incentivaram a estudar e, deixaram bem claro para mim, que a única coisa que ninguém pode tirar de você é o conhecimento adquirido. Acho que nunca vou conseguir demonstrar o quanto isso foi relevante para mim.
Por último, quero agradecer a você, que tem sede de conhecimento e quer estar sempre aprendendo. São de pessoas assim que o mundo precisa e eu espero, sinceramente, que cada gota de suor direcionado para seu aprendizado se transforme em um passo a mais dado na sua carreira.
Autor
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. Também é um dos fundadores do projeto SetupMyProject, uma aplicação web que vem ajudando diversos desenvolvedores a criarem projetos JAVA de maneira bastante simples.
Além de já ter escrito outros livros, Play Framework na prática: Gaste tempo no que é precioso e o Spring MVC: Domine o principal framework web Java, ele também possui dois blogs sobre tecnologia. Um específico sobre o Spring (http://domineospring.wordpress.com) e outro que ele desvenda os detalhes por trás de várias tecnologias que são usadas nos projetos (http://setupmyproject.wordpress.com).
Público-alvo
Este livro é para pessoas que já conheçam um pouco sobre a estrutura de um projeto web utilizando a linguagem JAVA. O mínimo de JSF vai ajudar para que você consiga acompanhar a construção da aplicação WEB de uma maneira mais fluida, mas fique tranquilo, pois tudo além do básico do JSF será explicado para você. Quase todo capítulo vai cobrir detalhes que vão além do uso normal e vai deixá-lo mais crítico em relação ao uso da tecnologia.
Considere também que o livro é sobre o JAVA EE como plataforma, então existem várias outras especificações que serão cobertas e que lhe deixará mais embasado para tomar suas futuras decisões em relação à plataforma.
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
Dados do produto
- Número de páginas:
- Data publicação: