Sobre o Livro

Título: Programação Java para a Web
Subtítulo: Aprenda a desenvolver uma aplicação financeira pessoal com as ferramentas mais modernas da plataforma Java
Autores: Décio Heinzelmann Luckow e Alexandre Altair de Melo
I.S.B.N.:9788575224458
Altura: 23,5 cm.
Largura: 17 cm.
Profundidade: 3 cm.
Acabamento: Brochura
Edição: 2 / 2015
Idioma: Português
País de Origem: Brasil
Número de Paginas: 680
Programação Java para a Web é um livro inovador, com enfoque extremamente prático, que mostra passo a passo como desenvolver uma aplicação web utilizando a linguagem Java e as tecnologias mais poderosas e populares no arsenal dos desenvolvedores, como JavaServer Faces e Hibernate.
A metodologia do aprendizado é baseada no projeto de uma aplicação financeira pessoal completa, do início ao fim, em que serão abordadas várias técnicas de desenvolvimento, desde as mais tradicionais e conhecidas até as mais modernas. Tudo isso sem abrir mão de uma arquitetura bem-definida e baseada no modelo MVC.
O conteúdo deste livro inclui desde a preparação do ambiente de desenvolvimento, com Tomcat, MySQL e Eclipse, até a entrega do sistema completo final, funcional e fácil de entender, que poderá ser adaptado às suas necessidades. Aborda os requisitos básicos de um sistema construído de forma profissional, como criação de interfaces web, gravação em banco de dados, segurança, internacionalização, geração de gráficos, relatórios em PDF, web services e busca de informações em meios externos.
A obra destina-se tanto a iniciantes quanto a desenvolvedores Java experientes que desejam conhecer as técnicas e ferramentas mais atuais e poderosas. As soluções apresentadas nesta obra podem ser utilizadas na construção de outros sistemas.
O livro aborda os seguintes assuntos:
  • Desenvolvimento Web usando JavaServer Faces com Ajax
  • Gravação e consulta em banco de dados usando Hibernate
  • Gerenciamento de dependências usando Maven
  • Segurança de acesso e controle de usuários com Spring Security
  • Estilos com CSS e uso de templates
  • Envio de e-mail e integração com o Google Gmail
  • Construção de relatórios com iReports e JasperReports
  • Integração com o Yahoo! Finance para obtenção de gráficos e cotação de ações da Bovespa
  • Como tornar sua aplicação multi-idiomas
  • Modelagem e uso de web services
  • Geração de gráficos
Sumário

 

Capítulo 1 – Preparação do ambiente de desenvolvimento
1.1 Seleção das ferramentas
1.2 Linguagem Java
1.2.1 Instalação do Java
1.3 Apache Tomcat
1.3.1 Instalação do Tomcat
1.3.2 Configuração e gerenciamento
1.4 Eclipse IDE
1.4.1 Instalação do Eclipse
1.4.2 Dicas de utilização
1.4.3 Configuração do Apache Tomcat para funcionar dentro do Eclipse
1.5 MySQL
1.5.1 Instalação do MySQL
1.5.2 Uso do MySQL Workbench
1.6 Conclusão
Capítulo 2 – Primeiros passos com o JavaServer Faces
2.1 JavaServer Faces
2.2 Usando Maven para melhor estruturar o projeto
2.2.1 Organização dos arquivos-fonte
2.2.2 Project Object Model – pom.xml
2.2.3 Gestão de dependências do projeto
2.3 Criação do projeto no padrão Maven
2.4 Configuração adicional do Maven para o Java 1.8 e UFT-8
2.5 Configuração no Eclipse para atender ao JavaServer Faces
2.6 Configurações específicas para projetos Web
2.6.1 Adicionando as dependências Maven para o JavaServer Faces
2.7 Página de teste
2.8 Checklist e teste
2.9 Como começar com JavaServer Faces
2.9.1 Criação da classe Backing Bean
2.9.2 Mapeamento da classe Bean
2.9.3 Criação da página JSF
2.10 Checklist e teste
2.11 Componentes Core
2.12 Componentes HTML
2.13 Mapeamento da navegação entre páginas
2.13.1 Mapeamento definido no faces-config.xml
2.13.2 Navegação implícita
2.14 Ciclo de vida de uma requisição JavaServer Faces
2.14.1 Restore View
2.14.2 Apply Request Values
2.14.3 Process Events
2.14.4 Process Validation
2.14.5 Update Model Values
2.14.6 Invoke Application
2.14.7 Render Responde
2.15 Documentação do JavaServer Faces
2.16 Motivos para usar o XHTML em vez do JSP
2.17 Conclusão
Capítulo 3 – Introdução a Hibernate e SQL com Java
3.1 Persistência de dados
3.2 Conexão a um banco de dados via JDBC
3.2.1 Tabela de URLs para conexão com JDBC
3.2.2 Alguns erros que ocorrem com JDBC e como solucioná-los
3.2.3 Operações com JDBC
3.2.4 Checklist
3.3 Introdução ao Hibernate
3.3.1 Persistência de objetos
3.3.2 Conceito de ORM
3.4 Significado dos termos Hibernate, EJB3 e JPA
3.4.1 Hibernate
3.4.2 EJB3
3.4.3 JPA
3.4.4 Futuro do Hibernate
3.5 Trabalhando com o Hibernate
3.5.1 Criação do projeto exemploshibernate
3.5.2 Mapeamento de objetos com annotations e Hibernate
3.5.3 Checklist
3.6 Criação do projeto de um comércio eletrônico com Hibernate e annotations
3.6.1 HashCode, equals e interface Serializable e sua relação com o Hibernate
3.6.2 Mapeamento de entidades
3.6.3 Mapeamento de relacionamento um-para-um (1-1)
3.6.4 Mapeamentos um-para-muitos (1-N) e um-para-um (1-1)
3.6.5 Mapeamento de relacionamento muitos-para-um (N-1)
3.6.6 Mapeamento muitos para muitos (N-N)
3.6.7 Execução do projeto comercio
3.7 Opções de consultas com Hibernate
3.7.1 Uso da classe Query
3.7.2 Uso da classe Criteria
3.7.3 Consultas nomeadas (Named Queries)
3.8 Conclusão
Capítulo 4 – Desenvolvimento do cadastro de usuários
4.1 Repensando o desenvolvimento
4.1.1 Separação de responsabilidades
4.1.2 MVC (Model – View – Controller)
4.2 Criação do projeto financeiro
4.2.1 Dependências do projeto
4.2.2 Novos packages
4.2.3 Criação das exceções-padrão
4.2.4 Criação do banco de dados
4.3 Reflexão sobre o cadastro de usuários
4.3.1 Criação da classe Usuario
4.3.2 Camada de acesso aos dados
4.3.3 Camada de regra de negócio
4.3.4 Camada de visualização
4.3.5 Criação das operações na classe UsuarioBean
4.3.6 Criação da página usuariosucesso.jsf
4.3.7 Criação da página index
4.4 Checklist e teste
4.5 Próximos passos
4.6 Conclusão
Capítulo 5 – Administração de usuários com DataTable
5.1 Objetivos
5.2 Preparação da área administrativa
5.3 Utilização da dataTable
5.4 Como trabalhar com imagens
5.5 Desenvolvimento da listagem de usuários
5.5.1 Criação da página de listagem de usuários
5.5.2 Alteração da classe UsuarioBean
5.6 Checklist e teste
5.7 Conclusão
Capítulo 6 – Proteção do aplicativo seguro com Spring Security
6.1 O que é Spring Framework e Spring Security?
6.2 O que o Spring Security faz por nós
6.2.1 Segurança de pastas
6.2.2 Controle da página de login
6.2.3 Acesso a dados de usuários e permissões
6.3 Instalação do Spring Security
6.3.1 Adaptação da conexão do Hibernate para o Spring
6.4 Configuração do Spring Security
6.4.1 Alteração do arquivo web.xml
6.4.2 Criação dos arquivos de configuração do Spring Security
6.5 Criação da página de login
6.6 Criação da página principal do usuário
6.6.1 Como saber qual usuário está conectado
6.6.2 Como restringir determinados conteúdos de acordo com a permissão do usuário
6.6.3 Como realizar o logout
6.7 Preparação do sistema para gerenciar as permissões
6.7.1 Mapeamento da tabela de permissões no Hibernate
6.7.2 Alteração do cadastro de usuário para atribuir a permissão padrão
6.7.3 Alteração da administração de usuários para atribuir permissões
6.8 Checklist e teste
6.9 Conclusão
Capítulo 7 – Cadastro de contas com Ajax
7.1 Construção da camada de acesso a dados
7.1.1 Criação da classe Conta
7.1.2 Criação da interface ContaDAO
7.1.3 Criação da classe ContaDAOHibernate
7.1.4 Alteração da classe DAOFactory
7.2 Construção da camada de regra de negócio
7.3 Construção da camada de visualização
7.3.1 Criação da classe de infraestrutura ContextoBean
7.3.2 Estruturação da classe ContaBean
7.3.3 Criação do arquivo conta.xhtml
7.3.4 Finalização da classe ContaBean
7.3.5 Alteração do menu do sistema para o cadastro de contas
7.4 Diferenças entre o cadastro de usuários e o de contas
7.5 Checklist e teste
7.6 Evolução do cadastro de usuários
7.7 Checklist e teste
7.8 Conclusão
Capítulo 8 – Definição da identidade visual com Facelets e CSS
8.1 Por que usar Facelets
8.2 Criação dos templates interna.xhtml e externa.xhtml
8.2.1 Análise das tags Facelets do template
8.2.2 Aplicação dos templates
8.2.3 Uso de includes
8.2.4 Uso de CSS e Tableless
8.3 Checklist e teste
8.4 Conclusão
Capítulo 9 – Cadastro de categorias usando PrimeFaces
9.1 Apresentação do PrimeFaces
9.1.1 Instalação e configuração
9.1.2 Documentação
9.2 Apresentação do cadastro de categorias
9.3 Construção da camada de acesso a dados
9.3.1 Criação da classe Categoria com autorreferência
9.3.2 Inclusão da classe Categoria no arquivo de mapeamento do Hibernate
9.3.3 Criação da interface CategoriaDAO
9.3.4 Criação da classe CategoriaDAOHibernate
9.3.5 Alteração da classe DAOFactory
9.4 Construção da camada de regra de negócio
9.4.1 Criação da classe CategoriaRN
9.4.2 Alteração da classe UsuarioRN
9.5 Construção da camada de visualização
9.5.1 Estruturação da classe CategoriaBean com recursividade
9.5.2 Criação de um conversor personalizado para a classe Categoria
9.5.3 Criação do arquivo categoria.xhtml com componente Tree
9.5.4 Alteração do menu do sistema para o cadastro de categorias
9.6 Checklist e teste
9.7 Conclusão
Capítulo 10 – Registro de lançamentos com tags personalizadas
10.1 Construção da camada de acesso a dados
10.1.1 Criação da classe Lancamento com precisão para campos
10.1.2 Criação de LancamentoDAO e LancamentoDAOHibernate com filtro dinâmico
10.1.3 Alteração da classe DAOFactory
10.1.4 Inclusão da classe Lancamento no arquivo de mapeamento do Hibernate
10.2 Construção da camada de regra de negócio
10.3 Construção da camada de visualização
10.3.1 Edição de lançamentos usando pop-up de calendário
10.3.2 Uso de dataTable com Scroll
10.3.3 Construção da classe LancamentoBean
10.3.4 Alteração do menu do sistema para o cadastro de lançamentos
10.4 Checklist e teste
10.5 Tags personalizadas
10.5.1 Definição da biblioteca e nome da tag
10.5.2 Estrutura básica de uma tag personalizada
10.5.3 Criação da tag personalizada para a lista de lançamentos
10.5.4 Uso da tag personalizada na página principal
10.6 Checklist e teste
10.7 Conclusão
Capítulo 11 – Cadastro de cheques multi-idiomas
11.1 Construção da camada de acesso a dados
11.1.1 Conhecendo a tabela cheque
11.1.2 Criação da classe de chave composta ChequeId
11.1.3 Criação da classe Cheque
11.1.4 Criação da interface ChequeDAO
11.1.5 Criação da classe ChequeDAOHibernate
11.1.6 Alteração da classe DAOFactory
11.1.7 Alteração da classe Lancamento
11.2 Construção da camada de regra de negócio
11.2.1 Criação da classe ChequeRN
11.2.2 Checklist parcial
11.3 Construção da camada de visualização
11.3.1 Estruturação da classe ChequeBean
11.3.2 Criação do arquivo cheque.xhtml
11.3.3 Alteração do menu do sistema para o cadastro de cheques
11.4 Internacionalização de sua aplicação
11.4.1 Criação dos arquivos de tradução
11.4.2 Alteração de outras configurações do projeto para que a internacionalização funcione
11.4.3 Exibição das mensagens de tradução no aplicativo
11.4.4 Aplicação conforme o idioma de preferência do usuário
11.4.5 O que vem depois?
11.5 Alteração da tela de lançamentos
11.6 Checklist e teste
11.7 Conclusão
Capítulo 12 – Como trabalhar com gráficos
12.1 Criação do projeto exemplosgrafico
12.1.1 Dependências do projeto
12.1.2 Menu de gráficos
12.2 Gráficos com PrimeFaces
12.2.1 Gráfico de pizza
12.2.2 Gráfico de colunas verticais
12.2.3 Gráfico com Ajax
12.2.4 Checklist
12.2.5 Outros tipos de gráfico
12.3 Gráficos com JFreeChart
12.3.1 Gráfico de pizza
12.3.2 Gráfico de colunas verticais
12.3.3 Outros tipos de gráfico
12.3.4 Checklist e teste
12.4 Conclusão
Capítulo 13 – Gerenciamento de investimentos na bolsa de valores
13.1 Construção da camada de acesso a dados
13.1.1 Criação da classe Acao
13.1.2 Criação da interface AcaoDAO
13.1.3 Criação da classe AcaoDAOHibernate
13.1.4 Alteração da classe DAOFactory
13.1.5 Classe Acao no hibernate.cfg.xml
13.1.6 Classe auxiliar AcaoVirtual
13.2 Construção da camada de regra de negócio
13.2.1 Criação da classe AcaoRN
13.2.2 Checklist parcial do projeto
13.3 Construção da camada de visualização
13.3.1 Estruturação da classe AcaoBean
13.3.2 Criação do arquivo acao.xhtml
13.4 Conexão ao portal Yahoo Finance Brasil
13.4.1 Classe YahooFinanceUtil
13.4.2 Checklist e teste
13.5 Um pouco mais do pacote java.net
13.5.1 Conexão via proxy com a classe URL
13.5.2 Conexão via proxy pelo servidor Tomcat
13.6 Conclusão
Capítulo 14 – Envio de e-mail
14.1 Apresentação e configuração da ferramenta James
14.1.1 Administração do servidor remotamente via Telnet
14.2 Projeto exemplosemail
14.3 Biblioteca JavaMail
14.3.1 Classe Autenticacao
14.3.2 Classe TesteJavaMail
14.3.3 Classe TesteJavaMailAnexo
14.4 Biblioteca CommonsEMail
14.4.1 Classe TesteCommonsMail
14.4.2 Classe TesteCommonsMailAnexo
14.5 Envio de emails pelo Google Gmail
14.5.1 Classe TesteGmail
14.6 Alteração do projeto financeiro para envio de email
14.6.1 Registro de uma JNDI Mail Session
14.6.2 Alteração do arquivo web.xml
14.6.3 Alterando o arquivo pom.xml
14.6.4 Criação da classe EmailUtil
14.6.5 Modificação da classe MensagemUtil
14.6.6 Envio de email conforme o idioma
14.6.7 Checklist do projeto financeiro
14.7 Conclusão
Capítulo 15 – Relatórios com iReport e Jasper Reports
15.1 Obtenção e instalação do iReport
15.1.1 Criação da conexão com o banco de dados
15.2 Biblioteca JasperReports
15.3 Arquitetura das ferramentas
15.3.1 Visão geral para execução de um relatório
15.3.2 Plugins para geração de relatórios
15.4 Primeiro relatório com iReport
15.4.1 Criação do relatório de contas
15.4.2 Exploração da IDE iReport
15.5 Formatação do relatório de contas
15.5.1 Modificação dos textos da banda Title
15.5.2 Modificação dos textos da banda Column Header
15.5.3 Criação de máscaras para os campos do relatório
15.5.4 Inclusão de parâmetros no relatório
15.5.5 Execução do relatório no sistema financeiro
15.5.6 Checklist e teste
15.6 Criação do relatório de extrato financeiro
15.6.1 Nomeação do relatório
15.6.2 Elementos gráficos do relatório
15.6.3 Compilação e execução do relatório Extrato
15.6.4 Alteração do sistema
15.6.5 Checklist e teste
15.7 Conclusão
Capítulo 16 – Fornecimento e consumo de WebServices
16.1 Obtenção da biblioteca JAX-WS
16.2 Criação da classe fornecedora do web service
16.2.1 Alteração do arquivo web.xml
16.2.2 Alteração da classe ConexaoHibernateFilter
16.2.3 Arquivo sun-jaxws.xml
16.2.4 Checklist e teste
16.3 Ferramenta SoapUI
16.4 Cliente do web service
16.4.1 Projeto clientews
16.5 Conclusão
Capítulo 17 – Finalização e empacotamento do projeto
17.1 Exportação do projeto financeiro
17.1.1 Instalação do arquivo financeiro.war em um Tomcat à parte
17.1.2 Análise de mensagens que podem surgir na instalação do pacote
17.1.3 Configuração do Tomcat para executar o projeto
17.2 Instalação do projeto financeiro em um servidor de hospedagem comercial
17.3 Conclusão
Apêndice A – Revisão de banco de dados relacionais e SQL
A.1 Conceito geral sobre tabelas, colunas, linhas e esquema de base de dados
A.2 Integridade referencial
A.3 Tipos de comandos SQL
A.3.1 Operadores SQL
A.3.2 Funções de agregação
Apêndice B – Componentes JSF Core
Apêndice C – Componentes JSF HTML
Apêndice D – Classes úteis do JavaServer Faces
Classe Application
Classe ExternalContext
Classe FacesContext
Classe FacesMessage
Classe SelectItem
Classe SelectItemGroup
Interface Converter
Interface Validator
Apêndice E – Introdução aos componentes do PrimeFaces
Copyright © 2015 da Novatec Editora Ltda.
Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998.
É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora.
Editor: Rubens Prates
Assistente editorial: Priscila Yoshimatsu
Capa: Victor Bittow
Revisão gramatical: Mari Kumagai/Priscila Yoshimatsu
Editoração eletrônica: Camila Kuwabata
ISBN: 978-85-7522-445-8
Histórico de impressões:
Julho/2015 Segunda edição
Março/2014 Sexta reimpressão
Dezembro/2013 Quinta reimpressão
Abril/2013 Quarta reimpressão
Setembro/2012 Terceira reimpressão
Fevereiro/2012 Segunda reimpressão
Março/2011 Primeira reimpressão
Outubro/2010 Primeira edição (ISBN: 978-85-7522-238-6)
Novatec Editora Ltda.
Rua Luís Antônio dos Santos 110
02460-000 – São Paulo, SP – Brasil
Tel.: +55 11 2959-6529
Fax: +55 11 2950-8869