Caelum | Ensino e Inovação - Cursos de Java, Scrum, Ruby on Rails


FJ-21 | Java para Desenvolvimento Web

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 de Hibernate 3 com recursos do Java 5 e anotações do EJB 3.0, Struts 2 e VRaptor 3. O Tomcat 6 é usado como servlet container e o Eclipse com WTP como IDE. Aprenda a última versão desses frameworks no curso de Web mais respeitado do mercado!

Curso recentemente reformulado com as novidades do mercado Web, incluindo conteúdos exclusivos sobre as mudanças do Java EE 6 lançado em Dezembro/2009.

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

É impressionante tudo que se aprende em tão pouco tempo. A combinação de um bom material e ótimos professores é o grande defirencial da Caelum, recomento a todos!!!

Daves Vieira, Aracaju-SE, FJ-21


Valeu cada centavo investido. Aprendi em duas semanas o que não aprendi em três anos. Ótima didática com excelentes profissionais, em breve voltarei para fazer mais dois cursos. Sai daqui com outra visão, buscando novos desafios. Obrigado à Família Caelum por nos recebermos tão bem!

Raimundo Jose, Aracaju-ES, FJ-21


Faça já sua reserva

Informações

Carga Horária: 40 horas aula

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.

Próximas Turmas

São Paulo

Início Término Período
13/03 10/04 Sabado (9:00 as 17:00)
22/03 02/04 Noturno (19:00 as 23:00)
27/03 24/04 Sabado (9:00 as 17:00)
26/04 30/04 Integral (9:00 as 17:00)

Rio de Janeiro

Início Término Período
06/03 10/04 Sabado (9:00 as 17:00)
15/03 26/03 Noturno (18:30 as 22:30)
24/04 29/05 Sabado (9:00 as 17:00)
26/04 07/05 Noturno (18:00 as 22:00)
15/05 12/06 Sabado (9:00 as 17:00)
03/07 31/07 Sabado (9:00 as 17:00)

Brasília

Início Término Período
29/03 09/04 Noturno (19:00 as 23:00)
26/04 07/05 Noturno (19:00 as 23:00)
03/05 07/05 Integral (9:00 as 17:00)
29/05 26/06 Sabado (9:00 as 17:00)

Conteúdo detalhado 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. Sockets: uma idéia inocente
  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. Enfrentando os problemas de um serivdor com Java EE
  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

  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. Para saber mais: Facilidades das Servlets 3.0
  16. 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. For
  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: Outras tags

Indo além da JSTL

  1. Porque eu precisaria de outras tags além da JSTL?
  2. Criando minhas próprias tags com Tagfiles
  3. Exercícios: criando nossa própria tag para calendário
  4. Para saber mais: Outras taglibs no mercado
  5. 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 e WAR

  1. Problemas na criação das conexões
  2. Tentando outras estratégias
  3. Reduzindo o acoplamento com Filtros
  4. Exercícios: Filtros
  5. Deploy do projeto em outros ambientes
  6. Exercícios: Deploy com war

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. Exercícios: Configurando o Struts 2 e testando a configuração
  7. Adicionando tarefas e passando parâmetros à Action
  8. Exercícios: Criando tarefas
  9. Listando as tarefas e disponibilizando objetos para a view
  10. Exercícios: Listando tarefas
  11. Redirecionando a requisição para outra Action
  12. Exercícios: Removendo e alterando tarefas
  13. Desafio
  14. Para saber mais: Outras formas de se trabalhar com o Struts 2
  15. Melhorando a usabilidade da nossa aplicação
  16. Exercícios: Utilizando AJAX para marcar tarefas como finalizadas

Struts 2: Autenticação e autorização

  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. Discussão: Qual a diferença entre Filtro e Interceptor?

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. Criando nosso banco com o Hibernate
  6. Exercícios: preparando nosso projeto para o Hibernate
  7. Exercícios: configurando e gerando o schema do banco
  8. Trabalhando com os objetos: a Session
  9. Exercícios: o HibernateUtil e gravando objetos
  10. Criando um DAO para o Hibernate
  11. Exercícios: criando o DAO
  12. Buscando com uma cláusula where
  13. Exercícios
  14. Exercícios opcionais: para testar o LAZY
  15. Exercício opcional

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. Requsições: Síncrono x Assíncrono
  19. AJAX
  20. Adicionando AJAX na nossa aplicação
  21. Adicionando AJAX na nossa aplicação

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 - 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

Caelum | Ensino e Inovação
São Paulo: Rua Vergueiro, 3185, cj. 87, próximo ao Metrô Vila Mariana   |   Tel. (11) 5571-2751
Rio de Janeiro: Rua Senador Dantas, 80, cj. 307/308 - Centro   |   Tel. (21) 2220-4156 ou 2297-0033
Brasília: SCS Qd. 8 Bl. B-50, Sala 521 - Ed. Venâncio 2000   |   Tel. (61) 3039-4222
A Caelum roda no cloud