FJ-21
Java para Desenvolvimento Web
A Caelum atua no mercado com consultoria, desenvolvimento e ensino em computação. Sua equipe
participou do desenvolvimento de projetos em vários clientes e, após apresentar os cursos de verão de Java
na Universidade de São Paulo, passou a oferecer treinamentos para o mercado. Toda a equipe tem uma
forte presença na comunidade através de eventos, artigos em diversas revistas, participação em muitos
projetos open source como o VRaptor e o Stella e atuação nos fóruns e listas de discussão como o GUJ.
Com uma equipe de mais de 60 profissionais altamente qualificados e de destaque do mercado, oferece
treinamentos em Java, Ruby on Rails e Scrum em suas três unidades - São Paulo, Rio de Janeiro e
Brasília. Mais de 8 mil alunos já buscaram qualificação nos treinamentos da Caelum tanto em nas unidades
como nas próprias empresas com os cursos incompany.
O compromisso da Caelum é oferecer um treinamento de qualidade, com material constantemente
atualizado, uma metodologia de ensino cuidadosamente desenvolvida e instrutores capacitados
tecnicamente e didaticamente. E oferecer ainda serviços de consultoria ágil, mentoring e desenvolvimento
de projetos sob medida para empresas.
Comunidade
Nossa equipe escreve constantemente artigos no Blog da Caelum que já conta
com 150 artigos sobre vários assuntos de Java, Rails e computação em geral.
Visite-nos e assine nosso RSS:
➡
blog.caelum.com.br
Acompanhe também a equipe Caelum no Twitter:
➡
twitter.com/caelumdev/equipe
O GUJ é maior fórum de Java em língua portuguesa, com 700 mil posts e 70 mil
usuários. As pessoas da Caelum participam ativamente, participe também:
➡
www.guj.com.br
Assine também nossa Newsletter para receber as novidades e destaques dos
eventos, artigos e promoções da Caelum:
➡
www.caelum.com.br/newsletter
No site da Caelum há algumas de nossas Apostilas disponíveis gratuitamente
para download e alguns dos artigos de destaque que escrevemos:
➡
www.caelum.com.br/apostilas
➡
www.caelum.com.br/artigos
Conheça alguns de nossos cursos
FJ-11:
Java e Orientação a
objetos
FJ-26:
Laboratório Web com JSF2 e
CDI
FJ-16:
Laboratório Java com Testes,
XML e Design Patterns
FJ-19:
Preparatório para Certificação
de Programador Java
FJ-21:
Java para Desenvolvimento
Web
FJ-31:
Java EE avançado e
Web Services
FJ-91:
Arquitetura e Design de
Projetos Java
RR-71:
Desenvolvimento Ágil para Web
2.0 com Ruby on Rails
RR-75:
Ruby e Rails avançados: lidando
com problemas do dia a dia
✓
Mais de 8000 alunos treinados;
✓
Reconhecida nacionalmente;
✓
Conteúdos atualizados para o mercado e para sua carreira;
✓
Aulas com metodologia e didática cuidadosamente preparadas;
✓
Ativa participação nas comunidades Java, Rails e Scrum;
✓
Salas de aula bem equipadas;
✓
Instrutores qualificados e experientes;
✓
Apostilas disponíveis no site.
Para mais informações e outros cursos, visite: caelum.com.br/cursos
FJ-25:
Persistência com JPA2 e
Hibernate
Sobre esta apostila
Esta apostila da Caelum visa ensinar 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. Todos os comentários, críticas e sugestões serão muito
bem-vindos.
Essa apostila é constantemente atualizada e disponibilizada no site da Caelum. Sempre consulte o site para
novas versões e, ao invés de anexar o PDF para enviar a um amigo, indique o site para que ele possa sempre
baixar as últimas versões. Você pode conferir o código de versão da apostila logo no final do índice.
Baixe sempre a versão mais nova em: www.caelum.com.br/apostilas
Esse material é parte integrante do treinamento Java para Desenvolvimento Web e distribuído gratuitamente
exclusivamente pelo site da Caelum. Todos os direitos são reservados à Caelum. A distribuição, cópia, revenda
e utilização para ministrar treinamentos são absolutamente vedadas. Para uso comercial deste material, por
favor, consulte a Caelum previamente.
www.caelum.com.br
1
Índice
1 Enfrentando o Java na Web 1
1.1 O grande mercado do Java na Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Bancos de dados e JDBC 3
2.1 Por que usar um banco de dados? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Persistindo através de Sockets? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 A conexão em Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4 Fábrica de Conexões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5 Design Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.6 Exercícios: ConnectionFactory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.7 A tabela Contato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.8 Javabeans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.9 Inserindo dados no banco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.10 DAO – Data Access Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.11 Exercícios: Javabeans e ContatoDAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.12 Fazendo pesquisas no banco de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.13 Exercícios: Listagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.14 Um pouco mais... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.15 Exercícios opcionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.16 Outros métodos para o seu DAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.17 Exercícios opcionais - Alterar e remover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
i