Java para Web
231 pág.

Java para Web


DisciplinaOrientação A Objetos170 materiais1.087 seguidores
Pré-visualização45 páginas
Caelum
"Mata o tempo e matarás a tua carreira"
Bryan Forbes
Sobre a empresa
A Caelum atua no mercado desde 2002, desenvolvendo sistemas e prestando consultoria em diversas
áreas, sempre à luz da plataforma Java. Foi fundada por profissionais que se encontraram no Brasil após
experiências na Alemanha e Itália, desenvolvendo sistemas de grande porte, com integração aos mais variados
ERPs. Seus profissionais já publicaram diversos artigos nas revistas brasileiras sobre Java, artigos acadêmicos
e são presença constante nos eventos de tecnologia.
Em 2004, a Caelum criou uma gama de cursos que rapidamente ganharam grande reconhecimento no
mercado. Os cursos foram elaborados por ex-instrutores da Sun que queriam trazer mais dinamismo e aplicar
as ferramentas e bibliotecas utilizadas no mercado, tais como Eclipse, Hibernate, Struts, e outras tecnologias
open source que não são abordadas pela Sun. O material utilizado foi elaborado durante os cursos de verão de
Java na Universidade de São Paulo, em janeiro de 2004, pelos instrutores da Caelum.
Em 2008, a empresa foca seus esforços em duas grandes áreas:
\u2022 Consultoria, mentoring e coaching de desenvolvimento
\u2022 Treinamento com intuito de formação
Sobre a apostila
Esta apostila da Caelum visa ensinar Java de uma maneira elegante, mostrando apenas o que é necessário
e quando é necessário, no momento certo, poupando o leitor de assuntos que não costumam ser de seu
interesse em determinadas fases do aprendizado.
A Caelum espera que você aproveite esse material e que ele possa ser de grande valia para auto-didatas e
estudantes. Todos os comentários, críticas e sugestões serão muito bem-vindos.
O material aqui contido pode ser publicamente distribuído, desde que seu conteúdo não seja alterado e que
seus créditos sejam mantidos. Ele não pode ser usado para ministrar qualquer outro curso, porém pode ser
utilizado como referência e material de apoio. Caso você esteja interessado em usá-lo para fins comerciais,
entre em contato com a empresa.
Atenção: Você pode verificar a versão da apostila no fim do índice. Não recomendamos imprimir a apostila
que você receber de um amigo ou pegar por e-mail, pois atualizamos constantemente esse material, quase que
mensalmente. Vá até nosso site e veja a última versão.
www.caelum.com.br
Índice
1 Como Aprender Java 1
1.1 O que é realmente importante? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Sobre os exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Tirando dúvidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 JDBC - java.sql 3
2.1 Executando o Eclipse pela primeira vez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 O banco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 Sockets: uma idéia inocente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4 A conexão em Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.5 Fábrica de Conexões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.6 Soluções para viagem \u2013 Design Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.7 Exercícios - ConnectionFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.8 A tabela de exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.9 Javabeans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.10 Exercícios - Contato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.11 Inserindo dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.12 DAO \u2013 Data Access Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.13 Exercícios - ContatoDAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.14 Exercícios Opcionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.15 Pesquisando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
i
2.16 Exercícios - Listagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.17 Um pouco mais... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.18 Exercícios opcionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.19 Outros métodos para o seu DAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.20 Exercícios opcionais - Alterar e remover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3 O que é J2EE? 29
3.1 Java EE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3 Implementações compatíveis com a especificação . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4 Servlet Container 31
4.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2 Aplicações web no Java EE e Servlet Container . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3 Instalando o Tomcat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.4 Sobre o Tomcat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.5 Instalando o Tomcat em casa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.6 Outra opção: Jetty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5 O eclipse e seus plugins 35
5.1 O plugin WTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2 Configurando o Tomcat no WTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6 Novo projeto web 39
6.1 Novo projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.2 Análise do resultado final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.3 Exercícios: primeira página . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.4 Para saber mais: configurando o Tomcat sem o plugin . . . . . . . . . . . . . . . . . . . . . . . . 44
7 JSP - JavaServer Pages 45
7.1 O que é uma página JSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.2 Exercícios: Primeiro JSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.3 Listando os contatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.4 Exercícios: Lista de contatos com scriptlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
ii
7.5 HTML e Java: eu não quero código Java no meu JSP! . . . . . . . . . . . . . . . . . . . . . . . . 49
7.6 EL: Expression language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.7 Exercícios: parâmetros com EL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.8 Exercícios opcionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.9 Erros comuns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .