Escolar Documentos
Profissional Documentos
Cultura Documentos
Java Criando Aplicacoes Netbeans
Java Criando Aplicacoes Netbeans
AGRADECIMENTOS
Primeiramente gostaria de agradecer os inmeros e-mails de leitores elogiando a
primeira edio deste livro e tambm os que criticaram, pedindo mais detalhes a
respeito de determinados assuntos.
Tambm agradeo o apoio dado pela Editora Cincia Moderna para o desenvol-
vimento desta segunda edio.
Um agradecimento especial ao apoio do JUG Leader e Founding Java Champion,
Daniel deOliveira, do DFJUG.
INTRODUO
Mais uma verso e, novamente, o NetBeans amadurece e surpreende com novas
caractersticas que tornam o desenvolvimento mais agradvel e gil.
A verso 6 desta fantstica IDE no poderia ser diferente de seus lanamentos
anteriores, onde vemos que a inteno tornar a ferramenta uma plataforma de
desenvolvimento para vrias linguagens.
Esta nova verso, alm de aproveitar melhor as facilidades incorporadas nas es-
pecificaes Java EE 5, conta tambm com as caractersticas que vem mudando
o mundo do desenvolvimento Web, como o framework Rails da linguagem Ruby.
Mais ainda, possvel, atravs do uso de JRuby, rodar aplicaes Ruby on Rails
(RoR) sobre uma Java Virtual Machine, agregando as facilidades do desenvolvi-
mento com RoR, aliados a estabilidade e integrao com sistemas Java rodando
sobre os servidores de aplicaes. Alm do Ruby, a linguagem PHP, tida como plu-
gin adicional na verso 6.0, tambm ganhou seu lugar na IDE definitivamente na
verso 6.1, ainda em desenvolvimento no momento em que este livro escrito.
Com um nmero maior de linguagens e frameworks suportados, o desenvolvedor
pode contar com assistentes que se integram tanto para o desenvolvimento de
aplicaes Java, como tambm na integrao com o poderoso framework Rails
(RoR) para o mesmo principio.
Outra novidade a incorporao do editor visual ao NetBeans IDE 6.x, tido an-
tes como um pacote separado, para gerao de aplicaes Web que utilizam o
framework JavaServer Faces. Seu nome foi rebatizado para Visual Web JavaServer
Faces Applications e mais uma das diversas facilidades que o desenvolvedor Java
conta na construo de aplicaes Web.
Para este livro, nesta nova edio, cerca de 50% do material foi reescrito e amplia-
do. O leitor agora tem em suas mos informaes que vo desde a construo de
aplicaes Web bsicas, contendo pginas JSP e Servlets, como tambm o foco na
utilizao de JavaServer Faces, incluindo Facelets. O uso de JPA (Java Persistence
API) e EJB 3 foram adicionados, tendo em vista os leitores que esto aproveitando
as facilidades que ambos incorporam no desenvolvimento de aplicaes Web.
VIII DESENVOLVENDO APLICAES WEB COM NETBEANS IDE 6
O uso de Ruby on Rails foi adicionado, incluindo o JRuby on Rails para programa-
dores Java, focado na verso 2.0.2 do framework. Neste caso, no s um CRUD
feito atravs da IDE, mas tambm h muitas explicaes sobre sua arquitetura e
um exemplo com relacionamento.
A grande novidade neste livro est no aprimoramento dos captulos sobre Visual
Web JavaServer Faces. Para aqueles que desejam trabalhar com esta ferramenta,
fora elaborado em dois captulos um aplicativo completo, utilizando seus princi-
pais componentes com acesso a dados. E para aqueles que desejam utilizar JPA e
Hibernate com Visual Web JavaServer Faces, um captulo especial fora dedicado
a este assunto, incluindo o uso de Spring.
Por fim, h no CD-ROM como brinde, diversos Captulos Extras que contm o
trabalho com Struts, criando um CRUD completo, a utilizao do novssimo plu-
gin iReport for NetBeans, integrando-se a ferramenta e facilitando a criao de
relatrios JasperReports e dois estudos de caso completos, envolvendo o Visual
Web JSF, incluindo o uso de DAO genrico, injeo de dependncias com Spring
Framework e a JPA com o Hibernate como provider.
QUEM DEVE LER ESTE LIVRO?
Este livro foi escrito para desenvolvedores com pouca ou nenhuma experincia na
utilizao do NetBeans IDE. Embora sejam apresentados alguns conceitos sobre
as tecnologias Java, para a criao de aplicaes Web, de suma importncia
que o leitor tenha conhecimento de lgica e da estrutura da linguagem Java. O
mesmo vale para os desenvolvedores que desejam trabalhar com aplicaes Ruby
on Rails, ao qual necessrio um prvio conhecimento de Ruby, facilitando assim
sua compreenso.
desejvel tambm um conhecimento sobre o desenvolvimento Web com a lin-
guagem Java, tais como pginas JSP ou Servlets, assim como acesso e utilizao de
um banco de dados.
INTRODUO IX
ANTES DE COMEAR
Em algumas partes desse livro voc encontrar um smbolo, que o ajudar a en-
tender o cdigo proposto e desenvolvido, mostrado a seguir:
... - Indica que acima ou abaixo contm mais cdigo, mas que no est sendo exi-
bido por no ter sido alterado e que o mesmo pode ser acessado pelo CD-ROM,
em anexo ao livro.
OS SOFTWARES REQUERIDOS
Os aplicativos criados nesse livro no exigem software proprietrio. Portanto ao
longo dos captulos voc no s aprender como us-los como tambm onde
encontr-los na Internet, caso precise de uma atualizao.
Esse livro no est focado especialmente em um sistema operacional, portanto a
sua escolha livre nesse ponto.
HARDWARE REQUERIDO
Uma boa configurao de hardware se faz necessrio para trabalhar com aplica-
es escritas em Java. Um computador para rodar bem o NetBeans na verso 6.0
deve ter as seguintes configuraes para uma confortvel utilizao, segundo o
autor:
Processador: Pentium 4 ou similar (recomendo um Dual Core ou Core 2 Duo)
Memria: 1 GB de RAM mnimo (recomendo 2GB de RAM)
HD: 10GB de espao livre
Monitor: 17 polegadas ou superior
Alguns testes foram executados em Pentium 4 com 1 GB de memria, no qual
houve certa lentido na inicializao da IDE, mas no a inviabilidade de seu uso.
O maior problema na utilizao da IDE com relao exigncia do Hardware est
no trabalho com o Visual Web JavaServer Faces e com servidores de aplicaes
como o Glassfish.
X DESENVOLVENDO APLICAES WEB COM NETBEANS IDE 6
Para a criao deste livro, um Core 2 Duo com 4 MB de cache e 2GB de RAM
fora utilizado.
CDIGOS DOS EXEMPLOS CRIADOS NO LIVRO
Todos os cdigos dos exemplos criados no livro, bem como a IDE e outros, se
encontram no CD-ROM anexo.
Caso no encontre algum exemplo, entre em contato com o autor pelo site http://
www.integrator.com.br.
VISO GERAL DOS CAPTULOS
Embora este livro esteja completamente focado no NetBeans IDE, ainda assim
voc ter ao longo do livro, muitos cdigos para desenvolver. Todos os detalhes,
em sua maioria, se encontram na ntegra, para que sejam digitados por voc mes-
mo. Em todo caso, dvidas podero surgir, o que pode requerer a viso do arqui-
vo em geral. Para este caso, o CD-ROM em anexo possui o projeto com seu nome
proposto em livro para ser analisado.
ATENO: Em caso de erro, recomendado a visualizao dos exemplos conti-
dos no CD-ROM anexo ao livro, antes de entrar em contato com o autor.
Com um contedo completamente ilustrado, o livro possui diversas imagens, es-
palhadas por todos os captulos e sempre com foco em detalhes quando neces-
srio. Em seu longo, dicas so dadas para uma melhor produtividade do que est
sendo feito, aproveitando melhor os recursos que a IDE tem a oferecer.
PARTE 1: INTRODUO: DESENVOLVIMENTO DE APLICAES WEB COM JAVA
CAPTULO 1: OBTENDO E INSTALANDO O NETBEANS IDE 6 Como obter e instalar a Ne-
tBeans IDE na verso 6.x.
CAPTULO 2: SERVIDORES DE APLICAES E SERVLETS Viso geral, uso e aprofundamento
do NetBeans IDE com o desenvolvimento de aplicaes Web escritas em Java, uti-
lizando servidores de aplicaes, monitoramento e distribuio para produo.
INTRODUO XI
CAPTULO 3: DESENVOLVENDO PGINAS DINMICAS NO NETBEANS - Dedicado ao trabalho
com pginas dinmicas usando Java, envolvendo JSP, JSTL, Custom Tags, as confi-
gurao da sua aplicao e o Deployment Descriptor usando o NetBeans IDE.
CAPTULO 4: TRABALHANDO COM BANCO DE DADOS Desenvolvido para o contato ini-
cial com o banco de dados, usando JDBC, em aplicaes Web atravs Servlets
e pginas JSP, utilizando NetBeans IDE. Os padres de desenvolvimento MVC e
DAO so apresentados, integrando o JSP e JSTL com acesso a dados atravs do
MySQL.
PARTE 2: JAVA EE5: AVANANDO NO DESENVOLVIMENTO DE APLICAES WEB
CAPTULO 5: JAVASERVER FACES Viso geral e tcnica do framework JavaServer Faces
trabalhado atravs do NetBeans IDE, com configuraes e acesso a banco de da-
dos e Web 2.0 com Facelets.
CAPTULO 6: EJB 3 E JAVA PERSISTENCE API Apresenta o desenvolvimento de aplica-
es Enterprise utilizando o NetBeans.
CAPTULO 7: O VISUAL WEB JAVASERVER FACES A primeira parte de um estudo de caso
detalhado, ensinando o uso do Visual Web JSF atravs do desenvolvimento de
uma aplicao, focando na etapa visual sem acesso a banco de dados.
CAPTULO 8: DESENVOLVENDO NO VISUAL WEB JSF COM BANCO DE DADOS Continuao
do estudo de caso usando Visual Web JSF com acesso a dados, incluindo uma
rea administrativa.
CAPTULO 9: TRABALHANDO COM WEB SERVICES NO NETBEANS IDE Desenvolve e con-
some Web Services usando o NetBeans IDE, incluindo a integrao com EJB 3,
acesso a dados e o uso de Visual Web JavaServer Faces.
CAPTULO 10: VISUAL WEB JSF COM JPA, SPRING E HIBERNATE Finaliza o trabalho com
Visual Web JSF integrando um CRUD com Spring 2.5 e Hibernate 3, atravs do
uso de Java Persistence API (JPA).
PARTE 3: DESENVOLVIMENTO COM LINGUAGENS DINMICAS E AJAX
CAPTULO 11: RAILS 2 COM NETBEANS IDE Cria um estudo de caso usando o NetBe-
ans como ferramenta para desenvolver aplicaes Ruby on Rails.
XII DESENVOLVENDO APLICAES WEB COM NETBEANS IDE 6
CAPTULO 12: JRUBY ON RAILS Recria o projeto do Captulo 11, adicionando as ca-
ractersticas individuais do JRuby, que roda sobre a Java Virtual Machine, incluin-
do acesso a dados via JDBC e deploy no Application Server GlassFish.
CAPTULO 13: TRABALHANDO COM AJAX NO NETBEANS IDE Utiliza o NetBeans para
trabalhar com AJAX atravs de plug-ins, integrando frameworks conhecidos como
jMaki, GWT e ICEfaces.
APNDICE A: Ruby para desenvolvedores Java Explica de forma comparativa a
linguagem Ruby com Java para um suave entendimento.
NO CD-ROM
CAPTULO EXTRA 1: TRABALHANDO COM TOMCAT 5.5 Introduz ao uso do Tomcat 5.5
utilizando o NetBeans IDE.
CAPTULO EXTRA 2: APLICAES WEB COM ACESSO A DADOS SEM PADRO Indicado para
iniciantes com baixa experincia em aplicaes Web Java, ensina a acessar dados
via JDBC diretamente atravs de scriptlets sem o padro DAO.
CAPTULO EXTRA 3: STRUTS - Viso geral e tcnica do framework Struts trabalhado
atravs do NetBeans IDE, com configuraes e acesso a banco de dados.
CAPTULO EXTRA 4: DESENVOLVENDO RELATRIOS COM NETBEANS IDE Utilizao do plug-
in iReport for NetBeans para construir relatrios visualmente na IDE.
CAPTULO EXTRA 5: Estudo de caso completo com Visual Web JSF Continua a apli-
cao criada no livro atravs dos captulos 7 e 8, criando todos os relacionamentos
e acesso ao banco de dados, incluindo o uso de novos componentes.
CAPTULO EXTRA 6: Estudo de caso completo com Visual Web JSF, Spring e Hiberna-
te utilizando JPA Criao da mesma aplicao gerada atravs dos captulos 7, 8 e
Extra 5, criando todos os relacionamentos e acesso ao banco de dados, utilizando
DAO genrico, Spring framework e Hibernate com JPA, incluindo o uso de novos
componentes.
APNDICE B: O MYSQL Explica o MySQL mais detalhadamente para desenvolve-
dores que no o conhecem.
SUMRIO
PARTE 1 - INTRODUO: DESENVOLVIMENTO DE APLICAES WEB COM JAVA .................................. 1
Captulo 1 - Obtendo e instalando o NetBeans IDE 6 ................................................. 3
Os pacotes ..................................................................................................................... 5
O pacote sem instalador e o JDK requerido ................................................................... 6
A instalao ................................................................................................................... 6
A desinstalao ............................................................................................................ 13
Captulo 2 - Servidores de Aplicaes e Servlets ....................................................... 15
Criando um projeto ..................................................................................................... 16
Viso geral do NetBeans IDE ........................................................................................ 20
Explorando seu projeto ................................................................................................ 21
Desenvolvendo Servlets ............................................................................................... 25
Como alterar o navegador no NetBeans ....................................................................... 34
Entendendo como funciona um Servlet ........................................................................ 36
Servidores de Aplicaes Web ..................................................................................... 39
Monitorando transaes HTTP ..................................................................................... 51
Distribuindo sua aplicao em arquivos WAR .............................................................. 54
Captulo 3 - Desenvolvendo pginas dinmicas no NetBeans ................................... 57
Trabalhando com pginas JSP ....................................................................................... 57
Um pouco mais sobre o Deployment Descriptor .......................................................... 59
A estrutura de JavaServer Pages .................................................................................... 61
XIV DESENVOLVENDO APLICAES WEB COM NETBEANS IDE 6
Diretivas ...................................................................................................................... 61
O controle de erros configurado atravs da IDE ........................................................... 63
Recebendo dados de um formulrio com JSP ............................................................... 68
O auto-completar do editor ......................................................................................... 71
Rodando uma pgina ou Servlet como inicial ............................................................... 72
Objetos implcitos ....................................................................................................... 73
Criando JavaBeans ....................................................................................................... 75
Outros atalhos do Editor de Cdigos do NetBeans IDE ................................................. 82
Utilizando JSTL em suas pginas .................................................................................. 87
Desenvolvendo tags customizadas ............................................................................. 111
Dinamizando Tag Files ............................................................................................... 116
Captulo 4 - Trabalhando com Banco de Dados ...................................................... 119
Introduo ao JDBC ................................................................................................... 119
MySQL e o JDBC ....................................................................................................... 120
A instalao e utilizao do MySQL ........................................................................... 120
Comandos bsicos de utilizao do MySQL ............................................................... 122
Acessando o banco de dados MySQL ........................................................................ 122
O comando CREATE .................................................................................................. 123
O comando USE ....................................................................................................... 124
Criando tabelas .......................................................................................................... 124
O comando SHOW ................................................................................................... 125
Configurando usurios ............................................................................................... 125
Inserindo um registro ................................................................................................. 126
SUMRIO XV
Baixando o driver JDBC ............................................................................................. 126
Utilizando o driver JDBC no NetBeans ....................................................................... 127
As APIs JDBC ............................................................................................................. 134
Os tipos de dados no Java e na SQL ........................................................................... 137
Utilizando o Design Query ........................................................................................ 140
Utilizando padres de desenvolvimento ..................................................................... 141
O que MVC? ........................................................................................................... 141
O Padro DAO (Data Access Object) ......................................................................... 145
Pool de conexes ....................................................................................................... 186
O aperfeioamento .................................................................................................... 193
PARTE 2 - JAVA EE5: AVANANDO NO DESENVOLVIMENTO DE APLICAES WEB ............................ 195
Captulo 5 - JavaServer Faces ................................................................................... 197
Um projeto JavaServer Faces ...................................................................................... 198
Conhecendo melhor o JavaServer Faces ..................................................................... 213
As tags padres de JavaServer Faces ........................................................................... 215
Criando um exemplo utilizando banco de dados e JSF ............................................... 222
Personalizando mensagens padro do JavaServer Faces .............................................. 238
Facelets e Web 2.0 .................................................................................................... 241
Instalando um plugin com suporte a Facelets ............................................................. 242
Criando um CRUD nos padres de Facelets ............................................................... 247
XVI DESENVOLVENDO APLICAES WEB COM NETBEANS IDE 6
Captulo 6 - EJB 3 e Java Persistence API ................................................................. 259
Criando um projeto Java EE 5 .................................................................................... 260
Seu primeiro EJB 3 ..................................................................................................... 263
Session Bean .............................................................................................................. 269
As interfaces EJB ........................................................................................................ 271
EJB 3 com acesso a dados .......................................................................................... 272
Utilizando JavaServer Faces para acessar o EJB ........................................................... 284
Captulo 7 - O Visual Web JavaServer Faces ............................................................ 291
Criando uma aplicao .............................................................................................. 293
Definindo o layout da pgina principal ...................................................................... 296
A pgina de contato ................................................................................................... 302
Criando a primeira navegao ................................................................................... 314
Captulo 8 - Desenvolvendo com Visual Web JSF usando banco de dados ............. 317
O acesso a banco de dados ....................................................................................... 317
Desenvolvendo uma rea administrativa .................................................................... 326
O acesso a rea administrativa ................................................................................... 346
Assegurando o acesso a rea administrativa ................................................................ 355
Alterando as mensagens da sua aplicao .................................................................. 362
Adicionando o sistema de pesquisa no site ................................................................. 363
Adicionando Cdigo a SessionBean1 ......................................................................... 366
Captulo 9 - Trabalhando com Web Services no NetBeans IDE ............................... 371
Web Services ............................................................................................................. 371
SUMRIO XVII
Entendendo a estrutura do documento WSDL ........................................................... 381
Consumindo o Web Service criado ............................................................................ 386
Um Web Service mais complexo ............................................................................... 390
Acessando o Web Service com Visual Web JSF ........................................................... 395
Criando um Data Provider ......................................................................................... 396
Captulo 10 - Visual Web JSF com JPA, Spring e Hibernate ..................................... 401
A aplicao que ser construda ................................................................................. 401
O Hibernate .............................................................................................................. 402
Onde baixar a ltima verso ...................................................................................... 403
O Spring .................................................................................................................... 404
O plugin do Spring Framework para o NetBeans ........................................................ 405
Criando o projeto Visual Web JSF com Spring Framework .......................................... 406
Criando o DAO genrico ........................................................................................... 410
Configurando o Spring atravs de applicationContext.xml .......................................... 415
Configurando o Spring no deployment descriptor ...................................................... 417
Criando a classe que controlar o CRUD ................................................................... 418
Configurando o Spring para trabalhar com JSF ........................................................... 419
Configurando o arquivo persistence.xml .................................................................... 422
O Log4j ..................................................................................................................... 424
Alterando a classe SessionBean1 ................................................................................ 427
Configurando o componente Table na pgina ............................................................ 429
Adicionando os mtodos a Page1.java ....................................................................... 430
XVIII DESENVOLVENDO APLICAES WEB COM NETBEANS IDE 6
PARTE 3 - DESENVOLVIMENTO COM LINGUAGENS DINMICAS E AJAX ........................................ 439
Captulo 11 - Rails 2 com NetBeans IDE ................................................................. 441
O que Ruby? ........................................................................................................... 442
O que Ruby on Rails? .............................................................................................. 442
Onde baixar o Ruby .................................................................................................. 442
Configurando o Ruby no NetBeans IDE 6.0 ............................................................... 444
Desenvolvendo com Ruby on Rails ........................................................................... 444
A Camada Modelo ..................................................................................................... 457
A Camada Controle ................................................................................................... 460
A Camada Apresentao ............................................................................................ 462
Adicionando relacionamentos .................................................................................... 463
Mais sobre Ruby on Rails ........................................................................................... 474
Captulo 12 - JRuby on Rails .................................................................................... 475
O que JRuby? .......................................................................................................... 475
Baixando e instalando a ltima verso do JRuby ......................................................... 476
Configurando o JRuby no NetBeans ........................................................................... 477
Instalando os Ruby Gems no NetBeans ..................................................................... 478
Criando um projeto JRuby on Rails ............................................................................ 481
Colocando sua aplicao Rails no Application Server ................................................. 484
Captulo 13 - Trabalhando com AJAX no NetBeans IDE .......................................... 491
AJAX .......................................................................................................................... 491
Utilizando a tecnologia jMaki ..................................................................................... 495
SUMRIO XIX
Criando um projeto utilizando jMaki ......................................................................... 499
Mas o que JSON? .................................................................................................... 501
Ajax com GWT .......................................................................................................... 511
Utilizando Ajax com Visual Web JSF .......................................................................... 525
Outros frameworks AJAX ............................................................................................ 530
Apndice A - Ruby para desenvolvedores Java ....................................................... 531
Recursos do Ruby ...................................................................................................... 531
Desenvolvendo com Ruby no NetBeans IDE .............................................................. 532
Conhecendo o bsico sobre Ruby .............................................................................. 534
Bibliografia ............................................................................................................... 579
Captulo Extra 1 Trabalhando com Tomcat 5.5 .............................................CD-ROM
Captulo Extra 2 Aplicaes Web com acesso a dados sem padro ............CD-ROM
Captulo Extra 3 Struts .................................................................................CD-ROM
Captulo Extra 4 Desenvolvendo relatrios com NetBeans IDE ...................CD-ROM
Captulo Extra 5 Estudo de caso completo com Visual Web JSF ...................CD-ROM
Captulo Extra 6 Estudo de caso completo com Visual Web JSF, Spring e Hibernate uti-
lizando JPA .....................................................................................................CD-ROM
Apndice B O MySQL ..................................................................................CD-ROM
PARTE 1
INTRODUO:
DESENVOLVIMENTO DE
APLICAES WEB COM JAVA
CAPTULO 1
OBTENDO E INSTALANDO O
NETBEANS IDE 6
O NetBeans uma IDE criada em Java Swing e portanto, depende da Java Virtual
Machine (JVM) instalada em sua mquina.
Alm disso, voc ver que h vrias opes da IDE, onde cada uma contm m-
dulos de instalao diferentes para cada necessidade do desenvolvedor.
Neste Captulo voc aprender a obter e instalar o NetBeans IDE na verso 6.x.
OBSERVAO: Apesar de abordar onde obter o NetBeans IDE, o CD-ROM anexo
contm todos os arquivos que esto sendo ilustrados para a instalao.
BAIXANDO O NETBEANS NA INTERNET
Existem dois sites que oficialmente do ao usurio a possibilidade de obter o
NetBeans na verso 6.0. Um o site oficial da prpria IDE, que se encontra no
endereo http://www.netbeans.org. O outro site o oficial do Java, da prpria
Sun Microsystems, criadora da linguagem e principal mantenedora do NetBeans.
O site neste caso http://java.sun.com.
Em ambos os casos, a obteno da IDE est correta.
4 DESENVOLVENDO APLICAES WEB COM NETBEANS IDE 6
FIGURA 1.1 SITE OFICIAL DO NETBEANS IDE
Assim que voc entra no site oficial do NetBeans, h um grande boto escrito
Download NetBeans IDE 6.0.
Dando um clique neste boto, voc ir at a pgina de downloads da IDE.
OBSERVAO: Voc pode notar que existe ao lado do boto Download NetBeans
IDE 6.0 um cone de uma mdia CD/DVD escrito em seu rtulo Get Free DVD.
Caso voc queira, basta pedir o DVD pelo site que eles o enviaro sem custo
algum. O tempo necessrio para receb-lo depende de sua localizao.
ATENO: No momento em que este livro est sendo escrito, ainda no existe
disponvel uma verso traduzida em nosso idioma.
OBTENDO E INSTALANDO O NETBEANS IDE 6 5
OS PACOTES
Ao clicar no boto Download NetBeans IDE 6.0, voc ser levado rea de do-
wnload, contendo os diversos pacotes que a IDE atualmente oferece.
FIGURA 1.2 NETBEANS PACKS
Se voc for desenvolver para a Web, como o caso, selecione a opo Web &
Java EE para uma opo enxuta ou All para todas as solues.
Como pretendemos trabalhar tambm com Ruby on Rails, a opo All mais atra-
tiva, embora voc possa instalar os pacotes separadamente aps a instalao.
6 DESENVOLVENDO APLICAES WEB COM NETBEANS IDE 6
O PACOTE SEM INSTALADOR E O JDK REQUERIDO
Abaixo das opes mostradas anteriormente, voc tem o link para o NetBeans
compactado sem instalador (zip file format) e o link para o JDK requerido (down-
load the JDK here).
FIGURA 1.3 A OPO COMPACTADA SEM ASSISTENTE
Sem o assistente, voc tem uma listagem dos arquivos compactados no formato
.zip, onde o maior o All.
A INSTALAO
Este livro est baseado em um pacote independente da sua escolha, mas focado
no ambiente Web.
O servidor de aplicaes oficialmente suportado pelo NetBeans o GlassFish V2
e o container Web o Tomcat 6, ambos compatveis com a verso Java EE 5.
O JBoss possui suporte a EJB 3, tanto na verso 4 como na 5, mas que deve ser
instalado at o momento separadamente e incluso logo aps (veremos isso mais
adiante).
NO WINDOWS
A instalao do NetBeans tranqila, quando utilizamos assistente, como a maio-
ria dos programas existentes para este sistema operacional. Para o exemplo, a ins-
talao do pacote contendo todos os aplicativos ser usado (All). Assim que baixar
o programa (ou peg-lo no CD em anexo) d um duplo clique sobre o arquivo
que iniciar o processo de instalao.
OBTENDO E INSTALANDO O NETBEANS IDE 6 7
FIGURA 1.4 INICIO DO ASSISTENTE DE INSTALAO
No boto Customize, marque ou desmarque os itens que no deseja instalar.
Como o Tomcat 6 no est selecionado por padro, caso no o tenha em sua
mquina, selecione-o. Pacotes como C/C++ e Mobility so desnecessrios para
o nosso trabalho. Instale-os apenas se voc for usar. Cada pacote a mais implicar
em maior consumo de memria e portanto uma maior lentido em seu uso em
mquinas menos poderosas.
Confirme a customizao e clique logo aps no boto Next para prosseguir
segunda parte do assistente.
8 DESENVOLVENDO APLICAES WEB COM NETBEANS IDE 6
FIGURA 1.5 CUSTOMIZANDO A INSTALAO
No assistente de instalao, leia a licena se no a conhecer e aceite marcando a op-
o I accept the terms in the license agreement. Para prosseguir, clique em Next.
FIGURA 1.6 TERMOS DE LICENA
OBTENDO E INSTALANDO O NETBEANS IDE 6 9
Especifique um diretrio vazio dentro do qual ser instalado o NetBeans IDE. Esta
instalao da IDE no alterar as configuraes de outras instalaes do NetBeans,
caso voc as tenha. Isso ocorre porque a IDE cria automaticamente um novo dire-
trio de usurio quando aberto. Para modificar o local da instalao, no campo
Install the NetBeans IDE to digite ou clique no boto Browse e selecione.
FIGURA 1.7 DETERMINANDO O LOCAL DA INSTALAO E O JDK ENCONTRADO
Caso voc tenha mais de um JDK instalado em sua mquina, este aparecer em
uma lista, no qual voc dever escolher o compatvel com a IDE. No caso somente
poder ser as verses Java SE 5 ou 6. Clique no boto Next.
Na etapa seguinte voc define o local da instalao do GlassFish (Install GlassFish
to), o JDK e o usurio e senhas administrativas. Mais abaixo existe as portas para
rodar o GlassFish em sua mquina.
ATENO: Caso mantenha como est, observe que a senha padro adminadmin.
10 DESENVOLVENDO APLICAES WEB COM NETBEANS IDE 6
FIGURA 1.8 CONFIGURAO DO GLASSFISH V2
A senha do usurio administrativo ser guardada em um arquivo chamado .asa-
dminpass. Este arquivo se encontra no diretrio do usurio de seu sistema ope-
racional.
Se em sua instalao houver tambm o Tomcat, voc pode alterar o seu local de
instalao no campo Install Apache Tomcat to.
OBTENDO E INSTALANDO O NETBEANS IDE 6 11
FIGURA 1.9 DEFININDO O LOCAL DE INSTALAO PARA O TOMCAT 6
OBSERVAO: O servidor GlassFish e o container Tomcat no tero suas telas
apresentadas caso voc tenha optado por no instal-los.
Por fim, veja os itens que sero instalados e clique no boto Install.
12 DESENVOLVENDO APLICAES WEB COM NETBEANS IDE 6
FIGURA 1.10 CONFIRMAO PARA A INSTALAO
Aguarde a instalao at o boto Finish.
NO LINUX
A verso para Linux ligeiramente diferente do Windows. O arquivo vem em
formato binrio, com assistente tambm, o que facilita sua instalao.
Para iniciar o processo de instalao, v at o diretrio onde se encontra o arquivo
do qual baixou.
D a permisso necessria para que seja possvel a execuo do arquivo binrio:
shell# chmod +x netbeans-6.0-linux.sh
Vale lembrar que a verso descrita se trata da verso mais atual no momento em
que este livro est sendo escrito.
OBTENDO E INSTALANDO O NETBEANS IDE 6 13
Para iniciar a instalao, execute o comando como demonstrado:
shell# ./netbeans-6.0-linux.bin
FIGURA 1.11 INICIANDO A INSTALAO NO LINUX UBUNTU
As demais instrues so similares ao sistema operacional Windows.
A DESINSTALAO
DESINSTALANDO O NETBEANS NO WINDOWS XP
Para desinstalar a IDE no Windows, v ao menu Iniciar do sistema e selecione
o Painel de controle. D um duplo clique no cone Adicionar ou remover pro-
gramas.
Selecione o NetBeans IDE 6.0 na lista e clique em Remover.
Surgir o desinstalador do NetBeans. Basta confirmar manter selecionados os ser-
vidores adicionados IDE e clicar no boto Uninstall.
14 DESENVOLVENDO APLICAES WEB COM NETBEANS IDE 6
DESINSTALANDO O NETBEANS NO LINUX
Para desinstalar a IDE no Linux, v ao diretrio de instalao do NetBeans, geral-
mente netbeans-6.0, atravs do terminal. Digite a seqncia a seguir:
shell# ./uninstall.sh
O mesmo que ocorre com o Windows ocorrer com o Linux. Confirme no boto
Uninstall para remover a IDE.
CAPTULO 2
SERVIDORES DE APLICAES
E SERVLETS
Deste captulo em diante voc ser levado a compreender a IDE com relao ao
desenvolvimento de aplicaes escritas para a Web. O seu fundamento criando
e utilizando Servlets, trabalhar com os servidores de aplicaes Web para rodar
seus cdigos desenvolvidos, monitorar sua aplicao e aprender como distri-
buda para um servidor de produo.
Os tpicos apresentados neste captulo sero:
Criao de um novo projeto
Viso geral do NetBeans IDE
Explorando seu projeto
Desenvolvendo Servlets
Entendendo como funciona um Servlet
Servidores de Aplicaes Web
Monitorando transaes HTTP
Distribuindo sua aplicao em arquivos WAR
16 DESENVOLVENDO APLICAES WEB COM NETBEANS IDE 6
CRIANDO UM PROJETO
Como o livro est focado em desenvolvimento Web, o seu primeiro projeto ser
feito para construir aplicaes Web. Neste caso, mais especificamente para o de-
senvolvimento de um Servlet.
Servlets e JSP, assim como JavaServer Faces so tecnologias desenvolvidas pela Sun
Microsystems para a construo de aplicaes Web.
Para criar seu primeiro projeto Web, v ao menu File e clique em New Project.
Alternativamente, na janela Projects, voc pode dar um clique com o boto di-
reito do mouse e selecionar a opo New Project (Ctrl+Shift+N) no menu de
contexto.
FIGURA 2.1 SELECIONANDO A OPO NEW PROJECT
A caixa de dilogo New Project surgir. O desenvolvimento de projetos para
aplicaes Web se encontra na categoria (Categories) Web. Como a aplicao
trata-se de um desenvolvimento sem informaes anteriores, ou seja, limpo, voc
seleciona Web Application em Projects. Aps selecionar a opo em Projects
clique no boto Next.
SERVIDORES DE APLICAES E SERVLETS 17
FIGURA 2.2 SELEO DO ITEM WEB APPLICATION EM PROJECTS
Na segunda etapa do assistente, voc possui vrias opes para a construo do
seu projeto.
FIGURA 2.3 NOME E LOCALIZAO DO PROJETO
18 DESENVOLVENDO APLICAES WEB COM NETBEANS IDE 6
Em Project Name voc digita o nome do seu projeto. No caso do livro Des-
vComServlets.
Em Project Location o NetBeans coloca seus projetos geralmente no diretrio do
usurio do seu sistema operacional. Para mudar a localizao, clique no boto
Browse e selecione ou crie um novo diretrio para salvar seus projetos.
Perceba que o seu projeto gerar um novo diretrio, e este mostrado em Project
Folder.
FIGURA 2.4 DETALHE DO PASSO NAME AND LOCATION
Na parte inferior da caixa de dilogo voc tem como principais pontos o Servi-
dor, que pode ser selecionado em Server. Os servidores possuem caractersticas
prprias, embora, no geral, sejam parecidos em suas administraes, desde que
sigam rigorosamente regras impostas pela Sun Microsystems. Um exemplo de ser-
vidores que trabalhem com Java EE na verso 5 o Sun Java System Application
Server, GlassFish, Geronimo e etc.
FIGURA 2.5 DETALHE DO SERVIDOR, VERSO E CAMINHO DO CONTEXTO
SERVIDORES DE APLICAES E SERVLETS 19
Caso voc precise trabalhar com a verso 1.4, basta selecionar em Java EE Version
a opo J2EE 1.4.
FIGURA 2.6 SELEO DO JAVA EE VERSION INFERIOR A 5
Outra forma seria clicar no boto Add e adicionar um novo servidor (ou container)
para uma verso inferior a 5.
No caso do livro, vamos utilizar o GlassFish V2 como Server para o primeiro pro-
jeto. E com a verso de Java EE 5 selecionada em Java EE Version.
Em Context Path voc possui o nome do contexto de acesso ao projeto, o que na
realidade ser a sua aplicao.
Em caso de utilizar a verso J2EE 1.4, haver a opo Set Source Level to ..., onde
voc possui o nvel dos arquivos desenvolvidos no projeto. Em alguns casos (prin-
cipalmente no uso de annotations) voc deve desmarcar esta opo.
A opo Set as Main Project indica qual o projeto que ser compilado toda vez
que voc mandar rodar para exibir no browser.
A terceira etapa seria para a seleo de um framework, no qual veremos mais
adiante. Para o momento, apenas clique no boto Finish para completar as con-
figuraes e criar o projeto.
20 DESENVOLVENDO APLICAES WEB COM NETBEANS IDE 6
VISO GERAL DO NETBEANS IDE
O NetBeans possui muitos menus, ferramentas e janelas que o auxiliam no de-
senvolvimento de uma aplicao Web. A seguir a Figura 2.7 que demonstra os
principais componentes que existem na IDE quando voc cria um projeto.
FIGURA 2.7 CARACTERSTICAS GERAIS DO NETBEANS IDE 6.0
BARRA DE TTULO: A barra de ttulo sempre exibe o nome do projeto.
BARRA DE MENUS: Esta a barra de menu global, que lhe permite fazer todas
as tarefas gerais. As opes disponveis em cada menu tambm mudaro de-
pendendo do que estiver selecionado.
BARRA DE FERRAMENTAS: Esta a barra de ferramentas global da IDE que tam-
bm lhe permite executar tarefas gerais e tarefas especficas para itens selecio-
nados.
BARRA DE STATUS: Esta linha exibe tipicamente informaes que dependem da
tarefa voc est executando atualmente.
SOURCE EDITOR: exatamente o que o seu nome diz: um painel para editar
documentos. Aqui voc escreve seus cdigos Java.
JANELAS: Mostram grupos de objetos relacionados, propriedades, componen-
tes e at mesmo a sada da execuo de um cdigo Java.
SERVIDORES DE APLICAES E SERVLETS 21
EXPLORANDO SEU PROJETO
A janela Projects ser com certeza a que voc mais vai utilizar, aps o Source
Editor.
Nesta janela voc possui diversos atalhos, com o menu de contexto, que podem
ser muito teis, passando desde a execuo de um projeto como at mesmo adi-
cionar novas bibliotecas, criar novos arquivos, alterar seus nomes e etc.
Na construo de uma aplicao Web, voc possui diversos elementos. Estes ele-
mentos esto dispostos em forma de diretrios que podem ser expandidos clican-
do em seus ns. O diretrio Web Pages representa o diretrio principal (raiz) de
uma aplicao Web normal. Dentro deste n voc encontra o diretrio WEB-INF,
que contm o arquivo obrigatrio web.xml, conhecido como deployment des-
criptor.
Junto a este diretrio, h tambm um arquivo inicial, chamado de index.jsp, que
aberto inicialmente assim que concludo o projeto. Veremos isto mais adiante.
Expandindo o n de Configuration Files voc encontra os arquivos MANIFEST.
MF, sun-web.xml e web.xml. Evidentemente pode haver mais arquivos, pois nes-
te diretrio se encontram todos os arquivos referentes configurao da aplicao
Web que voc est desenvolvendo.
Em Source Packages voc encontra pacotes e classes Java e Servlets, criados no
processo de desenvolvimento da sua aplicao.
Para testes unitrios voc tem Test Packages.
As bibliotecas utilizadas no seu projeto se encontram em Libraries. Em Test Libra-
ries voc adiciona as bibliotecas necessrias para criar os testes necessrios para a
sua aplicao (por padro, j esto contidas as bibliotecas do JUnit 3.8.2 e 4.1).
22 DESENVOLVENDO APLICAES WEB COM NETBEANS IDE 6
FIGURA 2.8 DIRETRIOS EXPANDIDOS DO PROJETO NA JANELA PROJECTS
Esta estrutura utiliza o padro Java BluePrints.
No caso de uma aplicao criada para trabalhar com o Tomcat, por exemplo, o
padro Jakarta entra em ao.
A Apache Jakarta fornece diretrizes de como estruturar suas aplicaes Web para
assegurar que elas trabalhem corretamente com o servidor Tomcat. Quando voc
cria um projeto na IDE e seleciona o Tomcat, esta estrutura respeitada.
A seguir voc tem a imagem da janela Projects com a estrutura de sua aplicao
utilizando a Apache Jakarta para um projeto com o container Servlet Tomcat 6:
SERVIDORES DE APLICAES E SERVLETS 23
FIGURA 2.9 ESTRUTURA DO PROJETO UTILIZADO PELO TOMCAT
Clicando na janela Files, ao lado de Projects, voc v a estrutura do seu projeto
como se encontra no sistema operacional.
FIGURA 2.10 ARQUIVOS ENCONTRADOS EM UM PROJETO NO NETBEANS IDE 6.0
24 DESENVOLVENDO APLICAES WEB COM NETBEANS IDE 6
A Tabela 2.1 a seguir compara a estrutura de um projeto Web criado no NetBeans
e a estrutura real da aplicao no GlassFish ou Tomcat.
TABELA 2.1 COMPARAO DA APLICAO REAL VERSUS NO NETBEANS
CONTEDO REPRESENTAO NA JANELA
PROJECTS
REPRESENTAO NA JANELA
FILES
NO ARQUIVO WAR
Pginas Web N Web Pages Diretrio web Na raiz do arquivo
Arquivos Java no com-
pilados, servlets, entre
outros
N Source Packages Diretrio src Diretrio classes dentro
de WEB-INF
testes unitrios N Test Packages Diretrio test N/A
deployment descriptor
(web.xml)
N Configuration Files Diretrio WEB-INF em
web
Diretrio WEB-INF
GlassFish(sun-web.xml) N Configuration Files Diretrio WEB-INF em
web
Diretrio WEB-INF
Arquivo de configura-
o do Tomcat e Glas-
sFish V2 ou superior
(context configuration)
(context.xml)
N Configuration Files Diretrio META-INF em
web
Diretrio META-INF
Bibliotecas N Libraries Diretrio lib em web/
WEB-INF
Diretrio WEB-INF/lib
Testes N Test Libraries Diretrio test N/A
Metadata do projeto in-
cluindo script build
Propriedade do proje-
to na caixa de dilogo
Project Properties, que
pode ser aberta com
um clique com o di-
reito do mouse sobre
o projeto, selecionando
a opo Properties no
menu de contexto.
ATENO: Nem todos os itens apresentados na Tabela 2.1 aparecem em um
projeto utilizando o Application Server GlassFish.
SERVIDORES DE APLICAES E SERVLETS 25
DESENVOLVENDO SERVLETS
Como voc pde ver, o NetBeans criou na concluso do projeto, um arquivo JSP
(JavaServer Pages).
O que voc vai fazer agora um Servlet, que receber de um formulrio vindo
deste arquivo criado na concluso do projeto, para imprimir um determinado
valor, que no seu caso, ser seu nome.
V ao menu File e clique em New File. Alternativamente voc pode clicar com o
direito do mouse e selecionar, no menu de contexto, em New, o item em Servlet.
Caso Servlet no esteja aparecendo, clique em New File. O atalho para um novo
arquivo Ctrl + N.
Na caixa de dilogo New File selecione em Categories o item Web e em File
Types o item Servlet. Clique no boto Next para prosseguir.
FIGURA 2.11 CRIANDO UM SERVLET
26 DESENVOLVENDO APLICAES WEB COM NETBEANS IDE 6
Na segunda etapa do assistente, em New Servlet, digite MeuPrimeiroServlet em
Class Name. Toda classe Java, assim como Servlets, devem ter um pacote. Como
voc ainda no fez nenhum pacote, digite em Package o nome do seu pacote.
Caso queira seguir o livro, seria br.com.integrator. Perceba que o assistente lhe
mostra a localizao da classe Servlet que ser gerada, em Source Packages, bem
como onde ser criado, em Created File. Clique no boto Next para a terceira e
ltima etapa deste assistente.
FIGURA 2.12 DEFININDO UM NOME E UM PACOTE PARA O SERVLET
Na ltima etapa, mantenha como est. Esta etapa existe para que voc possa con-
figurar o caminho do seu Servlet na chamada pela URL atravs de URL Pattern(s).
Se voc possui alguma experincia com aplicaes Web construdas em Java, sabe
que isto pode ser mudado, assim como o seu Name. Estas informaes devero
ser gravadas no deployment descriptor (Add information to deployment des-
criptor), portanto, mantenha esta opo selecionada. Clique no boto Finish para
completar o assistente.
SERVIDORES DE APLICAES E SERVLETS 27
FIGURA 2.13 LTIMA ETAPA PARA A CRIAO DO SERVLET
Perceba que o NetBeans criou para voc um arquivo, baseado em seu template,
com parte do desenvolvimento de um Servlet.
Vamos alter-lo para que voc o veja funcionando e ento explicarei melhor como
tudo funciona.
No Servlet pr-construdo, altere como mostrado na Listagem 2.1 a seguir, em
destaque:
LISTAGEM 2.1 CDIGO DO ARQUIVO MEUPRIMEIROSERVLET.JAVA
<ui:define name=titulo>
Autores Cadastrados
</ui:define>
<ui:define name=conteudo>
<div id=autores>
<h:dataTable value=#{autorC.todos}
JAVASERVER FACES 255
</f:facet>
<h:outputText
value=#{item.nascimento}>
<f:convertDateTime pattern=dd/MM/yyyy />
</h:outputText>
</h:column>
<h:column>
<f:facet name=header>
<h:outputText value=Excluir Autor/>
</f:facet>
<h:commandLink
action=#{autorC.excluir}
value=Excluir/>
</h:column>
</h:dataTable>
</div>
</ui:define>