Caelum - Cursos de Java, Scrum, Ruby on Rails

FJ-21 | Java para Desenvolvimento Web

[ 40 horas aula ]

O mercado de desenvolvimento Web em Java é realmente muito grande. Este curso visa não apenas mostrar os conceitos básicos de uma web application, mas também mostrar os frameworks mais conhecidos e requisitados no mercado para aplicar o padrão arquitetural Model View Controller (MVC).

Incluindo o uso do Spring MVC com JSP, JSTL e AJAX, além de persistência no banco de dados com JDBC e uma introdução prática ao Hibernate 3. O Tomcat é usado como servlet container e o Eclipse como IDE. Inclui as novidades do Java EE 6. Aprenda a última versão desses frameworks no curso de Web mais respeitado do mercado!

Curso recentemente atualizado (Fevereiro/2012).

Esse curso faz parte da Formação Consultor Java junto com o FJ-11 e o FJ-16.

Pré-requisitos: Curso FJ-11 ou: linguagem Java, variáveis primitivas e orientação a objetos, tratamento de erro, conhecimentos fundamentais de Java SE, entrada e saída, coleções, básico de multi-threading em Java, básico de http e html.

Faça já sua reserva no FJ-21 Entrar em contato Ver conteúdo detalhado Download da apostila do FJ-21

A opinião de quem fez o FJ-21

Curso Fantástico, com toda certeza irá fazer um grande diferencial em minha carreira. Destaque especial para nível de conhecimento dos instrutores.

Anônimo em 13/04/2012

Ótimo curso, abrangente, com bom material didático e professor altamente capacitado, além de solicito. Continuarei o treinamento.

Rogério Sidauto em 24/03/2012
Ver mais depoimentos
DataPeríodoCidadeComentário
26/05 a 23/06 Sábado (9:00 as 17:00) Rio de JaneiroLista de espera
28/05 a 08/06 Noturno (19:00 as 23:00) Brasília
28/05 a 08/06 Noturno (19:00 as 23:00) São Paulo
28/05 a 01/06 Integral (9:00 as 17:00) São PauloÚltimas Vagas!
04/06 a 19/06 Noturno (18:00 as 22:00) Rio de JaneiroLista de espera
09/06 a 07/07 Sábado (9:00 as 17:00) São PauloTurma Lotada! Entra na Lista de Espera!
01/07 a 29/07 Domingo (9:00 as 17:00) São Paulo
09/07 a 13/07 Integral (9:00 as 17:00) São Paulo
16/07 a 27/07 Noturno (19:00 as 23:00) Brasília
16/07 a 20/07 Integral (9:00 as 17:00) Rio de Janeiro
30/07 a 03/08 Integral (9:00 as 17:00) Brasília
30/07 a 10/08 Noturno (18:00 as 22:00) Rio de Janeiro
11/08 a 08/09 Sábado (9:00 as 17:00) Brasília
11/08 a 08/09 Sábado (9:00 as 17:00) Rio de Janeiro
20/08 a 24/08 Integral (9:00 as 17:00) Brasília
29/09 a 27/10 Sábado (9:00 as 17:00) Rio de Janeiro

Alguma dúvida? Quer fazer uma reserva? Entre em contato, estamos a disposição para atendê-lo


Conteúdo detalhado do FJ-21

Download da apostila do FJ-21

Enfrentando o Java na Web

  1. O grande mercado do Java na Web
  2. Bibliografia

Bancos de dados e JDBC

  1. Por que usar um banco de dados?
  2. Persistindo através de Sockets?
  3. A conexão em Java
  4. Fábrica de Conexões
  5. Design Patterns
  6. Exercícios: ConnectionFactory
  7. A tabela Contato
  8. Javabeans
  9. Inserindo dados no banco
  10. DAO - Data Access Object
  11. Exercícios: Javabeans e ContatoDAO
  12. Fazendo pesquisas no banco de dados
  13. Exercícios: Listagem
  14. Um pouco mais...
  15. Exercícios opcionais
  16. Outros métodos para o seu DAO
  17. Exercícios opcionais - Alterar e remover

O que é Java EE?

  1. Como o Java EE pode te ajudar a enfrentar problemas
  2. Algumas especificações do Java EE
  3. Servidor de Aplicação
  4. Servlet Container
  5. Preparando o Tomcat
  6. Preparando o Tomcat em casa
  7. Outra opção: Jetty
  8. Integrando o Tomcat no Eclipse
  9. O plugin WTP
  10. Configurando o Tomcat no WTP

Novo projeto Web usando Eclipse

  1. Novo projeto
  2. Análise do resultado final
  3. Criando nossas páginas e HTML Básico
  4. Exercícios: primeira página
  5. Para saber mais: configurando o Tomcat sem o plugin
  6. Algumas tags HTML

Servlets

  1. Páginas dinâmicas
  2. Servlets
  3. Mapeando uma servlet no web.xml
  4. A estrutura de diretórios
  5. Exercícios: Primeira Servlet
  6. Erros comuns
  7. Enviando parâmetros na requisição
  8. Pegando os parâmetros da requisição
  9. Exercícios: Criando funcionalidade para gravar contatos
  10. GET, POST e métodos HTTP
  11. Tratando exceções dentro da Servlet
  12. Exercício: Tratando exceções e códigos HTTP
  13. Init e Destroy
  14. Uma única instância de cada servlet
  15. Exercícios opcionais
  16. Para saber mais: Facilidades das Servlets 3.0
  17. Discussão: Criando páginas dentro de uma servlet

JavaServer Pages

  1. Colocando o HTML no seu devido lugar
  2. Exercícios: Primeiro JSP
  3. Listando os contatos com Scriptlet
  4. Exercícios: Lista de contatos com scriptlet
  5. Exercícios opcionais
  6. Misturando código Java com HTML
  7. EL: Expression language
  8. Exercícios: parâmetros com a Expression Language
  9. Para saber mais: Compilando os arquivos JSP

Usando Taglibs

  1. Taglibs
  2. Instanciando POJOs
  3. JSTL
  4. Instalação
  5. Cabeçalho para a JSTL core
  6. ForEach
  7. Exercícios: forEach
  8. Exercício opcional
  9. Evoluindo nossa listagem
  10. Fazendo ifs com a JSTL
  11. Exercícios: Melhorando a lista de contatos com condicionais
  12. Importando páginas
  13. Exercícios: Adicionando cabeçalhos e rodapés
  14. Formatando as datas
  15. Exercícios: Formatando a data de nascimento dos contatos
  16. Para saber mais: Trabalhando com links com
  17. Exercícios opcionais: Caminho absoluto
  18. Para saber mais: Outras tags

Tags customizadas com Tagfiles

  1. Porque eu precisaria de outras tags além da JSTL?
  2. Calendários com JQuery
  3. Criando minhas próprias tags com Tagfiles
  4. Exercícios: criando nossa própria tag para calendário
  5. Para saber mais: Outras taglibs no mercado
  6. Desafio: Colocando displaytag no projeto

MVC - Model View Controller

  1. Servlet ou JSP?
  2. Request Dispatcher
  3. Exercícios: RequestDispatcher
  4. Melhorando o processo
  5. Retomando o ::design pattern:: Factory
  6. A configuração do web.xml
  7. Exercícios: Criando nossas lógicas e servlet de controle
  8. Exercícios: Lógica para alterar contatos
  9. Exercícios opcionais
  10. Model View Controller
  11. Lista de tecnologias: camada de controle
  12. Lista de tecnologias: camada de visualização
  13. Discussão em aula: os padrões Command e Front Controller

Recursos importantes: Filtros

  1. Reduzindo o acoplamento com Filtros
  2. Exercícios opcionais: Filtro para medir o tempo de execução
  3. Problemas na criação das conexões
  4. Tentando outras estratégias
  5. Reduzindo o acoplamento com Filtros
  6. Exercícios: Filtros

Spring MVC

  1. Porque precisamos de frameworks MVC?
  2. Um pouco de história
  3. Configurando o Spring MVC
  4. Criando as lógicas
  5. A lógica Olá Mundo!
  6. Para saber mais: Configurando o Spring MVC em casa
  7. Exercícios: Configurando o Spring MVC e testando a configuração
  8. Adicionando tarefas e passando parâmetros
  9. Exercícios: Criando tarefas
  10. Incluindo validação no cadastro de tarefas
  11. Validação com Bean Validation
  12. Exercícios: Validando tarefas
  13. Listando as tarefas e disponibilizando objetos para a view
  14. Exercícios: Listando tarefas
  15. Redirecionando a requisição para outra ação
  16. Exercícios: Removendo e alterando tarefas
  17. Desafio - Calendário
  18. Melhorando a usabilidade da nossa aplicação
  19. Utilizando AJAX para marcar tarefas como finalizadas
  20. Configurar o Spring MVC para acessar arquivos comuns
  21. Exercícios: Ajax

Spring MVC: Autenticação e autorização e deploy da aplicaçao

  1. Autenticando usuários: como funciona?
  2. Cookies
  3. Sessão
  4. Configurando o tempo limite
  5. Registrando o usuário logado na sessão
  6. Exercício: Fazendo o login na aplicação
  7. Bloqueando acessos de usuários não logados com Interceptadores
  8. Exercícios: Interceptando as requisições
  9. Exercícios opcionais: Logout
  10. Deploy do projeto em outros ambientes
  11. Exercícios: Deploy com war
  12. Discussão em aula: lidando com diferentes nomes de contexto

Uma introdução prática ao Hibernate

  1. Mapeamento Objeto Relacional
  2. Criando seu projeto para usar o Hibernate
  3. Mapeando uma classe Produto para nosso Banco de Dados
  4. Configurando o Hibernate com as propriedades do banco
  5. Usando o Hibernate
  6. Exercícios: configurando e gerando o schema do banco
  7. Trabalhando com os objetos: a Session
  8. Exercícios: Gravando e Carregando objetos
  9. Buscando com uma cláusula where
  10. Exercícios: Buscando com HQL

E agora?

  1. Os apêndices dessa apostila
  2. Certificação SCWCD
  3. Frameworks Web
  4. Frameworks de persistência
  5. Onde seguir seus estudos

Apêndice - Mais Hibernate

  1. Exercícios: o HibernateUtil e gravando objetos
  2. Criando um DAO para o Hibernate
  3. Exercícios: criando o DAO
  4. Buscando com Criteria
  5. Exercícios
  6. Exercícios opcionais: para testar o LAZY
  7. Exercício opcional

Apêndice - VRaptor3 e produtividade na Web

  1. Motivação: evitando APIs complicadas
  2. Vantagens de um codigo independente de Request e Response
  3. VRaptor 3
  4. A classe de modelo
  5. Minha primeira lógica de negócios
  6. Redirecionando após a inclusão
  7. Criando o formulário
  8. A lista de produtos
  9. Exercícios
  10. Aprofundando em Injeção de Dependências e Inversão de Controle
  11. Injeção de Dependências com o VRaptor
  12. Escopos dos componentes
  13. Exercícios: Usando Injeção de Dependências para o DAO
  14. Adicionando segurança em nossa aplicação
  15. Interceptando requisições
  16. Exercícios: Construindo a autenticação e a autorização
  17. Melhorando a usabilidade da nossa aplicação
  18. Para saber mais: Requsições: Síncrono x Assíncrono
  19. Para saber mais: AJAX
  20. Adicionando AJAX na nossa aplicação
  21. Exercícios opcionais: Adicionando AJAX na nossa aplicação

Apêndice - Servlets 3.0 e Java EE 6

  1. Java EE 6 e as novidades
  2. Suporte a anotações: @WebServlet
  3. Suporte a anotações: @WebFilter
  4. Preparando o Glassfish v3.0 em casa
  5. Preparando o Glassfish v3.0 no WTP
  6. Nossa aplicação usando o Glassfish
  7. Exercício: Usando anotação @WebServlet
  8. Exercício: Alterando nosso framework MVC
  9. Exercício: Alterando nosso FiltroConexao
  10. Processamento assíncrono
  11. Plugabilidade e Web fragments
  12. Registro dinâmico de Servlets

Apêndice - Tópicos da Servlet API

  1. Init-params e context-params
  2. welcome-file-list
  3. Propriedades de páginas JSP
  4. Inclusão estática de arquivos
  5. Tratamento de erro em JSP
  6. Descobrindo todos os parâmetros do request
  7. Trabalhando com links com a c:url
  8. Context listener
  9. O ServletContext e o escopo de aplicação
  10. Outros listeners

Apêndice - Struts 1

  1. Struts 1 e o mercado
  2. Exercícios: Configurando o Struts
  3. Uma ação Struts
  4. Configurando a ação no struts-config.xml
  5. Exercícios: TesteSimplesAction
  6. Erros comuns
  7. Pesquisando um banco de dados
  8. Criando a ação
  9. O arquivo WebContent/lista.jsp
  10. ListaContatos no struts-config.xml
  11. Exercício: ListaContatosAction
  12. Resultado condicional com o Struts
  13. Exercícios: listagem vazia
  14. Resultado do struts-config.xml
  15. Novos contatos
  16. Formulário
  17. Mapeando o formulário no arquivo struts-config.xml
  18. Exercício: ContatoForm
  19. Erro comum
  20. Lógica de Negócios
  21. Exercício: AdicionaContatoAction
  22. Erros comuns
  23. Arquivo de mensagens
  24. Exercícios: Mensagens
  25. Erros comuns
  26. Validando os campos
  27. Exercício: validação
  28. Erros comuns
  29. Exercícios opcionais
  30. Limpando o formulário
  31. Exercícios: scope
  32. Exercícios opcionais
  33. O mesmo formulário para duas ações
  34. Exercícios opcionais
  35. Para saber mais

Apêndice - Struts 2

  1. Porque precisamos de frameworks MVC?
  2. Um pouco de história
  3. Configurando o Struts 2
  4. Criando as lógicas
  5. A lógica Olá Mundo!
  6. Para saber mais: Configurando o Struts 2 em casa
  7. Exercícios: Configurando o Struts 2 e testando a configuração
  8. Adicionando tarefas e passando parâmetros à Action
  9. Exercícios: Criando tarefas
  10. Incluindo validação no cadastro de tarefas
  11. Exercícios: Validando tarefas
  12. Listando as tarefas e disponibilizando objetos para a view
  13. Exercícios: Listando tarefas
  14. Redirecionando a requisição para outra Action
  15. Exercícios: Removendo e alterando tarefas
  16. Desafio - Calendário
  17. Diminuindo o acoplamento
  18. Exercícios: Action sem classe
  19. Para saber mais: Outras formas de se trabalhar com o Struts 2
  20. Melhorando a usabilidade da nossa aplicação
  21. Utilizando AJAX para marcar tarefas como finalizadas
  22. Exercícios: Ajax
  23. Autenticando usuários: como funciona?
  24. Cookies
  25. Sessão
  26. Configurando o tempo limite
  27. Registrando o usuário logado na sessão
  28. Exercício: Fazendo o login na aplicação
  29. Bloqueando acessos de usuários não logados com Interceptadores
  30. Interceptadores Padrões
  31. Exercícios: Interceptando as requisições
  32. Exercícios opcionais: Aplicando o interceptador em todas as actions
  33. Exercícios opcionais: Logout
  34. Deploy do projeto em outros ambientes
  35. Exercícios: Deploy com war
  36. Discussão em aula: lidando com diferentes nomes de contexto


* Os apêndices listados são conteúdos adicionais que não fazem parte do curso regular.