ApostilaJava para Desenvolvimento Web
sumário- 
1 Enfrentando o Java na Web                
- 
1.1 O grande mercado do Java na Web                                
 - 
1.2 Livros e sites interessantes                                
 
 - 
2 Bancos de dados e JDBC                
- 
2.1 Por que usar um banco de dados?                                
 - 
2.2 Persistindo através de Sockets?                                
 - 
2.3 A conexão em Java                                
 - 
2.4 Fábrica de Conexões                                
 - 
2.5 Design Patterns                                
 - 
2.6 Exercícios: ConnectionFactory                                
 - 
2.7 A tabela Contato                                
 - 
2.8 Javabeans                                
 - 
2.9 Inserindo dados no banco                                
 - 
2.10 DAO - Data Access Object                                
 - 
2.11 Exercícios: Javabeans e ContatoDao                                
 - 
2.12 Fazendo pesquisas no banco de dados                                
 - 
2.13 Exercícios: Listagem                                
 - 
2.14 Um pouco mais...                                
 - 
2.15 Exercícios opcionais                                
 - 
2.16 Outros métodos para o seu DAO                                
 - 
2.17 Exercícios opcionais - Alterar e remover                                
 
 - 
3 O que é Java EE?                
- 
3.1 Como o Java EE pode te ajudar a enfrentar problemas                                
 - 
3.2 Algumas especificações do Java EE                                
 - 
3.3 Servidor de Aplicação                                
 - 
3.4 Servlet Container                                
 - 
3.5 Exercícios: Preparando o Tomcat                                
 - 
3.6 Preparando o Tomcat em casa                                
 - 
3.7 Outra opção: Jetty                                
 - 
3.8 Integrando o Tomcat no Eclipse                                
 - 
3.9 O plugin WTP                                
 - 
3.10 Exercícios: Configurando o Tomcat no Eclipse                                
 
 - 
4 Novo projeto Web usando Eclipse                
- 
4.1 Novo projeto                                
 - 
4.2 Exercícios: Novo projeto web                                
 - 
4.3 Análise do resultado final                                
 - 
4.4 Criando nossas páginas e HTML Básico                                
 - 
4.5 Exercícios: primeira página                                
 - 
4.6 Para saber mais: configurando o Tomcat sem o plugin                                
 - 
4.7 Algumas tags HTML                                
 
 - 
5 Servlets                
- 
5.1 Páginas dinâmicas                                
 - 
5.2 Servlets                                
 - 
5.3 Mapeando uma servlet no web.xml                                
 - 
5.4 A estrutura de diretórios                                
 - 
5.5 Exercícios: Primeira Servlet                                
 - 
5.6 Erros comuns                                
 - 
5.7 Facilidades das Servlets 3.0                                
 - 
5.8 Para saber mais: Web Servlet e InitParam Annotation                                
 - 
5.9 Enviando parâmetros na requisição                                
 - 
5.10 Pegando os parâmetros da requisição                                
 - 
5.11 Exercícios: Criando funcionalidade para gravar contatos                                
 - 
5.12 GET, POST e métodos HTTP                                
 - 
5.13 Tratando exceções dentro da Servlet                                
 - 
5.14 Exercício: Tratando exceções e códigos HTTP                                
 - 
5.15 Init e Destroy                                
 - 
5.16 Uma única instância de cada Servlet                                
 - 
5.17 Exercícios opcionais                                
 - 
5.18 Discussão: Criando páginas dentro de uma servlet                                
 
 - 
6 JavaServer Pages                
- 
6.1 Colocando o HTML no seu devido lugar                                
 - 
6.2 Exercícios: Primeiro JSP                                
 - 
6.3 Listando os contatos com Scriptlet                                
 - 
6.4 Exercícios opcionais: Lista de contatos com scriptlet                                
 - 
6.5 Misturando código Java com HTML                                
 - 
6.6 EL: Expression language                                
 - 
6.7 Exercícios: parâmetros com a Expression Language                                
 - 
6.8 Para saber mais: Compilando os arquivos JSP                                
 
 - 
7 Usando Taglibs                
- 
7.1 Taglibs                                
 - 
7.2 Instanciando POJOs                                
 - 
7.3 JSTL                                
 - 
7.4 Instalação                                
 - 
7.5 Cabeçalho para a JSTL core                                
 - 
7.6 ForEach                                
 - 
7.7 Exercícios: forEach                                
 - 
7.8 Exercícios opcionais                                
 - 
7.9 Evoluindo nossa listagem                                
 - 
7.10 Fazendo ifs com a JSTL                                
 - 
7.11 Exercícios: lista de contatos com condicionais                                
 - 
7.12 Importando páginas                                
 - 
7.13 Exercícios: cabeçalhos e rodapés                                
 - 
7.14 Formatação de datas                                
 - 
7.15 Exercícios: Formatando a data de nascimento dos contatos                                
 - 
7.16 Para saber mais: links com ``                                
 - 
7.17 Exercícios opcionais: Caminho absoluto                                
 - 
7.18 Para saber mais: Outras tags                                
 
 - 
8 Tags customizadas com Tagfiles                
- 
8.1 Porque eu precisaria de outras tags além da JSTL?                                
 - 
8.2 Calendários com jQuery                                
 - 
8.3 Criando minhas próprias tags com Tagfiles                                
 - 
8.4 Exercícios: criando nossa própria tag para calendário                                
 - 
8.5 Para saber mais: Outras taglibs no mercado                                
 - 
8.6 Desafio: Colocando displaytag no projeto                                
 
 - 
9 MVC - Model View Controller                
- 
9.1 Servlet ou JSP?                                
 - 
9.2 Request Dispatcher                                
 - 
9.3 Exercícios: RequestDispatcher                                
 - 
9.4 Melhorando o processo                                
 - 
9.5 Retomando o _design pattern_ Factory                                
 - 
9.6 Exercícios: Criando nossas lógicas e a servlet de controle                                
 - 
9.7 Exercícios: Criando uma lógica para remover contatos                                
 - 
9.8 Fazendo a lógica para listar os contatos                                
 - 
9.9 Exercícios: Lógica para listar contatos                                
 - 
9.10 Escondendo nossas páginas                                
 - 
9.11 Exercícios opcionais                                
 - 
9.12 Model View Controller                                
 - 
9.13 Lista de tecnologias: camada de controle                                
 - 
9.14 Lista de tecnologias: camada de visualização                                
 - 
9.15 Discussão em aula: os padrões Command e Front Controller                                
 
 - 
10 Recursos importantes: Filtros                
- 
10.1 Reduzindo o acoplamento com Filtros                                
 - 
10.2 Exercícios opcionais: Filtro para medir o tempo de execução                                
 - 
10.3 Problemas na criação das conexões                                
 - 
10.4 Tentando outras estratégias                                
 - 
10.5 Reduzindo o acoplamento com Filtros                                
 - 
10.6 Exercícios: Filtros                                
 
 - 
11 Spring MVC                
- 
11.1 Porque precisamos de frameworks MVC?                                
 - 
11.2 Um pouco de história                                
 - 
11.3 Configurando o Spring MVC                                
 - 
11.4 Criando as lógicas                                
 - 
11.5 A lógica Olá Mundo!                                
 - 
11.6 Para saber mais: Configurando o Spring MVC em casa                                
 - 
11.7 Exercícios: Configurando o Spring MVC e testando a configuração                                
 - 
11.8 Adicionando tarefas e passando parâmetros                                
 - 
11.9 Exercícios: Criando tarefas                                
 - 
11.10 Incluindo validação no cadastro de tarefas                                
 - 
11.11 Validação com Bean Validation                                
 - 
11.12 Exercícios: Validando tarefas                                
 - 
11.13 Listando as tarefas e disponibilizando objetos para a view                                
 - 
11.14 Exercícios: Listando tarefas                                
 - 
11.15 Redirecionando a requisição para outra ação                                
 - 
11.16 Exercícios: Removendo e alterando tarefas                                
 - 
11.17 Desafio - Calendário                                
 - 
11.18 Melhorando a usabilidade da nossa aplicação                                
 - 
11.19 Utilizando AJAX para marcar tarefas como finalizadas                                
 - 
11.20 Configurar o Spring MVC para acessar arquivos comuns                                
 - 
11.21 Exercícios: Ajax                                
 - 
11.22 Para saber mais: Alterando valor da data com AJAX                                
 - 
11.23 Exercícios Opcionais: Melhorando nosso AJAX                                
 
 - 
12 Spring MVC: Autenticação e autorização                
- 
12.1 Autenticando usuários: como funciona?                                
 - 
12.2 Cookies                                
 - 
12.3 Sessão                                
 - 
12.4 Configurando o tempo limite                                
 - 
12.5 Registrando o usuário logado na sessão                                
 - 
12.6 Exercício: Fazendo o login na aplicação                                
 - 
12.7 Bloqueando acessos de usuários não logados com Interceptadores                                
 - 
12.8 Exercícios: Interceptando as requisições                                
 - 
12.9 Exercícios opcionais: Logout                                
 
 - 
13 Spring IoC e deploy da aplicação                
- 
13.1 Menos acoplamento com inversão de controle e injeção de dependências                                
 - 
13.2 Container de Injeção de dependências                                
 - 
13.3 Container Spring IoC                                
 - 
13.4 Outras formas de injeção                                
 - 
13.5 Exercícios: Inversão de controle com o Spring Container                                
 - 
13.6 Aprimorando o visual através de CSS                                
 - 
13.7 Exercícios opcionais: Aplicando CSS nas páginas                                
 - 
13.8 Deploy do projeto em outros ambientes                                
 - 
13.9 Exercícios: Deploy com war                                
 - 
13.10 Discussão em aula: lidando com diferentes nomes de contexto                                
 
 - 
14 Uma introdução prática ao JPA com Hibernate                
- 
14.1 Mapeamento Objeto Relacional                                
 - 
14.2 Java Persistence API e Frameworks ORM                                
 - 
14.3 Bibliotecas do Hibernate e JPA                                
 - 
14.4 Mapeando uma classe Tarefa para nosso Banco de Dados                                
 - 
14.5 Configurando o JPA com as propriedades do banco                                
 - 
14.6 Usando o JPA                                
 - 
14.7 Para saber mais: Configurando o JPA com Hibernate em casa                                
 - 
14.8 Exercícios: Configurando o JPA e gerando o schema do banco                                
 - 
14.9 Trabalhando com os objetos: o EntityManager                                
 - 
14.10 Exercícios: Gravando e Carregando objetos                                
 - 
14.11 Removendo e atualizando objeto                                
 - 
14.12 Buscando com uma cláusula where                                
 - 
14.13 Exercícios: Buscando com JPQL                                
 
 - 
15 E agora?                
- 
15.1 Os apêndices dessa apostila                                
 - 
15.2 Frameworks Web                                
 - 
15.3 Frameworks de persistência                                
 - 
15.4 Onde seguir seus estudos                                
 
 - 
16 Apêndice - Integração do Spring com JPA                
- 
16.1 Gerenciando o EntityManager                                
 - 
16.2 Configurando o JPA no Spring                                
 - 
16.3 Injetando o EntityManager                                
 - 
16.4 Baixo acoplamento pelo uso de interface                                
 - 
16.5 Gerenciando a transação                                
 - 
16.6 Exercícios: Integrando JPA com Spring                                
 - 
16.7 Exercícios Opcionais: Integrando a entidade User com o JPA                                
 
 - 
17 Apêndice - Tópicos da Servlet API                
- 
17.1 Init-params e context-params                                
 - 
17.2 welcome-file-list                                
 - 
17.3 Propriedades de páginas JSP                                
 - 
17.4 Inclusão estática de arquivos                                
 - 
17.5 Tratamento de erro em JSP                                
 - 
17.6 Descobrindo todos os parâmetros do request                                
 - 
17.7 Trabalhando com links com a c:url                                
 - 
17.8 Context listener                                
 - 
17.9 O ServletContext e o escopo de aplicação                                
 - 
17.10 Outros listeners