O que você vai fazer
- Acessar Banco de dados com JDBC;
- Ter o primeiro contato com uma ferramenta de mapeamento objeto relacional, O Hibernate;
- Praticar as bases de programação Web com Java. Vamos programar com JSP, Servlets, Taglibs e Tagfiles;
- Autenticar e autorizar usuários, validação de dados, filtros e mais;
- Utilizar o Spring MVC para facilitar o dia a dia, deixando para ele a parte repetitiva e se preocupando apenas com as lógicas da sua aplicação;
- Entender os motivos que nos levam a construir uma aplicação em cima do MVC (Model View Controller), praticar e ainda utilizar outros Design Patterns;
Para quem é esse curso?
Focado em alunos que queiram usar o Java como linguagem de back-end para desenvolvimento de aplicações web.
Para aproveitar melhor o curso recomendamos que você tenha conhecimento em
Conheça todos os cursos que fazem parte da Formação Java
Próximas turmas
Selecione a cidade e os períodos de sua preferência
Nós encontramos essas turmas:
-
Brasília 09/12 a 20/12
Noturno (19h às 23h)
Entre em contato -
São Paulo 20/01 a 24/01
Integral (9h às 17h)
Entre em contato -
Rio de Janeiro 21/01 a 27/01
Integral (9h às 17h)
Entre em contato -
Rio de Janeiro 27/01 a 07/02
Noturno (18h às 22h)
Entre em contato -
São Paulo 03/02 a 14/02
Noturno (19h às 23h)
Entre em contato -
São Paulo 08/02 a 21/03
Sábado (9h às 17h)
Entre em contato -
Brasília 15/02 a 14/03
Sábado (9h às 17h)
Entre em contato -
Brasília 02/03 a 13/03
Noturno (19h às 23h)
Entre em contato
Não achou a turma ideal pra você? Consulte outras turmas e horários.
Entre em contatoO que os alunos falam
Fábio Rocha Lima
A Caelum transformou meu desejo de ser programador em realidade. OrgulhoDeSerCaelumer
William Lauriano Alves
Entrei sem saber nada sobre Java EE, e agora posso dizer que estou no caminho a me tornar um programador Java EE. Muito obrigado Caelum, otimo curso.
Carlos Augusto de Sousa
É sempre bom aprender algo novo e a Caelum em todos os curso que fiz sempre me apresentou algo novo e que eu posso usar no futuro próximo!
Conteúdo detalhado do curso FJ-21
- O grande mercado do Java na Web
- Livros e sites interessantes
Enfrentando o Java na Web
- Por que usar um banco de dados?
- Persistindo através de Sockets?
- A conexão em Java
- Fábrica de Conexões
- Design Patterns
- Exercícios: ConnectionFactory
- A tabela Contato
- Javabeans
- Inserindo dados no banco
- DAO - Data Access Object
- Exercícios: Javabeans e ContatoDao
- Fazendo pesquisas no banco de dados
- Exercícios: Listagem
- Um pouco mais...
- Exercícios opcionais
- Outros métodos para o seu DAO
- Exercícios opcionais - Alterar e remover
Bancos de dados e JDBC
- Como o Java EE pode te ajudar a enfrentar problemas
- Algumas especificações do Java EE
- Servidor de Aplicação
- Servlet Container
- Exercícios: Preparando o Tomcat
- Preparando o Tomcat em casa
- Outra opção: Jetty
- Integrando o Tomcat no Eclipse
- O plugin WTP
- Exercícios: Configurando o Tomcat no Eclipse
O que é Java EE?
- Novo projeto
- Exercícios: Novo projeto web
- Análise do resultado final
- Criando nossas páginas e HTML Básico
- Exercícios: primeira página
- Para saber mais: configurando o Tomcat sem o plugin
- Algumas tags HTML
Novo projeto Web usando Eclipse
- Páginas dinâmicas
- Servlets
- Mapeando uma servlet no web.xml
- A estrutura de diretórios
- Exercícios: Primeira Servlet
- Erros comuns
- Facilidades das Servlets 3.0
- Para saber mais: Web Servlet e InitParam Annotation
- Enviando parâmetros na requisição
- Pegando os parâmetros da requisição
- Exercícios: Criando funcionalidade para gravar contatos
- GET, POST e métodos HTTP
- Tratando exceções dentro da Servlet
- Exercício: Tratando exceções e códigos HTTP
- Init e Destroy
- Uma única instância de cada Servlet
- Exercícios opcionais
- Discussão: Criando páginas dentro de uma servlet
Servlets
- Colocando o HTML no seu devido lugar
- Exercícios: Primeiro JSP
- Listando os contatos com Scriptlet
- Exercícios opcionais: Lista de contatos com scriptlet
- Misturando código Java com HTML
- EL: Expression language
- Exercícios: parâmetros com a Expression Language
- Para saber mais: Compilando os arquivos JSP
JavaServer Pages
- Taglibs
- Instanciando POJOs
- JSTL
- Instalação
- Cabeçalho para a JSTL core
- ForEach
- Exercícios: forEach
- Exercícios opcionais
- Evoluindo nossa listagem
- Fazendo ifs com a JSTL
- Exercícios: lista de contatos com condicionais
- Importando páginas
- Exercícios: cabeçalhos e rodapés
- Formatação de datas
- Exercícios: Formatando a data de nascimento dos contatos
- Para saber mais: links com
- Exercícios opcionais: Caminho absoluto
- Para saber mais: Outras tags
Usando Taglibs
- Porque eu precisaria de outras tags além da JSTL?
- Calendários com jQuery
- Criando minhas próprias tags com Tagfiles
- Exercícios: criando nossa própria tag para calendário
- Para saber mais: Outras taglibs no mercado
- Desafio: Colocando displaytag no projeto
Tags customizadas com Tagfiles
- Servlet ou JSP?
- Request Dispatcher
- Exercícios: RequestDispatcher
- Melhorando o processo
- Retomando o design pattern Factory
- Exercícios: Criando nossas lógicas e a servlet de controle
- Exercícios: Criando uma lógica para remover contatos
- Fazendo a lógica para listar os contatos
- Exercícios: Lógica para listar contatos
- Escondendo nossas páginas
- Exercícios opcionais
- Model View Controller
- Lista de tecnologias: camada de controle
- Lista de tecnologias: camada de visualização
- Discussão em aula: os padrões Command e Front Controller
MVC - Model View Controller
- Reduzindo o acoplamento com Filtros
- Exercícios opcionais: Filtro para medir o tempo de execução
- Problemas na criação das conexões
- Tentando outras estratégias
- Reduzindo o acoplamento com Filtros
- Exercícios: Filtros
Recursos importantes: Filtros
- Porque precisamos de frameworks MVC?
- Um pouco de história
- Configurando o Spring MVC
- Criando as lógicas
- A lógica Olá Mundo!
- Para saber mais: Configurando o Spring MVC em casa
- Exercícios: Configurando o Spring MVC e testando a configuração
- Adicionando tarefas e passando parâmetros
- Exercícios: Criando tarefas
- Incluindo validação no cadastro de tarefas
- Validação com Bean Validation
- Exercícios: Validando tarefas
- Listando as tarefas e disponibilizando objetos para a view
- Exercícios: Listando tarefas
- Redirecionando a requisição para outra ação
- Exercícios: Removendo e alterando tarefas
- Desafio - Calendário
- Melhorando a usabilidade da nossa aplicação
- Utilizando AJAX para marcar tarefas como finalizadas
- Configurar o Spring MVC para acessar arquivos comuns
- Exercícios: Ajax
- Para saber mais: Alterando valor da data com AJAX
- Exercícios Opcionais: Melhorando nosso AJAX
Spring MVC
- Autenticando usuários: como funciona?
- Cookies
- Sessão
- Configurando o tempo limite
- Registrando o usuário logado na sessão
- Exercício: Fazendo o login na aplicação
- Bloqueando acessos de usuários não logados com Interceptadores
- Exercícios: Interceptando as requisições
- Exercícios opcionais: Logout
Spring MVC: Autenticação e autorização
- Menos acoplamento com inversão de controle e injeção de dependências
- Container de Injeção de dependências
- Container Spring IoC
- Outras formas de injeção
- Exercícios: Inversão de controle com o Spring Container
- Aprimorando o visual através de CSS
- Exercícios opcionais: Aplicando CSS nas páginas
- Deploy do projeto em outros ambientes
- Exercícios: Deploy com war
- Discussão em aula: lidando com diferentes nomes de contexto
Spring IoC e deploy da aplicação
- Mapeamento Objeto Relacional
- Java Persistence API e Frameworks ORM
- Bibliotecas do Hibernate e JPA
- Mapeando uma classe Tarefa para nosso Banco de Dados
- Configurando o JPA com as propriedades do banco
- Usando o JPA
- Para saber mais: Configurando o JPA com Hibernate em casa
- Exercícios: Configurando o JPA e gerando o schema do banco
- Trabalhando com os objetos: o EntityManager
- Exercícios: Gravando e Carregando objetos
- Removendo e atualizando objeto
- Buscando com uma cláusula where
- Exercícios: Buscando com JPQL
Uma introdução prática ao JPA com Hibernate
- Os apêndices dessa apostila
- Frameworks Web
- Frameworks de persistência
- Onde seguir seus estudos
E agora?
- Gerenciando o EntityManager
- Configurando o JPA no Spring
- Injetando o EntityManager
- Baixo acoplamento pelo uso de interface
- Gerenciando a transação
- Exercícios: Integrando JPA com Spring
*Apêndice - Integração do Spring com JPA
- Motivação: evitando APIs complicadas
- Vantagens de um código independente de Request e Response
- VRaptor 3
- A classe de modelo
- Minha primeira lógica de negócios
- Redirecionando após a inclusão
- Criando o formulário
- A lista de produtos
- Exercícios
- Aprofundando em Injeção de Dependências e Inversão de Controle
- Injeção de Dependências com o VRaptor
- Escopos dos componentes
- Exercícios: Usando Injeção de Dependências para o DAO
- Adicionando segurança em nossa aplicação
- Interceptando requisições
- Exercícios: Construindo a autenticação e a autorização
- Melhorando a usabilidade da nossa aplicação
- Para saber mais: Requisições: Síncrono x Assíncrono
- Para saber mais: AJAX
- Adicionando AJAX na nossa aplicação
- Exercícios opcionais: Adicionando AJAX na nossa aplicação
*Apêndice - VRaptor3 e produtividade na Web
- Java EE 6 e as novidades
- Processamento assíncrono
- Plugabilidade e Web fragments
- Registro dinâmico de Servlets
*Apêndice - Java EE 6
- Init-params e context-params
- welcome-file-list
- Propriedades de páginas JSP
- Inclusão estática de arquivos
- Tratamento de erro em JSP
- Descobrindo todos os parâmetros do request
- Trabalhando com links com a c:url
- Context listener
- O ServletContext e o escopo de aplicação
- Outros listeners
*Apêndice - Tópicos da Servlet API
* Apêndices são conteúdos adicionais que não fazem parte da carga horária regular do curso. São conteúdos extras para direcionar seus estudos após o curso.
Apostila de Java para Desenvolvimento Web
Este curso possui apostila aberta, faça o download gratuitamente!
Não encontrou o curso que procura? Conheça a Alura, a plataforma online da Caelum
Conheça a Alura