Formação Java

Curso Java para Desenvolvimento Web

  • Banco de dados com JDBC, JPA e Hibernate;
  • Base Web Java com JSP, Servlets, Taglibs e Tagfiles;
  • MVC (Model View Controller) e outros design patterns;
  • Interatividade com AJAX;
  • Aplicações Web com framework Spring MVC;
  • Autenticação e autorização de usuários, validação de dados, filtros e mais;
  • Aprenda a desenvolver aplicações Web, o maior mercado para programadores Java.

Sobre o curso FJ-21

Este curso visa não apenas mostrar os conceitos básicos de uma web application, mas também mostrar os frameworks mais utilizados e 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 ao Hibernate. O Tomcat é usado como servlet container e o Eclipse como IDE.

Veja também a ementa detalhada do curso.

Pré-requisitos

Curso Java e Orientação a Objetos ou conhecer bem a linguagem Java, orientação a objetos, APIs java.util e java.io.

40horas aula

A opinião de quem fez

Sem dúvida a Caelum forma alunos profissionais com o diferencial que ninguém mais oferece.

Alberto da Fonseca Vieira em 14/10/2013

O corpo docente altamente qualificado somado a uma metodologia que privilegia o aprofundamento do aluno ( ao permitir que este erre para depois ensinar as melhores práticas), garantem um melhor aprendizado contínuo e holístico do assunto. Muito obrigado, e parabéns!

Thomas Mahfuz em 16/09/2013

Foi a semana mais produtiva que tive desde que iniciei meus estudos na plataforma Java, e isso só foi possível graças a experiência e competência da equipe Caelum. Parabéns!

Leonardo Vizagne em 16/09/2013

Próximas turmas

DataPeríodoCidadeComentário
21/04 a 02/05Noturno (19h às 23h)São Paulo
03/05 a 31/05Sábado (9h às 17h)São PauloCom vagas!
19/05 a 23/05Integral (9h às 17h)São Paulo
02/06 a 13/06Noturno (18h às 22h30)Rio de JaneiroInscrições abertas.
21/06 a 26/07Sábado (9h às 17h)Rio de JaneiroInscrições abertas.
30/06 a 07/07Integral (9h às 17h)Rio de JaneiroInscrições abertas.
07/07 a 11/07Integral (9h às 17h)Brasília
19/07 a 16/08Sábado (9h às 17h)Brasília

Não achou a turma ideal pra você? Entre em contato e consulte outras turmas e horários.

Fale com a gente.

Dúvidas, reservas ou um papo com um instrutor?

Conteúdo detalhado

Enfrentando o Java na Web

  1. O grande mercado do Java na Web
  2. Livros e sites interessantes

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. Exercícios: 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. Exercícios: Configurando o Tomcat no Eclipse

Novo projeto Web usando Eclipse

  1. Novo projeto
  2. Exercícios: Novo projeto web
  3. Análise do resultado final
  4. Criando nossas páginas e HTML Básico
  5. Exercícios: primeira página
  6. Para saber mais: configurando o Tomcat sem o plugin
  7. 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. Facilidades das Servlets 3.0
  8. Para saber mais: Web Servlet e InitParam Annotation
  9. Enviando parâmetros na requisição
  10. Pegando os parâmetros da requisição
  11. Exercícios: Criando funcionalidade para gravar contatos
  12. GET, POST e métodos HTTP
  13. Tratando exceções dentro da Servlet
  14. Exercício: Tratando exceções e códigos HTTP
  15. Init e Destroy
  16. Uma única instância de cada Servlet
  17. Exercícios opcionais
  18. 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 opcionais: Lista de contatos com scriptlet
  5. Misturando código Java com HTML
  6. EL: Expression language
  7. Exercícios: parâmetros com a Expression Language
  8. 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ícios opcionais
  9. Evoluindo nossa listagem
  10. Fazendo ifs com a JSTL
  11. Exercícios: lista de contatos com condicionais
  12. Importando páginas
  13. Exercícios: cabeçalhos e rodapés
  14. Formatação de datas
  15. Exercícios: Formatando a data de nascimento dos contatos
  16. Para saber mais: 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. Exercícios: Criando nossas lógicas e a servlet de controle
  7. Exercícios: Criando uma lógica para remover contatos
  8. Fazendo a lógica para listar os contatos
  9. Exercícios: Lógica para listar contatos
  10. Escondendo nossas páginas
  11. Exercícios opcionais
  12. Model View Controller
  13. Lista de tecnologias: camada de controle
  14. Lista de tecnologias: camada de visualização
  15. 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
  22. Para saber mais: Alterando valor da data com AJAX
  23. Exercícios Opcionais: Melhorando nosso AJAX

Spring MVC: 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. Exercícios opcionais: Logout

Spring IoC e deploy da aplicação

  1. Menos acoplamento com inversão de controle e injeção de dependências
  2. Container de Injeção de dependências
  3. Container Spring IoC
  4. Outras formas de injeção
  5. Exercícios: Inversão de controle com o Spring Container
  6. Aprimorando o visual através de CSS
  7. Exercícios opcionais: Aplicando CSS nas páginas
  8. Deploy do projeto em outros ambientes
  9. Exercícios: Deploy com war
  10. Discussão em aula: lidando com diferentes nomes de contexto

Uma introdução prática ao JPA com Hibernate

  1. Mapeamento Objeto Relacional
  2. Java Persistence API e Frameworks ORM
  3. Bibliotecas do Hibernate e JPA
  4. Mapeando uma classe Tarefa para nosso Banco de Dados
  5. Configurando o JPA com as propriedades do banco
  6. Usando o JPA
  7. Para saber mais: Configurando o JPA com Hibernate em casa
  8. Exercícios: Configurando o JPA e gerando o schema do banco
  9. Trabalhando com os objetos: o EntityManager
  10. Exercícios: Gravando e Carregando objetos
  11. Removendo e atualizando objeto
  12. Buscando com uma cláusula where
  13. Exercícios: Buscando com JPQL

E agora?

  1. Os apêndices dessa apostila
  2. Frameworks Web
  3. Frameworks de persistência
  4. Onde seguir seus estudos

Apêndice - Integração do Spring com JPA

  1. Gerenciando o EntityManager
  2. Configurando o JPA no Spring
  3. Injetando o EntityManager
  4. Baixo acoplamento pelo uso de interface
  5. Gerenciando a transação
  6. Exercícios: Integrando JPA com Spring

Apêndice - VRaptor3 e produtividade na Web

  1. Motivação: evitando APIs complicadas
  2. Vantagens de um código 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: Requisiçõ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 - Java EE 6

  1. Java EE 6 e as novidades
  2. Processamento assíncrono
  3. Plugabilidade e Web fragments
  4. 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


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