FJ-21 - Java para Desenvolvimento Web
O mercado de desenvolvimento Web em java é realmente muito grande. Este curso não visa apenas mostrar os conceitos básicos de uma web application, mas também mostrar frameworks mais conhecidos e requisitados no mercado para aplicar o padrão arquitetural Model View Controller.
Incluindo o uso de Hibernate 3 com recursos do java 5 e anotações do EJB 3.0, Struts 1.x e Velocity, sendo que nenhum dos cursos da Sun abrange esses tópicos. Tomcat 5 é usado como servlet container. Aprenda a última versão desses frameworks no curso de web mais reconhecido do mercado!
O treinamento foi muito importante para a atividade profissional e novos projetos que irão ser desenvolvidos em minha organização.
Alexandre Barreto, FJ-21
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
| Início | Término | Período |
|---|---|---|
| 15/11 | 13/12 | Sabado (9:00 as 17:00) |
| 01/12 | 12/12 | Noturno (19:00 as 23:00) |
| 08/12 | 12/12 | Integral (9:00 as 17:00) |
| 05/01 | 16/01 | Noturno (19:00 as 23:00) |
| 10/01 | 07/02 | Sabado (9:00 as 17:00) |
| 12/01 | 16/01 | Integral (9:00 as 17:00) |
| 12/01 | 16/01 | Integral (9:00 as 17:00) |
| 19/01 | 30/01 | Noturno (19:00 as 23:00) |
| 26/01 | 30/01 | Integral (9:00 as 17:00) |
| 14/02 | 21/03 | Sabado (9:00 as 17:00) |
| Início | Término | Período |
|---|---|---|
| 10/01 | 07/02 | Sabado (9:00 as 17:00) |
| 12/01 | 16/01 | Integral (09:00 as 17:00) |
| 02/02 | 13/02 | Noturno (18:00 as 22:00) |
| Início | Término | Período |
|---|---|---|
| 22/11 | 20/12 | Sabado (9:00 as 17:00) |
| 12/01 | 16/01 | Integral (9:00 as 17:00) |
Conteúdo detalhado do FJ-21
Como Aprender Java
- O que é realmente importante?
- Sobre os exercícios
- Tirando dúvidas
JDBC - java.sql
- Executando o eclipse pela primeira vez
- Criando nosso projeto no eclipse
- O banco
- Sockets: uma idéia inocente
- A conexão em Java
- Fábrica de Conexões
- Exercícios
- A tabela de exemplo
- Javabeans
- Exercícios
- Inserindo dados
- Soluções para viagem - Design Patterns
- DAO - Data Access Object
- Exercícios
- Exercícios Opcionais
- Pesquisando
- Exercícios
- Um pouco mais...
- Exercícios opcionais
- Outros métodos para o seu DAO
- Exercícios opcionais
O que é J2EE?
- APIs
- Referência de Implementação
- Implementações compatíveis com a especificação
- Apache?
Servlet Container
- Introdução
- Servlet Container
- Instalando o Tomcat
- Sobre o Tomcat
- Instalando o Tomcat em casa
- Outra opção: Jetty
- Para saber mais...
O eclipse e seus plugins
- O plugin WTP
- Configurando o plugin do WTP no eclipse
- Em casa: Instalando o eclipse
- Plugins do eclipse no Windows
Novo projeto web
- Novo projeto
- Análise do resultado final
- Driver do Oracle em um servidor Tomcat
- web.xml
- Exercícios
- Em casa: configurando o Tomcat sem o plugin
JSP - Java Server Pages
- O que é uma página JSP
- Exercícios
- Listando os contatos
- Exercícios opcionais
- Erro comum
- HTML e Java: eu não quero código Java no meu jsp!
- EL: Expression language
- Exercícios
- Exercícios opcionais
- Erros comuns
- Exercício opcional
- Instanciando POJOs
- Compilando os arquivos JSP
JSTL - JavaServer Pages Tag Library
- JSTL
- As empresas hoje em dia
- Instalação
- Cabeçalho para a JSTL core
- For
- Exercícios
- Exercício opcional
- c:out e c:set
- Mas quais são as tags da taglib core?
- Import: trabalhando com cabeçalhos e rodapés
- Exercícios
- Erros Comuns
- Inclusão estática de arquivos
- Exercícios
- Exercícios opcionais
- Trabalhando com links
- Exercícios opcionais
- c:if
- Exercícios
Controle de erro
- Exceptions
- JSTL é a solução?
- Exercício opcional
- Quando acontece um erro em uma página jsp
- Página de erro
- Exercícios
- Erros comuns
Servlets
- Servlet
- A estrutura de diretórios
- Mapeando uma servlet no web.xml
- Exercícios
- Erros comuns
- Init e Destroy
- Curiosidades do mapeamento de uma servlet
- OutputStream x PrintWriter
- Parâmetros
- Exercícios
- Exercício opcional
- doGet, doPost e outros
- Conversão de parâmetros
- Exercícios opcionais
- Variáveis membro
- Exercícios
- HTML e Java: eu não quero código html na minha servlet!
- Como funciona uma página JSP
- Web archive (.war)
- Exercícios
- Quando acontece um erro em uma servlet
- O try e catch
- Tratamento padrão de erros - modo declarativo
- Configurando a página de erro
- Exercícios
- Erros comuns
- Tratamento de outros erros
- Exercício opcional
- Outro erro comum
- Servlet para adicionar contatos no banco
- Exercício
Servlet e JSP API
- Propriedades de páginas JSP
- Exercícios
- Filtros
- Configuração de filtros
- Exercícios
- Entendendo os filtros
Model View Controller
- Servlet ou JSP?
- Request dispatchers
- Exercícios
- Melhorando o processo
- Retomando o ::design pattern:: Factory
Construindo um Framework MVC
- Nossa interface de execução
- Exercícios
- Criando um controlador e um pouco mais de reflection
- Configurando o web.xml
- Exercícios
- Erros comuns
- Exercícios
- Exercício opcional
- Model View Controller
- Lista de tecnologias: camada de controle
- Lista de tecnologias: camada de visualização
- MVC 2
Struts Framework
- Struts
- Configurando o Struts
- Exercícios
- Uma ação Struts
- Configurando a ação no %%struts-config.xml%%
- Exercícios
- Erros comuns
- Pesquisando um banco de dados
- Criando a ação
- O arquivo %%web/lista.jsp%%
- struts-config.xml
- Exercício
- Resultado condicional com o Struts
- Exercícios
- Resultado do struts-config.xml
- Novos contatos
- Formulário
- Mapeando o formulário no arquivo struts-config.xml
- Exercício
- Erro comum
- Lógica de Negócios
- Exercício
- Erros comuns
- Arquivo de mensagens
- Exercícios
- Erros comuns
- Validando os campos
- Exercício
- Erros comuns
- Exercícios opcionais
- Limpando o formulário
- Escopo do formulário
- Exercícios
- Exercícios opcionais
- O mesmo formulário para duas ações
- Exercícios opcionais
- Struts-logic taglib: um exemplo antigo de for
- Um pouco mais...
Autenticação, cookies e sessão
- Preparando um sistema de login
- Nossas classes: Funcionario e FuncionarioDAO
- Passo 1: Formbean
- Passo 2: A página de login: formularioLogin.jsp
- Exercício
- A ação
- A ação no struts-config.xml
- ok.jsp e erro.jsp
- Exercícios
- Erro comum
- Exercícios opcionais
- Cookies
- Sessão
- Configurando o tempo limite
- Registrando o usuário logado na sessão
- Exercícios
- Exercícios opcionais
Hibernate
- Vantagens
- Criando seu projeto
- Modelo
- Configurando a classe/tabela Produto
- Exercícios
- Propriedades do banco
- Exercícios
- Configurando
- Criando as tabelas
- Exercícios
- Dica: log do Hibernate
- HibernateUtil
- Exercícios
- Erros comuns
- Salvando novos objetos
- Exercícios
- Buscando pelo id
- Criando o ProdutoDAO
- Exercícios
- Buscando com uma cláusula where
- ProdutoDAO: Listar tudo e fazer paginação
- Exercícios
- Exercícios para o preguiçoso
- Exercício opcional
VRaptor
- Eu não quero o que eu não conheço
- Vantagens
- Vraptor 2
- Exercícios
- Internacionalização
- A classe de modelo
- Minha primeira lógica de negócios
- Como configurar a minha lógica?
- E o JSP com o formulário?
- E a página final?
- Exercícios
- A lista de produtos
- Exercícios opcionais
- Velocity, Freemaker e Sitemesh
- Configurações
- Um pouco mais...
- Plugin para o Eclipse
- Pequenos exemplos de simplicidade
E agora?
- Certificação
- Frameworks
- Revistas
- Grupo de Usuários
- Falando em Java
Apêndice A - Servlet e JSP API
- Início e término da sua aplicação
- Exercícios
- getServletContext()
- Exercícios opcionais
- Acessando a aplicação no JSP
- Exercícios
- Configuração de uma servlet
- Exercícios
- Descobrindo todos os parâmetros do request
Apêndice B - Design Patterns
- Factory - exemplo de cache de objetos
Apêndice C - Singleton
- Singleton
- Exercícios
- Um pouco mais...
