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

Quero Parabenizar a Caelum pelo excelente metodo de ensino. O conteudo do curso e o intrutor passaram o conhecimento de forma clara e objetiva.

Everton Santana Vitor da Silva, Certisign

O curso superou minhas expectativas, a qualidade do conteúdo e dos professores são impressionantes, além de um ótimo ambiente e excelente tratamento de todos os funcionarios da Caelum. Indico para qualquer pessoa interessada em crescer profissionalmente.

Paulo Roberto Clemente de Castro, Jacareí-SP

Na minha opiniao o curso da caelum me ensinou muito. gostei e indicaria para varios amigo. Com relacao ao professor Rasa, o mesmo soube administrar as aulas e alem de tudo dar a atencao devida ao seus alunos , e isso é uma coisa que se deve levar muito em consideracao.

Mario da Silva Binga

Próximas turmas

DataPeríodoCidadeComentário
20/10 a 31/10Noturno (19h às 23h)Brasília
20/10 a 31/10Noturno (19h às 23h)São Paulo Turma com desconto especial! Aproveite.
01/11 a 29/11Sábado (9h às 17h)Brasília
01/11 a 06/12Sábado (9h às 17h)Rio de Janeiro Lista de espera!
03/11 a 14/11Noturno (19h às 23h)São Paulo
03/11 a 07/11Integral (9h às 17h)São Paulo
08/11 a 06/12Sábado (9h às 17h)São Paulo Novas vagas!
24/11 a 05/12Noturno (18h às 22h)Rio de Janeiro Inscrições abertas
01/12 a 12/12Manhã (9h às 13h)Brasília
12/01 a 16/01Integral (9h às 17h)Rio de Janeiro Inscrições abertas.
31/01 a 07/03Sábado (9h às 17h)Rio de Janeiro Inscrições abertas.

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.