Logar
Evento
/

FJ-21 | Java para Desenvolvimento Web (Integral)

FJ-21 | Java para Desenvolvimento Web (Integral)

Banner - FJ-21 | Java para Desenvolvimento Web (Integral)
Mostrar
  • De 20/08 às 09:00 até: 24/08 às 17:00
  • SCS Qd. 8 Bl. B-50, Sala 521 - Ed. Venâncio 2000 - Brasília/Distrito Federal - Brasil

Descrição

Carga Horária: 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. 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!

 

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.

 

 

Conteúdo Detalhado:

 

Enfrentando o Java na Web

   

  • O grande mercado do Java na Web
  • Bibliografia

 

Bancos de dados e JDBC

   

  • 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

 

O que é Java EE?

   

  • Como o Java EE pode te ajudar a enfrentar problemas
  • Algumas especificações do Java EE
  • Servidor de Aplicação
  • Servlet Container
  • Preparando o Tomcat
  • Preparando o Tomcat em casa
  • Outra opção: Jetty
  • Integrando o Tomcat no Eclipse
  • O plugin WTP
  • Configurando o Tomcat no WTP

 

Novo projeto Web usando Eclipse

   

  • Novo projeto
  • 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

 

Servlets

   

  • Páginas dinâmicas
  • Servlets
  • Mapeando uma servlet no web.xml
  • A estrutura de diretórios
  • Exercícios: Primeira Servlet
  • Erros comuns
  • 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
  • Para saber mais: Facilidades das Servlets 3.0
  • Discussão: Criando páginas dentro de uma servlet

 

JavaServer Pages

   

  • Colocando o HTML no seu devido lugar
  • Exercícios: Primeiro JSP
  • Listando os contatos com Scriptlet
  • Exercícios: Lista de contatos com scriptlet
  • Exercícios opcionais
  • Misturando código Java com HTML
  • EL: Expression language
  • Exercícios: parâmetros com a Expression Language
  • Para saber mais: Compilando os arquivos JSP

 

Usando Taglibs

   

  • Taglibs
  • Instanciando POJOs
  • JSTL
  • Instalação
  • Cabeçalho para a JSTL core
  • ForEach
  • Exercícios: forEach
  • Exercício opcional
  • Evoluindo nossa listagem
  • Fazendo ifs com a JSTL
  • Exercícios: Melhorando a lista de contatos com condicionais
  • Importando páginas
  • Exercícios: Adicionando cabeçalhos e rodapés
  • Formatando as datas
  • Exercícios: Formatando a data de nascimento dos contatos
  • Para saber mais: Trabalhando com links com
  • Exercícios opcionais: Caminho absoluto
  • Para saber mais: Outras tags

 

Tags customizadas com Tagfiles

   

  • 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

 

MVC - Model View Controller

   

  • Servlet ou JSP?
  • Request Dispatcher
  • Exercícios: RequestDispatcher
  • Melhorando o processo
  • Retomando o ::design pattern:: Factory
  • A configuração do web.xml
  • Exercícios: Criando nossas lógicas e servlet de controle
  • Exercícios: Lógica para alterar contatos
  • 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

 

Recursos importantes: Filtros

   

  • 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

 

Spring MVC

   

  • 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

 

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

   

  • 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
  • Deploy do projeto em outros ambientes
  • Exercícios: Deploy com war
  • Discussão em aula: lidando com diferentes nomes de contexto

 

Uma introdução prática ao Hibernate

   

  • Mapeamento Objeto Relacional
  • Criando seu projeto para usar o Hibernate
  • Mapeando uma classe Produto para nosso Banco de Dados
  • Configurando o Hibernate com as propriedades do banco
  • Usando o Hibernate
  • Exercícios: configurando e gerando o schema do banco
  • Trabalhando com os objetos: a Session
  • Exercícios: Gravando e Carregando objetos
  • Buscando com uma cláusula where
  • Exercícios: Buscando com HQL

 

E agora?

   

  • Os apêndices dessa apostila
  • Certificação SCWCD
  • Frameworks Web
  • Frameworks de persistência
  • Onde seguir seus estudos

 

Apêndice - Mais Hibernate

   

  • Exercícios: o HibernateUtil e gravando objetos
  • Criando um DAO para o Hibernate
  • Exercícios: criando o DAO
  • Buscando com Criteria
  • Exercícios
  • Exercícios opcionais: para testar o LAZY
  • Exercício opcional

 

Apêndice - VRaptor3 e produtividade na Web

   

  • Motivação: evitando APIs complicadas
  • Vantagens de um codigo 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: Requsiçõ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 - Servlets 3.0 e Java EE 6

   

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

 

Apêndice - Tópicos da Servlet API

   

  • 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 - Struts 1

   

  • Struts 1 e o mercado
  • Exercícios: Configurando o Struts
  • Uma ação Struts
  • Configurando a ação no struts-config.xml
  • Exercícios: TesteSimplesAction
  • Erros comuns
  • Pesquisando um banco de dados
  • Criando a ação
  • O arquivo WebContent/lista.jsp
  • ListaContatos no struts-config.xml
  • Exercício: ListaContatosAction
  • Resultado condicional com o Struts
  • Exercícios: listagem vazia
  • Resultado do struts-config.xml
  • Novos contatos
  • Formulário
  • Mapeando o formulário no arquivo struts-config.xml
  • Exercício: ContatoForm
  • Erro comum
  • Lógica de Negócios
  • Exercício: AdicionaContatoAction
  • Erros comuns
  • Arquivo de mensagens
  • Exercícios: Mensagens
  • Erros comuns
  • Validando os campos
  • Exercício: validação
  • Erros comuns
  • Exercícios opcionais
  • Limpando o formulário
  • Exercícios: scope
  • Exercícios opcionais
  • O mesmo formulário para duas ações
  • Exercícios opcionais
  • Para saber mais

 

Apêndice - Struts 2

   

  • Porque precisamos de frameworks MVC?
  • Um pouco de história
  • Configurando o Struts 2
  • Criando as lógicas
  • A lógica Olá Mundo!
  • Para saber mais: Configurando o Struts 2 em casa
  • Exercícios: Configurando o Struts 2 e testando a configuração
  • Adicionando tarefas e passando parâmetros à Action
  • Exercícios: Criando tarefas
  • Incluindo validação no cadastro de tarefas
  • Exercícios: Validando tarefas
  • Listando as tarefas e disponibilizando objetos para a view
  • Exercícios: Listando tarefas
  • Redirecionando a requisição para outra Action
  • Exercícios: Removendo e alterando tarefas
  • Desafio - Calendário
  • Diminuindo o acoplamento
  • Exercícios: Action sem classe
  • Para saber mais: Outras formas de se trabalhar com o Struts 2
  • Melhorando a usabilidade da nossa aplicação
  • Utilizando AJAX para marcar tarefas como finalizadas
  • Exercícios: Ajax
  • 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
  • Interceptadores Padrões
  • Exercícios: Interceptando as requisições
  • Exercícios opcionais: Aplicando o interceptador em todas as actions
  • Exercícios opcionais: Logout
  • Deploy do projeto em outros ambientes
  • Exercícios: Deploy com war
  • 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.

Ler mais

Localização

Programação

Este evento não possui atividades no momento.

Planta do Evento

A planta do evento não está disponível.

Contato

Preencha os campos abaixo para enviar e-mail ao organizador.

Campos Obrigatórios
Campos Obrigatórios
Ao se cadastrar, você concorda com nossos Termos de uso.
Ajaxloader

Compartilhar evento por e-mail


Para continuar, faça login ou cadastre-se.

Recomende este evento para sua rede.

Selecione os usuários que deseja recomendar este evento.