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