Gratuito

Curso em desenvolvimento.

Inscrição

Aprenda no seu ritmo

As pessoas aprendem em ritmos diferentes, por isso, os cursos online são ótimos! Estude em sua hora preferida, assista as vídeo aulas quantas vezes necessitar.

Acesso para sempre

Ao comprar nossos cursos online, você terá acesso vitalício às vídeo aulas, incluindo as atualizações do conteúdo.

Certificado Digital

Solicite certificado ao final do curso, ele será gerado e enviado por e-mail.

Dúvidas On-Line

As dúvidas que surgem durante os cursos online são resolvidas diretamente por e-mail com nossos professores.


Descrição do curso.Curso de Java Completo

Este curso você vai aprender Java web de forma completa começando do zero até o avançado.
Com este curso você ficara Expert em programação Java para web e certamente um profissional cada vez melhor.


Conteúdo resumido

01 – Java Fundamentos e OO
Introdução, Fundamentos da Linguagem
Orientação a Objetos
Aplicação Desktop, Banco de dados, JDBC

02 – Html5, Css3 e Javascript
Basico ate Avançado

03 – Bootstrap
Framework HTML, CSS e JS para desenvolvimento responsivo e
focado para dispositivos moveis. Ex (Cel, Tablet, etc)

04 – Java JPA/Hibernate
Persistência em banco de dados
MySql e Oracle

05 – JavaServer Faces e Primefaces
Desenvolvimento para Web baseado em componentes
Desenvolvimento de aplicação para web completa

06 – Java EE
Framework de desenvolvimento para web (JPA, CDI, EJB, JAX-RS, JAX-WS)

07 – JasperSoft Studio
Desenvolvimento de relatórios para web


Quais são as exigências?

Conhecimento minimo de utilização de computador e Windows.
Começa do zero então conhecimentos básicos são aprendidos durante o curso.
Todas as ferramentas utilizadas estão disponíveis no ambiente de ensino para download.

O que serei capaz de fazer depois deste curso?

Criar sistemas que rodem na internet/intranet utilizando HTML5, CSS3, Javascript, Bootstrap, JSF, JPA e JEE, MySQL e as melhores práticas de desenvolvimento existentes.


Qual é o público alvo?

Programadores de qualquer linguagens ou iniciantes em programação Java. Este curso começamos do zero e vai até avançado, então qualquer nível de programador é indicado e vai ser adequar facilmente.


Conteúdo do Curso

01 – Java Fundamentos e OO

Introdução
Evolução Tecnológica
Paradigmas de Programação
Linguagens x Ambientes de desenvolvimento

Plataforma Java
Linguagens interpretadas x linguagens compiladas
Plataforma Java, Mitos da linguagem
Tecnologias (J2SE) (J2ME) (J2EE)

Fundamentos da linguagem
A Linguagem Java, Palavras reservadas
Convenções do código,Comentários

Variáveis
Tipos primitivos, Reference
Variáveis locais, Escopo

Operadores
Operadores Unários, Operadores aritméticos: +, -, *, / e %
Operadores lógicos, Operadores de atribuição: =, +=,-=, *=, /=, %=
Operador ternário, Exercícios adicionais

Controle de Fluxo
if, else, switch, while, do while, for, break, continue

Arrays
Arrays bidimensionais
Arrays multidimensionais
Método main
Exercícios adicionais

Classes Utilitárias
String
StringBuffer
Math
Lista de exercícios extras
Instalação do Java Development Kit

Introdução à criação de classes
Classes e Objetos
Atributos, Métodos

Encapsulamento
Getters e Setters
Modificadores de acesso
Objeto this
Encapsulamento de atributos compostos
Acoplamento

Sobrecarga de Métodos
Construtores e Método finalize
Declarando construtores
Sobrecarga de construtores
Remoção de objetos e Método finalize

Modificador Static
Atributo static, Métodos static
Bloco de código static

Relacionamento entre classes
Associação
Relacionamento entre classes – continuação
Herança, Modificador final
Modificador abstract
Interfaces, Cast de objetos e polimorfismo

Pacotes
Utilizando classes de outros pacotes
Declarando o pacote das classes
Trabalhando com classes que estão em pacotes diferentes
Componentes: JAR

Tratamento de erros
Introdução
Exceptions, Tratamento de erros – continuação
Considerações sobre override, abstract e interfaces.
Assertions

Aplicações gráficas com Java Swing
Banco de dados JDBC

02 – Html5, Css3 e Javascript

HTML 5
Um pouco de História;
Sobre HTML5
Tags e Atributos
Estrutura HTML5
Semântica
Comandos do HTML5
Tags Estruturais(Div, Section, Header, Main, Footer, Nav..)
Tags para Texto
Tags para Imagem, áudio e vídeo
Formulários em HTML5
Class x Id
Validações para Formulários

CSS3
Conhecendo a estrutura CSS3
Normalize.css
Prefixos proprietários
Comandos mais utilizados em CSS
Posicionando um layout
Flexbox Layout Efeitos da CSS3
Chrome Developer tools para CSS3
Como funciona o Layout Responsivo com a CSS3

Javascript
Conhecendo o JavaScript
Variáveis e Tipos de dados
Funções em JavaScript
Chrome Developer Tools(Console)
Array e Objetos em Js
O que é JSON?
Conhecendo o jQuery
Seletores em jQuery
Efeitos com jQuery

03 – Bootstrap

Introdução e sistema de grids
Trajetória do framework, features e conhecimento sobre grid

Tipografia
Normalização padrão, cabeçalhos, parágrafos entre outros

Tabelas
Tabelas responsivas, espaçamento, linhas em zebram, outros.

Formulários
Atributos, campos, personalização, outros

Botões
Base, componente modificador, estilização, outros

Classes auxiliares
Cabeçalho, imagem, visibilidade, estados, outros

Icones
Formas nativas, externas, tamanhos, outros

Nav e navbar
nav, navbar, tabs, convenções, recursos, outros

Paineis
Estilização de estado, header, body, outros

Modal
Responsividade, opções, recursos, javascript, outros

Tooltip
Posições, corpo, efeitos, atributos, outros

Popover
Posições, corpo, efeitos, atributos, eventos, outros

Alert
Estilização de estados, close, links, outros

Carousel
Controles, itens, formas, javascript, outros

04 – Java JPA/Hibernate

Implementação e configurações da JPA
Escolha uma implementação
Como compor meu persistence.xml?
Configurando a aplicação através de XML
Como conseguir um EntityManager
Controlando a transação manualmente
Servidor controlando a transação

Aprenda os detalhes dos mapeamentos de entidades
Entidades e o seu papel no banco de dados
Saiba Gerar seu id Automaticamente
O eterno problema do mapeamento de chaves compostas
Mapeando mais de uma tabela
Como mapear herança da melhor maneira?
Mapped Superclass
SINGLE_TABLE, JOINED, TABLE_PER_CLASS
Trabalhe com os Embedded Objects
Mapeie enums e lista de valores

Entenda e mapeie corretamente os relacionamentos
Use os relacionamentos
Relacionamentos com @OneToOne
Cuidados com o @OneToMany e @ManyToOne
@ManyToMany
Entenda como funciona o Cascade
Entenda como funciona o OrphanRemoval
Como utilizar Lazy e Eager Loading corretamente
Entenda a LazyInitializationException
Utilizando o método size das listas
Carregamento por anotação
Stateful EJB
Carregando por Query com Join
Aprenda a tratar o erro: ‘cannot simultaneously fetch multiple bags’
Trate o erro: ‘could not initialize a collection’
Cuidado para não cair no famoso “efeito n+1”

JPQL e consultas com JPA
JPQL e Parâmetros com JPQL
Navegações nas pesquisas
Join, ordenações, relacionamentos
Funções Matemáticas
Calculando mínimos e máximos
Contando resultados

Named Queries e Queries nativas
Organizando consultas com NamedQuery
Quando há algo muito específico, utilize Query nativa
Devolva resultados complexos com queries nativas

Queries programáticas com Criteria
A Criteria mais simples do Hibernate
EasyCriteria


05 – JavaServer Faces e Primefaces

Escolhas que afetam o desenvolvimento da aplicação
Suspeite se a aplicação está usando bem o JSF
Devo seguir todas as dicas ao pé da letra?

@RequestScoped para escopos curtos

Mantenha o bean na sessão com @SessionScoped

Entenda o novo @ViewScoped

Crie escopos longos e customizáveis com @ConversationScoped

A praticidade do escopo @Dependent

Guarde dados para toda a aplicação com o @ApplicationScoped

@NoneScoped

Exibindo Objetos e Mensagens após Redirect e o FlashScoped

Colocando lógica de rendered no MB

Inicializando Objetos

Injetando ManagedBeans

Target Unreachable: Enfrente a NullPointerException do JSF

Uso de JSP ou xhtml

Utilizando imagens/css/javascript de modos simples

Boa utilização do Facelets

Enviar valores para o ManagedBean
Envie valor como parâmetro pelo f:setPropertyActionListener
Envie valor como parâmetro
Envie valor por Binding

Temas dinâmicos

Action ou ActionListener
Redirecione o usuário com action
Trate eventos com actionListener

Primefaces
DataTable com seleção com um click
Drag and Drop
Notificador
Auto Complete
Poll
Considerações finais

Temas Dinâmicos com Primefaces

Ajax
Sempre indique que a requisição está acontecendo
Dê mensagens de feedback para o usuário
Previna-se das várias ações do usuário em requisições assíncronas
Cuidado ao usar ManagedBeans RequestScoped com Ajax
Internacionalização e Localização da sua aplicação
Permita que o usuário mude o idioma

Utilizando recursos dentro de um Converter
Acesse um ManagedBean programaticamente através de Expression Language

Cuidado com Cross Site Scripting

Otimizando a navegação e performance

Limpeza de comentários e debug
Esconda os comentários da página
Debug dos componentes

Organize funcionalidades por ambiente do projeto

06 – Java EE

Por que usar Java EE
Comece a aventura
Usando JSF como framework

Criando projeto
Configuração e criação do projeto
Acessando o primeiro endereço
Um pouco por dentro do framework

Cadastro de produtos
Formulário de cadastro
Lógica de cadastro
Gravando os dados no banco de dados
Configurando a JPA
Configuração do DataSource no WildlFly
A necessidade de uma transação

Melhorando o cadastro e um pouco mais de JSF
Associando vários autores
Limpando o formulário
Listando os produtos
Forward x Redirect
Exibindo a mensagem de sucesso
Isolando o código de infraestrutura

Validação e conversão de dados
Validação básica
Exibindo as mensagens de erro de maneira amigável
Trocando as mensagens default do JSF
Integração com a Bean Validation
Convertendo a data
Converter para entidades

Upload de arquivos
Recebendo o arquivo no Managed Bean
Salvando o caminho do arquivo
Gravando os arquivos fora do servidor web

Carrinho de compras
Exibindo os produtos na página inicial
Navegando para o detalhe do produto
Lidando com LazyInitializationException
Será que o melhor é o DAO ser um EJB stateful?
Formatando a data de publicação
Carrinho de compras e o escopo de sessão

Fechamento da compra e processamento assíncrono
Implementando a tela de finalização
Gravando as informações do usuário
Validação seletiva com a BeanValidation
Salvando as informações do checkout
Integrando com outra aplicação
Executando operações demoradas assincronamente
JAX-RS para todas as outras requisições HTTP
Configurando o JAX-RS

Melhorando a performance com cache
Cacheando o retorno das consultas na JPA
Provider de cache e suas configurações
Invalidação do cache por alteração
Cacheando trechos da página

Respondendo mais de um formato
Expondo os dados em outros formatos
Content negotiation
Simulando um cliente para o nosso serviço

Mais de processamento assíncrono com JMS
Enviando o e-mail de finalização
Um pouco mais sobre processamento assíncrono
Utilizando o JMS para mensageria
Registrando tratadores de mensagens com MDBs
Implementação do JMS utilizada pelo WildFly
Cautela no uso do código assíncrono

Protegendo a aplicação
Definindo as regras de acesso com o JAAS
Configurando o formulário de login
Configurando o LoginModule do JAAS
Exibindo o usuário logado e escondendo trechos da página

Organização do layout em templates
Templates

Internacionalização
Isolando os textos em arquivos de mensagens
Accept-Language header
Passando parâmetros nas mensagens
Deixe que o usuário defina a língua

Enviando e recebendo informações via WebSocket
Como notificar os usuários?
API de WebSockets e o navegador
Enviando mensagens a partir do servidor
Outros detalhes da especificação de WebSockets

Últimas considerações técnicas
Deploy
Profiles
Testes
Projetos paralelos que podem nos ajudar

07 – JasperSoft Studio

O que é o iReport
Objetivos
O que é o iReport
O que é o JasperReports

Instalando o iReport
Objetivos
Aonde obter o iReport
Requisitos mínimos do iReport
Instalando o iReport

Acesso ao banco de Dados
Objetivos
Configurando DataSource
Definindo a Conexão Ativa

iReport Wizard
Objetivos
Criando um relatório no iReport

Modelo Relatório iReport
Objetivos
Estrutura de um relatório
Variáveis, Parâmetros e campos
Arquivos gerados pelo iReport

Customizando Relatórios
Objetivos
Criando um relatório
Inserindo Gráficos no relatório

Criando Subrelatórios
Objetivos
O que é um subrelatório
Criando um subrelatório

Visualizando e Salvando Relatórios
Objetivos
Gerando o seu relatório em formato PDF
Gerando o seu relatório em formato HTML