Você está na página 1de 50

Dcio Heinzelmann Luckow

Alexandre Altair de Melo


Programao Java
para a Web
Novatec
Copyright 2010 da Novatec Editora Ltda.
Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998.
proibida a reproduo desta obra, mesmo parcial, por qualquer processo, sem prvia autorizao,
por escrito, do autor e da Editora.
Editor: Rubens Prates
Capa: Victor Bittow
Reviso gramatical: Lia Gabriele Regius
Editorao eletrnica: Camila Kuwabata
ISBN: 978-85-7522-238-6
Histrico de impresses:
Outubro/2010 Primeira edio
Novatec Editora Ltda.
Rua Lus Antnio dos Santos 110
02460-000 So Paulo, SP Brasil
Tel.: +55 11 2959-6529
Fax: +55 11 2950-8869
E-mail: novatec@novatec.com.br
Site: www.novatec.com.br
Twitter: twitter.com/novateceditora
Facebook: facebook.com/novatec
LinkedIn: linkedin.com/in/novatec
Dados Internacionais de Catalogao na Publicao (CIP)
(Cmara Brasileira do Livro, SP, Brasil)
Luckow, Dcio Heinzelmann
Programao Java para a Web / Dcio Heinzelmann
Luckow e Alexandre Altair de Melo. -- So
Paulo : Novatec Editora, 2010.
Bibliografia.
ISBN 978-85-7522-238-6
1. Internet (Rede de computadores) 2. Java
(Linguagem de programao para computadores) 3.
Web sites I. Melo, Alexandre Altair de. II.
Ttulo.
10-08728 CDD-005.133
ndices para catlogo sistemtico:
1. Java : Linguagem de programao :
Computadores : Processamento de dados
005.133
CRM20100922
24
CAPTULO 1
Preparao do ambiente de desenvolvimento
Este captulo tem como objetivo conduzir o leitor na montagem de um ambiente de
desenvolvimento de um aplicativo web usando Java, Apache Tomcat, Eclipse e MySQL.
Descreveremos como realizar a instalao e congurao do ambiente, bem como
explicaremos o uso de cada uma dessas ferramentas. Ao nal do captulo teremos
um miniaplicativo de teste executando nesse ambiente e voc j estar preparado
para iniciar o projeto do aplicativo nanceiro pessoal, que ser o projeto mostrado
ao longo do livro.
1.1 Seleo das ferramentas
Os critrios que mais contriburam para selecionar as ferramentas que utilizaremos
ao longo do livro so simples: popularidade e experincia. Alm das ferramentas se-
lecionadas estarem entre as mais populares, elas fazem parte do dia-a-dia dos autores.
Isso com certeza possibilita criar um texto ao mesmo tempo tcnico e composto de
dicas, que so baseadas na experincia adquirida pelo uso de tais ferramentas.
Comentar sobre a escolha de quais ferramentas empregar em um projeto de software
envolve vrios aspectos. Entretanto, um ponto que sempre deve ser levado em conside-
rao o envolvimento da comunidade de desenvolvedores em determinado projeto.
Nisso o Java tem um dos seus pontos fortes, pois alm de instituies privadas que
criam IDEs, por exemplo, existe uma comunidade muito forte e atuante nos proje-
tos criados para a plataforma. As ferramentas Eclipse, Apache Tomcat e MySQL so
exemplos que tm comunidades altamente atuantes, que muito contribuem para
sua evoluo.
Alm disso, se voc desenvolver seu projeto usando o Apache Tomcat e o MySQL,
encontrar com mais facilidade algum servio de hospedagem que tenha exatamente
essa congurao. No basta ter uma excelente ideia de um novo produto para a inter-
net e execut-lo somente em seu computador domstico. preciso pensar no futuro:
seu produto pode ser o prximo a ser comprado por alguns milhes de dlares por
alguma megaempresa da internet!
25
Captulo 1

Preparao do ambiente de desenvolvimento
Se voc ainda no est pensando to alto e quer mesmo explorar tudo o que a comu-
nidade Java oferece, existem outras ferramentas interessantes que voc poder adotar
em projetos futuros. Novas ferramentas surgem a cada dia, e isso o combustvel
que faz a evoluo constante da comunidade Java. Apesar de j termos denidas as
ferramentas principais que utilizaremos neste livro, vamos listar a seguir algumas
alternativas interessantes que voc poder explorar posteriormente.
IDE Descrio
NetBeans Ferramenta de desenvolvimento Java ocial da Sun (www.netbeans.org).
JDeveloper Ferramenta de desenvolvimento Java ocial da Oracle (www.oracle.
com/technology/jdev).
Banco de dados Descrio
HypersonicSQL Banco de dados 100% Java. Tem vrios modos de execuo, entre eles,
Standalone, que permite a utilizao do banco de dados sem precisar
de instalao, diretamente a partir do do JAR (http://hsqldb.org/).
Apache Derby Segue a mesma linha do HSQL e foi recentemente incorporado distri-
buio do Java, sendo chamado de JavaDB. Pode ser utilizado para execuo
em dispositivos mveis, como celulares (http://developers.sun.com/javadb/).
PostgreSQL Forte concorrente do MySQL (www.postgresql.org/).
Servidor web Java
Jetty Servidor web Java concorrente do Apache Tomcat (http://www.mortbay.
org/jetty/).
JBossWeb Servidor web Java, uma verso personalizada do Apache Tomcat, pela
JBoss (http://jboss.org/jbossweb).
A seguir, vamos instalar e congurar cada uma das ferramentas que compem nosso
ambiente de desenvolvimento.
1.2 Linguagem Java
A linguagem Java comeou a surgir em 1991 na Sun Microsystems. Inicialmente era
parte de outro projeto, chamado Green Project, que tinha como objetivo possibilitar
a convergncia entre computador, equipamentos eletrnicos e eletrodomsticos.
Na poca a linguagem era chamada de Oak (em portugus, carvalho), pois era essa
rvore que James Gosling avistava da janela da sede do projeto.
O resultado do projeto foi um controle remoto chamado *7 (StarSeven), que tinha
uma interface grca sensvel ao toque e era capaz de interagir com diversos equipa-
mentos. A linguagem Oak, na poca, surgiu justamente para controlar internamente
esse equipamento.
Programao Java para a Web
26
O controle remoto em si no vingou: ele estava muito a frente de seu tempo. Na
poca, as empresas de TV a cabo e vdeo por demanda no tinham condies de
viabilizar o negcio.
Depois disso, James Gosling foi encarregado de adaptar a linguagem Oak para a
internet, surgindo em 1995, assim, a plataforma Java.
Umas das principais diferenas entre a plataforma Java e as demais linguagens exis-
tentes na poca que o Java executado sobre uma JVM, ou Java Virtual Machine.
Qualquer plataforma de hardware ou equipamento eletrnico que possa executar
uma mquina virtual conseguir executar Java. Isso justica o slogan write once,
run anywhere, ou, em portugus, escreva uma vez, rode em qualquer lugar.
1.2.1 Instalao do Java
A verso do Java a ser instalada pode ser qualquer uma a partir da 5. No momento
em que este livro estava sendo escrito a verso mais recente era Java 6. O arquivo
para instalao do Java pode ser obtido em http://java.sun.com, acionando a opo
Java SE no menu Downloads, ou diretamente em http://java.sun.com/javase/downloads/.
Nessas pginas sero listados todos os tipos de pacotes de instalao do Java dispo-
nveis. As duas principais verses disponveis so Java SE (ou JRE) e JDK, conforme a
gura 1.1. O pacote JRE (sigla de Java Runtime Environment) o pacote mnimo neces-
srio para a execuo de aplicativos Java. J o pacote JDK (sigla de Java Development
Kit) o pacote necessrio para o desenvolvimento de aplicativos Java.
Figura 1.1 Opo de pacotes para instalao do Java.
27
Captulo 1

Preparao do ambiente de desenvolvimento
Em nosso caso necessrio obter o pacote JDK (que tambm inclui o JRE). Dessa
forma, clique em Download na opo JDK 6 Update X. Na pgina seguinte, selecione
o ambiente (sistema operacional) de destino da instalao do pacote e a opo de
idioma. Prossiga o download conforme as instrues do site.
1.2.1.1 Instalao no Windows
Depois de realizado o download, acione o arquivo obtido e a instalao se iniciar.
Na primeira tela exibida, que contm os termos da licena de uso do Java, clique
em Accept. A tela seguinte permite congurar as opes que sero instaladas, confor-
me a gura 1.2. Mantenha todas as opes. Voc pode perceber a presena dos itens
Development Tools, Demos and Samples e Source Code, que so especicamente para o desen-
volvimento de aplicativos Java. O item Public JRE a instalao do Java Runtime
Environment que j havamos comentado e ser instalado junto com o Java JDK. O
ltimo item, Java DB, o projeto Apache Derby, o banco de dados que comentamos
ter sido incorporado distribuio do Java. Se preferir, mude o local de instalao
do Java, mas recomendamos manter o padro.
Figura 1.2 Itens do Java a serem instalados.
Na tela seguinte, a instalao se iniciar, exibindo uma barra com o progresso da
instalao. Depois de concluda essa etapa o instalador perguntar se voc deseja
instalar a JRE (que foi marcada como opo da gura 1.2). Aceite a instalao e siga
todos os passos mantendo o padro.
Programao Java para a Web
28
Confgurao
Essa etapa da congurao s ser necessria caso tenhamos que executar o Java por
linha de comando. A princpio isso no obrigatrio, pois utilizaremos a ferramenta
Eclipse para fazer o desenvolvimento Java. Porm, interessante manter essa con-
gurao para uma necessidade futura.
No Windows, clique em Iniciar

Painel de Controle

Sistema. Clique na guia Avanado e no


boto Variveis de Ambiente, conforme a gura 1.3.
Figura 1.3 Tela de acesso s variveis de ambiente.
A tela seguinte (Figura 1.4) exibe as variveis de ambiente do Windows. Agora vamos
criar a varivel que dene o local de instalao do Java, que utilizada por muitos
outros programas que precisam saber onde o Java se encontra, inclusive o Apache
Tomcat. Na regio de Variveis do Sistema, clique em Nova e preencha os campos com o
nome JAVA_HOME e valor com o caminho em que o Java foi instalado (na verso utilizada
no livro, C:\Arquivos de programas\Java\jdk1.6.0_18).
Agora temos que alterar a varivel Path para conter o caminho para os programas
executveis do Java. Na tela da gura 1.4, selecione a varivel Path e clique em Editar.
V at o campo Valor da Varivel e adicione um ; (ponto e vrgula) no nal da linha (se
j no houver). Acrescente o texto %JAVA_HOME%\bin;.
29
Captulo 1

Preparao do ambiente de desenvolvimento
Figura 1.4 Tela de manuteno das variveis de ambiente.
A varivel PATH serve para que os programas possam ser executados por linha de comando
(DOS) em qualquer diretrio, e no apenas naquele em que se encontra. Por isso o caminho
defnido nessa varivel aponta para o \bin do JAVA_HOME, que onde os executveis do Java
se encontram.
Para testarmos a instalao do Java, abra um Prompt de Comando (Iniciar

Programas


Acessrios

Prompt de Comando) e digite java version. Esse comando exibir a verso atual
instalada do Java, conforme a gura 1.5, indicando o sucesso da instalao.
Figura 1.5 Teste da instalao do Java.
1.2.1.2 Instalao no Linux
Para o processo de instalao em Linux (em nosso caso utilizamos a distribuio
Ubuntu), existem duas maneiras de proceder: no Linux Debian/Ubuntu, via apt-get,
ou pela maneira tradicional, executando o arquivo de instalao obtido do site da Sun.
Programao Java para a Web
30
Instalao via apt-get
A apt-get o gerenciador de pacotes usado no Linux Debian e em todas as suas verses
derivadas, como Ubuntu ou Kurumin. Se seu Linux Debian/Ubuntu tem acesso
internet, execute os comandos em um terminal:
sudo apt-get update
sudo apt-get install sun-java6-jdk
O primeiro far uma atualizao da lista dos pacotes disponveis para instalao
e o segundo far o download e a instalao do Java 6 JDK. Quando o download
terminar, a instalao comear automaticamente. Porm, antes disso o apt-get ir
informar quanto de espao em disco ser necessrio para a instalao e perguntar se
voc deseja continuar. Responda pergunta positivamente, como mostra a gura 1.6.
Figura 1.6 Aceitao do incio da instalao do Java 6 JDK.
O prximo passo ser ler e aceitar o contrato de instalao, conforme as guras 1.7
e 1.8. Para aceitar o contrato, tecle TAB para selecionar o boto Ok e pressione ENTER.
Depois de terminado o processo de instalao, o Java j est pronto para uso. Para
garantir o sucesso da instalao execute o comando java version no prompt de
comando, conforme a gura 1.9. Devero aparecer trs linhas com informaes da
verso instalada.
Caso seja necessrio, poder ser utilizado o seguinte comando para desinstalar o
Java6, usando tambm o apt-get:
sudo apt-get autoremove sun-java6-jdk
A instalao do sun-java6-jdk compreende trs subpacotes, que so sun-java6-bin, sun-
java6-jdk e sun-java6-jre. A utilizao do comando autoremove garante a remoo dos
31
Captulo 1

Preparao do ambiente de desenvolvimento
trs subpacotes e, se voc utilizar o comando remove, apenas o pacote declarado no
comando ser removido.
Figura 1.7 Tela de leitura do contrato de instalao do Java 6 JDK.
Figura 1.8 Tela de aceitao do contrato de instalao do Java 6 JDK.
Figura 1.9 Teste da instalao.
Programao Java para a Web
32
Instalao tradicional
Para a instalao em Linux preciso selecionar a plataforma Linux correspondente
no site de download do Java (http://java.sun.com/javase/downloads/). Na pgina seguin-
te, clique sobre o nome do arquivo para realizar o download e o salve em /usr/java
(sugesto). Em nosso caso, o arquivo o jdk-6u18-linux-i586.bin, conforme a gura 1.10.
Observe que no estamos obtendo o arquivo RPM, mas o binrio simples.
Figura 1.10 Obteno o arquivo para instalao do Java no Linux.
Depois de realizado o download, abra o terminal e se posicione na pasta na qual voc
direcionou o download do arquivo. Para iniciar a instalao, execute o seguinte comando.
./jdk-6u18-linux-i586.bin
Se voc fez o download no Linux usando o Firefox, provavelmente o arquivo foi salvo na pasta
/home/<usuario>/Desktop. Via console, faa a cpia do arquivo para a pasta /usr/java
usando o comando cp /home/<usuario>/Desktop/jdk*.bin /usr/java.
Assim que a instalao iniciar, deve ser feita a leitura e aceitao do contrato de
instalao. Pressione ENTER at que todo o texto seja percorrido (ou pressione q para
ir at o nal) e digite yes para continuar.
Terminada a instalao, o programa sugere que voc se registre no site da Sun (op-
cional). Basta pressionar ENTER para nalizar a instalao.
33
Captulo 1

Preparao do ambiente de desenvolvimento
Confgurao
Caso voc tenha feito a instalao tradicional necessrio congurar o Java. Con-
tinuando na pasta /usr/java, observe que foi criada a pasta jdk<verso>. Em nosso
caso, jdk1.6.0_18, de modo que o diretrio de instalao do Java cou como /usr/java/
jdk1.6.0_18.
Agora ser necessrio congurar o Java. Para isso, edite o arquivo /etc/profle e adicione
as novas variveis de ambiente com o seguinte contedo no nal do arquivo:
export JAVA_HOME=/usr/java/jdk1.6.0_18
export CLASSPATH=.:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
Para editar o arquivo /etc/profle no Linux voc pode utilizar qualquer editor de texto. O mais
utilizado o vi ou o editor visual gedit.
vi /etc/profle ou gedit /etc/profle
Depois de salvar, abra um novo terminal e digite java version para testar o funciona-
mento do Java. O resultado dever ser semelhante ao exemplo a seguir.
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode, sharing)
Se seu sistema no exibir um contedo semelhante a esse, reinicie o sistema operacional
para forar a aceitao das novas variveis de ambiente.
1.3 Apache Tomcat
O Apache Tomcat um continer Java e um servidor web ao mesmo tempo. Ele su-
porta a execuo das tecnologias Java Servlet e JavaServer Pages (JSP), o que permite
que o Java funcione para um ambiente web.
Embora o Apache Tomcat seja robusto o suciente para ser utilizado em ambiente
de produo, ele permite integrao com servidores como Apache HTTP e IIS da
Microsoft, para fornecer uma capacidade ainda maior de trabalho.
Utilizaremos o Apache Tomcat verso 6 para este livro, pois ele implementa as espe-
cicaes Servlet 2.5 e JSP 2.1 necessrias ao funcionamento do JavaServer Faces a
partir da verso 1.2.
Programao Java para a Web
34
1.3.1 Instalao do Tomcat
O primeiro passo para instalar o Apache Tomcat obter o pacote de instalao do site
http://tomcat.apache.org/. Acesse o link Tomcat 6.x no menu Downloads e voc ser dire-
cionado para a pgina http://tomcat.apache.org/download-60.cgi. A pgina apresentar
sempre a ltima verso liberada para download do Apache Tomcat. Voc deve fazer o
download do pacote em Binary Distributions\Core, conforme a gura 1.11, sendo que voc
deve escolher o pacote ZIP para Windows e o TAR.GZ para Linux.
Para a instalao em Linux at poderia ser utilizado o pacote ZIP, porm, a desvantagem dele
que o arquivo ZIP, quando extrado, no traz as permisses dos arquivos. Dessa forma voc
teria que aplicar manualmente as permisses de execuo nos arquivos de script.
Nessa pgina existe tambm a opo do pacote Windows Service Installer, que permite a
instalao do Tomcat por meio de um assistente no Windows. No caso, optaremos
pelo pacote ZIP, pois no Windows s necessrio descompact-lo.
No Linux e em modo texto voc pode usar o comando wget para fazer o download de qualquer
arquivo da internet. No caso do download do Apache Tomcat, voc pode executar o seguinte
comando:
wget http://caminho/para.o/arquivo.tar.gz
Para garantir a existncia desse endereo, o melhor copiar a URL de download do arquivo
no site e utilizar o wget para fazer o download.
Figura 1.11 Obteno do pacote de instalao do Apache Tomcat.
35
Captulo 1

Preparao do ambiente de desenvolvimento
1.3.1.1 Instalao no Windows
Depois de descompactar o arquivo no disco, a estrutura de pasta deve se parecer
com a da gura 1.12.
Figura 1.12 Estrutura de pastas da instalao do Apache Tomcat.
Na instalao do Apache Tomcat obrigatrio denirmos uma nova varivel de am-
biente. Para isso, crie a varivel CATALINA_HOME tendo como valor o caminho de instalao
do Tomcat, no caso, C:\apache-tomcat-6.0.26. Agora voc pode fazer um teste para se
certicar de que a instalao ocorreu normalmente. Entre na pasta bin do diretrio de
instalao do Tomcat e execute o arquivo startup.bat: o resultado da execuo dever
se parecer com o da gura 1.13.
Figura 1.13 Console do Apache Tomcat, depois de ser inicializado com sucesso.
Abra seu navegador e digite http://localhost:8080. Dever aparecer uma pgina como
a da gura 1.14.
Programao Java para a Web
36
Figura 1.14 Pgina inicial padro do Apache Tomcat.
Para desligar o servidor, execute o arquivo shutdown.bat.
1.3.1.2 Instalao no Linux
A instalao em Linux poder ser feita da forma tradicional, por arquivo tar.gz ou
via apt-get.
Instalao via apt-get
Estes comandos do apt-get instalaro a verso 6.0 do Apache Tomcat, seus aplicativos
administrativos e a documentao:
shell> sudo apt-get update
shell> sudo apt-get install tomcat6
shell> sudo apt-get install tomcat6-admin
shell> sudo apt-get install tomcat6-docs
shell> sudo apt-get install tomcat6-examples
Para iniciar o Apache Tomcat 6 execute:
shell> /etc/init.d/./tomcat6 start
Para nalizar o Apache Tomcat 6 execute:
shell> /etc/init.d/./tomcat6 stop
Nesse modo de instalao, a varivel de ambiente padro do Apache Tomcat ca com
os valores seguintes. Essas variveis de ambiente j foram conguradas na instalao
via apt-get, sendo mostradas aqui apenas para conhecimento.
CATALINA_HOME=/usr/share/tomcat6
CATALINA_BASE=/var/lib/tomcat6
37
Captulo 1

Preparao do ambiente de desenvolvimento
Esse tipo de instalao utiliza no apenas a varivel CATALINA_HOME, mas tambm CATALINA_
BASE. CATALINA_HOME aponta para o local de instalao do Apache Tomcat. J CATALINA_BASE
aponta para o local dos arquivos especcos de uma instncia do Apache Tomcat,
nesse caso, os aplicativos, bibliotecas, arquivos de congurao e temporrios.
Instalao tradicional
Uma das vantagens de utilizar a instalao tradicional que os arquivos cam todos em
um nico lugar, tornando mais simples sua manipulao no Apache Tomcat. Dessa
forma, a varivel CATALINA_BASE nem necessria.
Depois de realizar o download do arquivo, copie-o para a pasta /usr/java e, utilizando
o comando tar, extraia o arquivo nesse diretrio, conforme a seguir.
tar xvfz apache-tomcat-6.0.26.tar.gz
Se voc fez o download no Linux usando o Firefox, provavelmente o arquivo foi salvo na pasta
/home/<usuario>/Desktop. Via console, faa a cpia do arquivo para a pasta /usr/java usando
o comando cp /home/<usuario>/Desktop/apache-*tar.gz /usr/java.
Esse comando gera uma pasta apache-tomcat-6.0.26 com o contedo da instalao do
Apache Tomcat. Observe que, no Linux, estamos adotando a pasta /usr/java como
padro para todas as instalaes de ferramentas Java.
Tambm obrigatrio denir uma nova varivel de ambiente CATALINA_HOME. Para isso
edite novamente o arquivo /etc/profle para adicionar a linha seguinte no nal do
arquivo. A varivel indica o local de instalao do Apache Tomcat:
export CATALINA_HOME=/usr/java/apache-tomcat-6.0.26
Para iniciar ou nalizar o Apache Tomcat 6 execute os seguintes comando a partir
da pasta CATALINA_HOME\bin.
shell> sh startup.sh
e
shell> sh shutdown.sh
A execuo do startup.sh vai gerar uma sada, conforme a gura 1.15.
Figura 1.15 Terminal aps inicializao com sucesso do Apache Tomcat.
Programao Java para a Web
38
Teste da instalao
Depois de inicializar o Apache Tomcat conforme o tipo de instalao, abra seu na-
vegador e digite http://localhost:8080. Dever aparecer uma pgina como a da gura
1.16. No caso da instalao via apt-get, essa pgina poder ser um pouco diferente,
mas tambm trar informaes sobre o Apache Tomcat.
Figura 1.16 Pgina inicial padro do Apache Tomcat.
1.3.2 Confgurao e gerenciamento
Neste tpico vamos passar algumas dicas de congurao e gerenciamento do Tomcat.
1.3.2.1 Alterao das portas padro do Tomcat
Por padro, o Tomcat vem com algumas portas conguradas. Como foi possvel ob-
servar no tpico anterior, entramos no endereo http://localhost:8080. Isso quer dizer
que a porta HTTP padro do Tomcat a 8080. Veja na tabela a seguir quais so as
portas padro do Tomcat. Essa informao importante, pois as portas podem entrar
em conito com alguma que voc j esteja utilizando: pode ser um jogo em rede, um
aplicativo ou outro servidor que j esteja em funcionamento
Porta Descrio do servio
8080 Servio de HTTP
8005 Servio de shutdown
8009 Conector AJP/1.3
8443 Porta de HTTPS
39
Captulo 1

Preparao do ambiente de desenvolvimento
O primeiro indicativo de que voc est tendo problemas com a numerao de portas
do Tomcat se a pgina principal acessada por http://localhost:8080 no abre. Para
conrmar o problema, o melhor a ser feito abrir o arquivo de log do Tomcat, lo-
calizado no diretrio CATALINA_HOME\logs. Localize o arquivo mais recente com o nome
catalina.AAAA-MM-DD.log (Exemplo: catalina.2008-10-04.log). Localizar nesse arquivo o texto
a seguir um indicativo que ser necessrio alterar algumas portas.
java.net.BindException: Address already in use: JVM_Bind
Para substituir essas portas basta alterar o arquivo CATALINA_HOME\conf\server.xml, localizar
no arquivo o nmero correspondente porta em questo e fazer a alterao. Esses n-
meros podem aparecem em vrios locais ao mesmo tempo. Tome o cuidado para que
nesse arquivo alguns desses nmeros de portas apaream dentro de comentrios. Isso
pode causar alguma confuso, e a alterao pode ocorrer em um lugar que no ter efeito.
1.3.2.2 Alterao do timeout da sesso
Em aplicativos web Java, a sesso uma rea de memria disponvel ao usurio. Essa
rea de utilizada pelos aplicativos para guardar informaes entre as vrias requisi-
es de pginas realizadas. O problema que o servidor web s sabe que o usurio
existe quando ele acessa alguma pgina: ele no sabe se o usurio continua vendo o
mesmo site ou se j fechou o navegador ou at desligou o computador.
Para que essa rea de memria no que eternamente disponvel ao usurio de-
terminado um tempo de vida para ela. Esse tempo de vida denominado session
timeout e congurvel no arquivo CATALINA_HOME\conf\web.xml. O valor informado
corresponde quantidade de minutos pela qual o servidor manter a sesso ativa,
sem qualquer novo acesso do usurio. Para congurar o timeout da sesso, localize
o texto a seguir no arquivo web.xml e altere-o para o valor desejado.
<session-confg>
<session-timeout>30</session-timeout>
</session-confg>
Lembramos que valores muito altos podem prejudicar o servidor, pois ele poder estar
consumindo uma quantidade de memria desnecessria por um tempo muito grande.
1.3.2.3 Uso do Manager do Tomcat
O Manager o aplicativo do Tomcat que permite gerenciar os aplicativos instalados,
sendo acessvel pelo endereo http://localhost:8080/manager/HTML. Permite realizar
as seguintes operaes remotamente com os aplicativos:

Start Inicia

Stop Finaliza
Programao Java para a Web
40

Reload Reinicia

Undeploy Desinstala
Alm disso, permite provocar um timeout em todas as sesses para cada aplicativo
para um tempo de vida determinado pelo acionamento do boto Expire Sessions. Esse
um recurso muito interessante para forar a liberao de memria em servidor de
produo. Na gura 1.17 voc pode observar a tela do manager.
Figura 1.17 Tela principal do Tomcat Manager.
Abaixo da relao dos aplicativos, existem mais duas reas nas quais possvel fazer
a instalao remota de aplicativos Java e visualizar as informaes do servidor. Existe
tambm o link Server Status, que permite visualizar todos os processos em execuo no
servidor que esto atendendo a requisies de usurios. Isso pode ser muito til caso
voc esteja tendo algum problema de desempenho no aplicativo. No link possvel
identicar se existe algum processo muito pesado em execuo, por quanto tempo e
qual IP fez a requisio.
Porm, por padro a instalao do Tomcat no dene qualquer usurio com permisso
de acesso ao aplicativo manager, por questes de segurana. Para incluir um usurio
com acesso ao aplicativo de gerenciamento voc deve alterar o arquivo CATALINA_HOME\
conf\tomcat-users.xml. possvel que ele esteja totalmente vazio, de modo que voc deve
incluir duas linhas para deix-lo como a seguir.
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager"/>
41
Captulo 1

Preparao do ambiente de desenvolvimento
<user username="tomcat" password="123456" roles="manager"/>
</tomcat-users>
O nome manager a chave para denir o acesso ao aplicativo. Voc s poder alterar o
username e password ou denir novos usurios.
1.3.2.4 Aumento da quantidade de memria disponvel para o Apache Tomcat
Por padro, todo aplicativo Java em execuo tem uma rea de memria reservada
de 64 MB, porm, essa quantidade pode no ser suciente em muitos casos. Se no
uso de seu aplicativo comearem a ocorrer erros do tipo java.lang.OutOfMemoryError, a
quantidade de memria disponvel no mais suciente.
Para contornar essa situao necessrio utilizar dois parmetros de congurao:
Parmetro Descrio
-Xmx Mximo de memria a ser reservado ao aplicativo.
Exemplo: -Xmx1024m ou Xmx1g
-Xms Quantidade inicial de memria a ser disponibilizada ao aplicativo.
Exemplo: -Xms256m
Para o valor de -Xmx voc deve levar em considerao a quantidade de memria livre
no computador ou servidor. Para o valor de Xms voc deve considerar aquela quan-
tidade de memria que certamente ser consumida pelo aplicativo. Um valor muito
baixo de Xms far com que o Java tenha que fazer muitas operao de realocao de
memria, o que consome muitos recursos da mquina e prejudica o desempenho.
Para denir estes parmetros voc deve criar a varivel de ambiente CATALINA_OPTS,
como na gura 1.18.
Figura 1.18 Congurao da varivel CATALINA_OPTS.
O Apache Tomcat tem um arquivo padro para atribuir variveis de ambiente especfcas para
uma determinada instalao. Sempre que o Tomcat for inicializado, ele executar (caso exista)
o arquivo setenv.bat ou setenv.sh. Nesse arquivo podem ser defnidas variveis de ambiente
como CATALINA_OPTS, JAVA_HOME ou qualquer outra que seja necessria.
Programao Java para a Web
42
Windows:
set CATALINA_OPTS=-Xms256m Xmx1024m
Linux:
export CATALINA_OPTS="-Xms256m Xmx1024m"
Quando estivermos utilizando e executando o Apache Tomcat por dentro do Eclipse,
essa congurao deve ser feita em outro local, o que ser explicado no tpico 1.4.3.1.
O Windows sensvel a espaos na defnio de variveis de ambiente, ou seja, a varivel
CATALINA_OPTS="123" tem um nome diferente de CATALINA_OPTS = "123". Se voc defni-la
com espao entre o nome e o = ela no ser reconhecida pelo Tomcat.
1.3.2.5 Monitoramento do consumo de memria e desempenho do Apache Tomcat
Essa dica ser apresentada para ser utilizada junto ao Apache Tomcat, porm, pode
ser utilizada por qualquer aplicativo Java. O Java JDK tem um aplicativo de mo-
nitoramento JConsole, que permite realizar o monitoramento de aplicativos Java
quanto a consumo de memria, processos (threads), carga de classes e consumo de
processamento, entre outros.
Existem dois passos necessrios para que seja possvel utiliz-lo. O primeiro que
o aplicativo a ser monitorado precisa ter denido em sua linha de execuo o par-
metro -Dcom.sun.management.jmxremote. Para o Tomcat, esse pode ser denido junto com
a varivel CATALINA_OPTS; para qualquer outro aplicativo, deve ser colocado junto com
a linha de execuo do Java (isso vale tambm para Xmx e Xms). Exemplo:
set CATALINA_OPTS=-Xms256m Xmx1024m -Dcom.sun.management.jmxremote
O segundo a execuo do JConsole, que est localizado em JAVA_HOME\bin\jconsole.exe.
Antes de execut-lo necessrio que o Tomcat j tenha sido inicializado depois de ter
denido esse novo parmetro em CATALINA_OPTS. Assim, ao ser executado, o JConsole
mostrar a lista de todos os processos Java possveis de serem monitorados, como
mostra a gura 1.19.
Deve ser selecionado o processo com o nome org.apache.catalina.startup.Bootstrap start,
que exatamente o Tomcat. Assim que voc clicar em Connect, o JConsole mostrar
um quadro com vrios monitoramentos, conforme a gura 1.20.
O mais interessante do JConsole com certeza o monitoramento de memria. Claro
que voc no vai precisar car monitorando o servidor o tempo todo, pois no h
motivo para isso se tudo estiver executando sem problemas. Entretanto, imagine o
caso de um consumo exagerado pelo seu aplicativo: se voc aliar a observao do
43
Captulo 1

Preparao do ambiente de desenvolvimento
painel de memria do JConsole ao uso do aplicativo poder identicar os pontos
nos quais ocorre o maior consumo de memria. Com esse paralelo poder fazer a
devida correo ou recongurao dos parmetros Xmx e Xms.
Figura 1.19 Tela de entrada do JConsole.
Figura 1.20 Tela principal do JConsole, exibindo vrios grcos com estatsticas do processo monitorado.
Programao Java para a Web
44
1.3.2.6 Instalao do Apache Tomcat como servio
A instalao do Apache Tomcat como servio permite que ele seja iniciado automa-
ticamente quando o computador for iniciado, sendo um recurso muito requisitado
nas empresas.
Instalao no Windows
Para instalar o Apache Tomcat como servio, primeiro v at a pasta \bin da instalao
do Apache Tomcat via linha de comando. Nessa pasta dever existir o arquivo service.
bat. A sintaxe de utilizao ser:
service.bat install/remove [service_name]
Para instalar, execute o comando service install, como a seguir:
C:\apache-tomcat-6.0.26\bin>service install
Sada do comando:
Installing the service 'Tomcat6' ...
Using CATALINA_HOME: C:\apache-tomcat-6.0.26
Using CATALINA_BASE: C:\apache-tomcat-6.0.26
Using JAVA_HOME: C:\Arquivos de Programas\Java\jdk1.6.0_18
Using JVM: C:\Arquivos de Programas\Java\jdk1.6.0_18\jre\bin\server\jvm.dll
The service 'Tomcat6' has been installed.
Para desinstalar o servio utilize o comando service remove.
Observe que na sintaxe do comando existe o parmetro opcional service_name. Isso
signica que voc poder denir um nome para o servio a ser instalado, caso con-
trrio, ser utilizado o nome Tomcat6.
importante salientar que existem vrias mudanas na forma de congurar o Apache
Tomcat ao utiliz-lo como servio, principalmente quanto aos parmetros de iniciali-
zao, que foram expostos no tpico 1.3.2.4, com relao ao uso da varivel CATALINA_OPTS.
Em resumo, essa varivel no considerada quando se utiliza o Tomcat como servio.
A alternativa para continuar realizando esse tipo de congurao no Tomcat como
servio utilizar o aplicativo [CATALINA_HOME]\BIN\tomcat6w.exe. Porm, esse aplicativo s
funcionar para o servio instalado caso o nome do servio seja Tomcat6.
Muito provavelmente podero ser executados vrios servios do Apache Tomcat em um
mesmo servidor. Para poder confgurar esses servios utilizando o aplicativo tomcat6w.exe
basta duplic-lo e renome-lo considerando o padro [service_name]w.exe. Por exemplo, se
voc quiser um novo servio do Tomcat com o nome tomcatTeste, dever instalar o servio
usando o comando service install tomcatTeste, duplicar o tomcat6w.exe e renomear para
tomcatTestew.exe.
45
Captulo 1

Preparao do ambiente de desenvolvimento
Na gura 1.21 podemos observar a aba General do tomcat6w.exe, na qual possvel, em
Startup type, congurar se o servio ter inicializao Manual, Automtica ou Desabilitada.
Tambm possvel iniciar e parar o servio nos botes Start e Stop.
Como posteriormente controlaremos a inicializao do Apache Tomcat por dentro do
Eclipse IDE, recomenda-se deixar o servio como Startup type: Manual, no ambiente de
desenvolvimento.
Figura 1.21 Aba General do congurador de servio do Apache Tomcat.
Na gura 1.22 podemos visualizar a aba Java do tomcat6w.exe, que a aba mais til na
congurao do Tomcat. Os principais campos a serem utilizados nessa tela sero o
Java Options, no qual ser possvel incluir parmetros de inicializao, e Initial memory pool
e Maximum memory pool, que correspondem aos parmetros Xms e Xms, respectivamente.
Tambm possvel controlar o servio Tomcat6 ou qualquer outro criado por meio do
Gerenciador de Servios do Windows em Painel de Controle

Ferramentas Administrativas


Servios. Este ser exibido com o nome amigvel Apache Tomcat, conforme a gura
1.23. Se voc clicar com o boto direito no servio e em propriedades, ver o nome
fsico atribudo (ex: tomcat6) e outras informaes. Tambm ser possvel iniciar e
parar o servio, mas no ser possvel fazer as mesmas conguraes disponveis no
tomcat6w.exe.
Mais informaes sobre a congurao do Apache Tomcat como servio podem ser
obtidas em http://tomcat.apache.org/tomcat-6.0-doc/windows-service-howto.html.
Programao Java para a Web
46
Figura 1.22 Aba Java do congurador de servio do Apache Tomcat.
Figura 1.23 Tela de servios do Windows, exibindo o servio do Apache Tomcat.
1.4 Eclipse IDE
A ferramenta Eclipse foi inicialmente desenvolvida pela IBM e depois doada para a
comunidade. Hoje o Eclipse no apenas uma IDE de desenvolvimento Java, mas
uma plataforma de desenvolvimento de cdigo aberto. Por padro, sempre que voc
zer um download do Eclipse ele estar preparado para o desenvolvimento Java, mas
cada vez mais as empresas e a comunidade tm usado a plataforma Eclipse para criar
plug-ins para as mais diversas linguagens de programao.
47
Captulo 1

Preparao do ambiente de desenvolvimento
Para voc ter uma ideia, utilizando o Eclipse, hoje possvel programar em C/C++,
COBOL, PHP e Progress entre outras. Alm disso, ele oferece todos os recursos para
que voc mesmo crie novos plug-ins para a ferramenta.
A seguir, faremos a instalao da ferramenta e a congurao e veremos dicas de
utilizao.
1.4.1 Instalao do Eclipse
O primeiro passo para instalar o Eclipse obter seu pacote na internet. Acesse o site
http://www.eclipse.org/downloads/ e ser exibida uma pgina como a da gura 1.24.
Figura 1.24 Tela da sesso de downloads do site do Eclipse.
Como voc pode perceber, existem vrias opes de pacotes de download: so diversas
combinaes diferentes de plug-ins e recursos, cada uma com um objetivo especco.
Em nosso caso, a melhor opo a Eclipse IDE for Java EE Developers. Nesse item, clique no
sistema operacional desejado direita e veja que existem opes para Windows, Mac
OS e Linux 32 e 64 bits.
Na pgina seguinte ser oferecido um local no qual voc far o download do Eclipse,
ou voc pode percorrer a lista logo abaixo na mesma pgina e fazer o download de
um local mais prximo do Brasil, por exemplo. Clique no link de um local, conforme
a gura 1.25.
Programao Java para a Web
48
Figura 1.25 Seleo do local de origem do download do Eclipse.
1.4.1.1 Instalao no Windows
Assim como no caso do Apache Tomcat, o Eclipse tambm no tem um instalador.
Basta descompactar o arquivo no local que desejar. Vamos descompactar esse arquivo
em sua unidade C:\, conforme a gura 1.26.
Figura 1.26 Estrutura de pastas depois de instalar o Eclipse.
O arquivo para executar o Eclipse o eclipse.exe. O mais prtico voc criar um atalho
para esse arquivo e posicion-lo em sua rea de trabalho do Windows.
Na primeira vez que voc executar o Eclipse, aparecer uma tela perguntando qual
workspace voc deseja trabalhar. O workspace uma pasta do disco no qual sero
49
Captulo 1

Preparao do ambiente de desenvolvimento
criados todos os projetos do Eclipse. Nesse caso, voc tem duas opes: pode sempre
informar esse caminho manualmente ou congurar qual workspace deseja trabalhar
por meio do parmetro data no atalho.
Isso permite ter apenas uma instalao do Eclipse e vrios atalhos apontando para
workspaces diferentes. O parmetro data deve ser informado em um atalho criado
para o eclipse.exe, conforme a gura 1.27.
Isso principalmente til quando voc estiver utilizando o Eclipse para diversos ns,
por exemplo, Eclipse Faculdade, Eclipse JME, Eclipse Estudo Livro.
Figura 1.27 Atalho do Eclipse congurando um determinado workspace.
1.4.1.2 Instalao no Linux
Depois de realizar o download do arquivo, copie-o para a pasta /usr/java.
Se voc fez o download no Linux usando o Firefox, provavelmente o arquivo foi salvo na pasta
/home/<usuario>/Desktop. Via console, faa a cpia do arquivo para a pasta /usr/java usando
o comando cp /home/<usuario>/Desktop/eclipse-*tar.gz /usr/java.
Com o comando tar, extraia o arquivo nesse diretrio, conforme a seguir.
tar xvfz eclipse-jee-galileo-SR2-linux-gtk.tar.gz
Programao Java para a Web
50
Esse comando gera uma pasta eclipse com o contedo da instalao do Eclipse IDE.
Observe que, no Linux, estamos adotando a pasta /usr/java como padro para todas
as instalaes de ferramentas Java.
Depois de extrado, entre na pasta eclipse e execute o comando ./eclipse para executar
o Eclipse IDE, conforme a gura 1.28.
Figura 1.28 Estrutura de pastas depois de instalar o Eclipse.
Assim como no Windows, o mais prtico criar um atalho para o Eclipse em sua
rea de trabalho do Linux. Para criar o atalho no Linux Ubuntu, clique com o boto
direito do mouse na rea de trabalho e selecione Criar Lanador, conforme a gura 1.29.
Figura 1.29 Criao de um atalho no Linux.
Existem dois tipos bsicos de atalhos que podem ser criados para o Eclipse, um ge-
nrico e outro apontando para um workspace (pasta de projetos). O atalho genrico,
quando aberto, sempre perguntar qual o workspace voc quer trabalhar ou abrir
no workspace padro.
O segundo atalho permite que voc especique no atalho qual pasta deve ser consi-
derada para o workspace, utilizando o parmetro data. Isso interessante, pois voc
pode ter uma instalao do Eclipse trabalhando com vrias pastas de projeto.
Para o primeiro atalho mantenha o campo Tipo como Aplicativo. No campo Nome
informe Eclipse e, no Comando, informe /usr/java/eclipse/eclipse, conforme a gura 1.30.
51
Captulo 1

Preparao do ambiente de desenvolvimento
Figura 1.30 Congurao do atalho no Linux.
Para o segundo atalho informe Nome como Eclipse Java para a Web (ou como quiser)
e, no campo Comando, informe /usr/java/eclipse/eclipse data /home/<usurio>/projetos/.
Observe que o parmetro data congura a pasta /home/<usurio>/projetos/ como a pasta
de projetos para esse atalho do Eclipse. Essa pasta no precisa existir imediatamente:
o Eclipse ir cri-la assim que necessrio. Se voc quiser criar um novo atalho para
projetos da Faculdade, por exemplo, utilize o caminho /home/<usurio>/projetos_faculdade.
Dessa forma, criar atalhos do Eclipse e usar o parmetro -data para cada necessidade
mantm tudo organizado, conforme a gura 1.31.
Figura 1.31 Atalhos para o Eclipse criados na rea de trabalho do Linux.
1.4.2 Dicas de utilizao
Na gura 1.32 temos uma viso geral do Eclipse, na primeira vez em que ele aberto.
Nele voc pode perceber a organizao geral da ferramenta. A primeira coisa que
chama a ateno a organizao interna. Existem vrias subjanelas internas, que so
conhecidas como views.
Programao Java para a Web
52
Figura 1.32 Viso da tela do Eclipse na primeira fez em que aberto.
Outro conceito de organizao muito importante utilizado pelo Eclipse o das
perspectivas, que podemos entender como formas diferentes de ver algo, e o Eclipse
trabalha dessa forma para organizar as views. Existem diversas perspectivas dispo-
nveis no Eclipse. Na gura 1.33 podemos ver algumas delas.
Figura 1.33 Viso das perspectivas inicialmente disponveis no Eclipse.
Cada perspectiva disponibiliza as views mais interessantes para cada necessidade
de uso. Por exemplo, a primeira perspectiva exibida quando abrimos o Eclipse a
perspectiva Java EE.
53
Captulo 1

Preparao do ambiente de desenvolvimento
1.4.2.1 Perspectiva Java EE
Essa perspectiva mostra as views teis quando se est programando em Java, utili-
zando a plataforma Java EE. Elas so descritas a seguir.
View Descrio
Project Explorer Exibe todos os projetos do workspace em questo. Em cada projeto
so exibidos todos os arquivos envolvidos (arquivos Java, XML etc.).
Problems Exibe os erros de compilao encontrados nas fontes dos projetos.
Tasks Exibe uma lista de tarefas pendentes.
Servers Exibe uma lista dos servidores congurados para executar os pro-
jetos.
Data Source Explorer Exibe e permite congurar as fontes de dados que possam estar
sendo utilizadas nos projetos. A partir dessas fontes voc conseguir
executar consultas SQL nos bancos de dados, diretamente no
Eclipse.
Snippets Exibe botes que auxiliam na incluso de blocos de cdigo-fonte
no arquivo aberto. Por exemplo: incluso de comentrio, bloco de
script, diretivas de pgina.
Outline Exibe a relao de propriedades e mtodos da classe Java que esti-
veram em execuo, sendo muito til para localizar mais facilmente
no programa.
A disposio das views dentro da perspectiva pode ser alterada livremente, excluindo
ou adicionando novas views que possam ser interessantes.
1.4.2.2 Perspectiva Java
Essa perspectiva exibe as views teis quando se est desenvolvendo em Java, mas sem
utilizar os recursos do Java EE. Ou seja, nessa perspectiva no exibida a view Server
e, em vez da view Project Explorer, exibida a view Package Explorer, que facilita a
visualizao dos packages dos projetos.
1.4.2.3 Perspectiva Debug
Essa perspectiva exibe as views teis quando se est realizando o debug de uma exe-
cuo em Java. O debug a execuo passo a passo de uma classe Java, permitindo
visualizar as linhas que sero executadas. Nessa perspectiva existem, alm das views
(Servers, Outline e Tasks) j apresentadas, as seguintes:
View Descrio
Debug Exibe a lista dos processos Java em execuo.
Variables Mostra as variveis envolvidas na execuo atual e seu respectivo valor.
possvel tambm alterar o valor de alguns tipos de variveis manualmente,
no meio da execuo.
Programao Java para a Web
54
View Descrio (cont.)
Breakpoints Exibe os pontos de parada obrigatria para a execuo da classe Java.
Console Exibe as mensagens de sada da execuo do programa. Toda mensagem
via System.out.println("Ol mundo") ser exibida no Console.
Geralmente, quando voc executar algum servidor ou classe Java em modo Debug,
o Eclipse sugere automaticamente que essa perspectiva seja ativada.
1.4.2.4 Teclas de atalho
Um grande facilitador no uso do Eclipse e que dar muito mais velocidade a seu
trabalho so as teclas de atalho. As teclas relacionadas a seguir esto entre as mais
utilizadas.
Tecla de atalho Descrio
Ctrl+Espao Realiza o code completion, ou seja, sugere opes para qualquer coisa
que voc tenha digitado, com base em nomes de classes, mtodos,
propriedades etc.
Ctrl+K Localiza no arquivo aberto outras ocorrncias do texto selecionado.
Ctrl+L Localiza uma linha determinada.
Ctrl+Shift+T Localizao rpida de classes Java, apenas digitando partes do nome.
Ctrl+Shift+R Localizao rpida de quaisquer arquivos, apenas digitando partes do
nome.
Ctrl+O Exibe a lista de propriedades e mtodos da classe atual. Permite busca
rpida pelo nome.
Ctrl+Shift+O Organiza a lista dos imports da classe.
Ctrl+Shift+F Formata o cdigo-fonte.
Ctrl+/ Adiciona um comentrio de linha.
Ctrl+Shift+/ Adiciona um comentrio de bloco.
Alt+Shift+R Renomeia a propriedade ou o mtodo selecionado, realizando o refac-
tory de todo o cdigo. Ou seja, ser modicado o nome do elemento
em todos os lugares nos quais ele era referenciado.
F2 Mostra a documentao da classe, mtodo ou propriedade que estiver
com o foco.
F3 Abre a declarao da classe, mtodo ou propriedade que estiver com o
foco.
Ctrl+Shift+L Lista todas as teclas de atalhos disponveis na IDE.
1.4.2.5 Confgurao de fontes e cores
Uma congurao que muitas vezes fundamental para deixar a IDE mais ao gosto
do usurio a congurao de fontes e cores. Alguns podem querer fontes maiores
ou menores, ou uma cor de fundo diferente etc. Para alterar esse tipo de congurao
no Eclipse, acesse Window

Preferences. Na janela de preferncias, abra o item General


Appearance

Colors and Fonts. O item que altera as conguraes de fonte para o cdigo-
fonte Java o Java Editor Text Font.
55
Captulo 1

Preparao do ambiente de desenvolvimento
No topo da janela Preferences, existe um campo com o texto type flter text. Qualquer palavra
que voc digitar nesse campo far com que o Eclipse s mostre as opes de confgurao
que contenham essa palavra. Como essa janela contm muitas opes de confgurao, e
esse nmero aumentar na medida em que voc instalar novos recursos ou plug-ins, esse
recurso bastante interessante. Um exemplo de propriedade muitas vezes necessria e que
difcil encontrar a confgurao de Proxy. Digite proxy nesse campo e o Eclipse rapidamente
mostrar a opo correta para confgurao: General

Network Connections.
No manual do Eclipse, existe uma relao completa de todas as dicas de utilizao
e recursos das ferramentas, em Help

Tips and Tricks, alm da tecla de atalho Ctrl+Shift+L,


que mostra uma relao de todas as teclas de atalho do Eclipse.
1.4.3 Confgurao do Apache Tomcat para funcionar dentro do Eclipse
Agora que j instalamos e conguramos o Apache Tomcat e o Eclipse IDE de forma
individual, vamos integrar os dois para que Tomcat possa ser executado a partir do
Eclipse. Isso permitir que uma classe ou JSP que j executada por padro no ser-
vidor tambm possa ser executada por dentro do ambiente interno da IDE Eclipse.
O primeiro passo a ser feito ir at a view Servers, clicar com o boto direito do mouse
e escolher New

Server, conforme a gura 1.34.


Figura 1.34 Criao de um novo servidor na view Server.
Isso iniciar o assistente de criao de servidores dentro do Eclipse. Selecione Tomcat
v6.0 Server e clique em Next, conforme a gura 1.35.
Na tela seguinte, informe o local em que foi instalado o Apache Tomcat, e clique em
Finish. O caminho denido nessa ltima tela o mesmo que j foi denido para a
varivel CATALINA_HOME. Pronto: agora o servidor que executar nossos projetos web j
est criado, como mostra a gura 1.36.
Outra forma de alterar a confgurao do local no qual o servidor est instalado pelo menu
Window

Preferences: selecione a opo Servers

Runtime Environment.
Programao Java para a Web
56
Figura 1.35 Seleo do servidor a ser criado.
Figura 1.36 View Server do Eclipse exibindo o servidor recm-criado.
Para testar o funcionamento do Apache Tomcat por dentro do Eclipse, clique no bo-
to que realiza a execuo em modo Normal, na view Servers. Nesse mesmo instante,
na view Servers, a coluna State mostrar o texto Starting, e a view Console ser exibida,
mostrando as mensagens de sada do servidor, indicando que ele est em processo de
inicializao. Na gura 1.37 voc pode observar as mensagens do Console, indicando
que o servidor foi inicializado com sucesso.
57
Captulo 1

Preparao do ambiente de desenvolvimento
Figura 1.37 View Console exibindo as mensagens de sada do servidor, durante o processo de inicializao.
nesse momento que tambm podero ocorrer os erros de confito de portas, como foi
comentado na seo 1.3.2.1. Nesse caso o Eclipse tambm fornece um meio de alterar essa
confgurao. Para isso basta dar um duplo clique no nome do servidor na view Servers, e ser
exibida uma tela de confguraes, conforme a fgura 1.38. Voc poder alterar os nmeros
de portas pela aba Ports.
Figura 1.38 Tela de congurao do servidor, na qual possvel alterar os nmeros de portas, entre outras
conguraes.
1.4.3.1 Confgurao da memria disponvel para o Tomcat
Ainda na tela da gura 1.38, clique em Open launch confguration. A tela que ser exibida
contm as informaes de congurao de como o Apache Tomcat ser executado
por dentro do Eclipse.
Na aba Arguments, altere o campo VM Arguments e acrescente os parmetros Xmx e Xms
com a quantidade de memria necessria.
Programao Java para a Web
58
1.4.4 Criao de um novo projeto para executar no servidor
Agora que temos um servidor integrado ao Eclipse IDE, podemos criar nosso primeiro
projeto web. Para isso clique com o boto direito do mouse na view Project Explorer,
como na gura 1.39. Selecione a opo New

Dynamic Web Project.
A criao de projetos tambm pode ser feita pelo menu File

New

Dynamic Web Project.


Dependendo da perspectiva ativa pode ser que essa opo de projeto no seja apresentada.
Nesse caso, v para New

Other e selecione o item Web

Dynamic Web Project.


Figura 1.39 Seleo do tipo do projeto a ser criado.
Na tela que ser exibida, informe um nome para o projeto, preferencialmente sem
espaos nem caracteres especiais. No campo Server Runtime, selecione Apache Tomcat
v6 que foi o servidor que conguramos.
No quadro Confguration, clique no boto Modify e marque a opo JavaServer Faces
clique em OK. Na tela de criao do projeto, clique em Next at chegar em JSF Capabilities.
Nessa tela selecione o Type igual a Disable Library Confguration e troque o URL Mapping Patterns
de /faces/* para *.jsf. Clique em Finish. A tela de congurao dever ter cado como
na gura 1.40.
59
Captulo 1

Preparao do ambiente de desenvolvimento
Esta opo do quadro Confguration no obrigatria, mas recomendada caso voc
queria trabalhar com JavaServer Faces. O interessante que ela habilita o assistente de
cdigo (code completion) nos arquivos XHTML, auxiliando na utilizao de tags e atributos.
Independentemente de voc ter feito ou no esta opo, vamos confgurar e instalar
completamente o JavaServer Faces de forma manual no projeto.
Figura 1.40 Criao do novo projeto web.
Depois de criado o projeto, este deve aparecer na view Project Explorer, conforme a
gura 1.41.
Figura 1.41 Viso do novo projeto criado.
Programao Java para a Web
60
Essa a estrutura-padro do projeto web dentro do Eclipse. A seguir sero descritos
os principais itens dessa estrutura de projeto.
Item Descrio
Deployment Descriptor Fornece um atalho para o arquivo web.xml, que ca por padro
armazenado em /WEB-INF/web.xml. Nesse atalho, o Eclipse ofer-
ecer vrios assistentes para incluir novos elementos no arquivo
web.xml.
Java Resources Fornece acesso aos arquivos Java do projeto. nesse elemento
que aparecero todos os packages de seu aplicativo.
WebContent Representa o contedo raiz do aplicativo web. Nessa pasta voc
dever colocar a pgina index.html e todas as outras pginas,
jsp, css, imagens etc. Nela voc pode criar a estrutura de pastas
que quiser.
WebContent/WEB-INF A pasta WEB-INF faz parte da especicao Java para projetos
web. Todo projeto web Java tem que ter essa pasta. Ela inaces-
svel via web, somente internamente. Isso garante que nenhum
arquivo presente nela possa ser visualizado por algum usurio.
Por esse motivo, os arquivos de congurao, bibliotecas (jar)
e classes cam seguros nessa pasta.
WebContent/WEB-INF/lib
Nessa pasta devem ser mantidos todos os arquivos Jar necessrios
ao funcionamento do projeto.
Agora que j estamos com o projeto criado e conhecemos sua estrutura, vamos criar
um arquivo JSP e testar sua execuo no servidor. Como acabamos de ver, o local
correto para criar um arquivo JSP na pasta WebContent. Dessa forma, clique com o
boto direito do mouse na pasta WebContent e v at New

JSP.
Ser aberto um assistente para a criao de arquivos JSP. Informe o nome index.jsp
para o arquivo no campo File Name e clique em Finish. Depois disso, o arquivo index.jsp
estar criado, e seu Eclipse ir exibi-lo para edio, conforme a gura 1.42.
Se voc observar a fgura 1.42, perceber que o texto Ola Mundo e Agora so: fcou sublinhado
por uma linha ondulada, igual ao MS-Word quando faz a correo de uma palavra. E exatamente
isso que aconteceu, mas no momento esse no um recurso interessante e podemos deslig-lo.
Para desligar o Spell Checking, abra a janela Windows

Preferences, selecione a opo General


Editors

Text Editors

Spelling e desmarque a opo Enable spell checking.


A gura 1.42 exibe uma alterao no arquivo, com a inteno de mostrar a seguinte
mensagem na tela:
Ol Mundo
Agora so: 13:55 (hora atual)
61
Captulo 1

Preparao do ambiente de desenvolvimento
Figura 1.42 Eclipse exibindo o arquivo index.jsp que acabou de ser criado.
Voc pode perceber, na gura, a presena de uma janela mostrando o nome de classe
SimpleDateFormat. Isso foi consequncia do uso da tecla de atalho Ctrl+Espao, que reali-
zou o code-completion. Observe que digitamos apenas o texto simpledatef no arquivo
e pressionamos Ctrl+Espao. O que o Eclipse fez foi sugerir um nome de classe que
iniciasse com simpledatef. Se voc selecionar o nome SimpleDateFormat sugerido pelo
Eclipse, ele completar a palavra que voc digitou e adicionar automaticamente o
import para essa classe, no topo do arquivo. Em arquivo JSP, o import realizado na
diretiva de pgina (<%page%>), no parmetro import.
O arquivo nal car igual ao texto a seguir.
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Teste inicial</title>
</head>
<body>
Ol Mundo.
Agora so:
Programao Java para a Web
62
<%=new SimpleDateFormat("hh:mm:ss").format(new Date()) %>
</body>
</html>
Agora que o arquivo index.jsp est completo, vamos testar o projeto em ambiente web.
Para isso, v at a view Server e clique com o boto direito do mouse no servidor congu-
rado e acione a opo Add and Remove Projects. A opo permite denir quais dos projetos
do Eclipse sero executados nesse servidor quando ele for colocado no ar. A tela que
ser exibida pode ser vista na gura 1.43. Ali, voc deve selecionar o projeto olamundo e
clicar em Add >> para adicion-lo para execuo no servidor, clicando depois em Finish.
Voc dever repetir esse mesmo procedimento para qualquer outro projeto que queira executar
no servidor. Nessa tela tambm possvel remover projetos. Se voc deixar no servidor
somente os projetos que realmente est utilizando, o servidor subir mais rapidamente e
consumir menos memria.
Figura 1.43 Incluso de projetos para serem executados no servidor congurado.
Agora basta colocar o servidor congurado no ar para fazer o teste. Para isso, acione
o boto Start the Server na view Servers, conforme a gura 1.44.
Figura 1.44 Inicializao do servidor para testar o projeto.
63
Captulo 1

Preparao do ambiente de desenvolvimento
Quando a coluna State da view Servers aparecer como Started quer dizer que o servidor
j est no ar: isso acontecer muito rpido. Agora, se voc abrir um navegador e
digitar o endereo http://localhost:8080/olamundo ser exibida a pgina index.jsp que
acabamos de criar, sendo uma pgina igual da gura 1.45.
Figura 1.45 Pgina de teste do projeto olamundo sendo visualizada no navegador.
O aparecimento dessa pgina conforme a gura 1.45 conrma que todo o nosso am-
biente de desenvolvimento est congurado e funcionando. Estamos prontos para
seguir adiante e conhecer cada etapa do projeto que ser desenvolvido e aprender
todas as tecnologias necessrias para que ele se concretize.
1.5 MySQL
O MySQL o banco de dados de cdigo-fonte aberto mais popular do mundo,
tendo mais de 70 milhes de instalaes no mundo todo. utilizado por empresas
como Amazon.com, Google, Motorola, MP3.com, NASA, Silicon Graphics, Texas
Instruments e Yahoo! Finance.
O fato de ser de cdigo-fonte aberto no signica que ele seja gratuito: isso depender
de como voc utilizar o banco de dados. Para que o MySQL possa ser utilizado gra-
tuitamente, o aplicativo que o utiliza tem que seguir a licena GPL. Isso basicamente
signica que, se voc no obtiver lucro com o seu aplicativo, no precisar pagar pelo
MySQL e que sempre dever distribuir os cdigos-fonte do MySQL junto com seu
aplicativo ou pelo menos indicar onde obt-los.
Programao Java para a Web
64
1.5.1 Instalao do MySQL
O primeiro passo para instalar o MySQL obter seu arquivo do site http://www.mysql.
com/downloads. Ao entrar no site, clique no boto downloads abaixo do nome MySQL
Community Server, que a verso que utilizaremos, ou diretamente no endereo http://
dev.mysql.com/downloads/mysql/5.1.html. Role a pgina para baixo at encontrar os
links de download para cada sistema operacional, conforme a gura 1.46. Selecione
o instalador que pretende utilizar. Caso esteja utilizando o Linux Ubuntu, pule di-
retamente para a seo 1.5.1.2, pois poderemos usar o instalador apt-get.
Para fazer o download, sugerimos a verso Windows MSI Installer, e para o Linux, a verso
Linux (x86), a no ser que seu computador seja 64 bits.
Para a instalao em Windows, no obtenha a verso MySQL Essentials, pois ela vem com
vrias ferramentas a menos no pacote.
Figura 1.46 Pgina de download do MySQL para diferentes sistemas operacionais.
Depois de clicar em Download voc ser direcionado para uma pgina na qual inicial-
mente ser solicitado que voc se cadastre, o que no necessrio: apenas clique no
link No thanks, just take me to the downloads! abaixo da tela de cadastro para escolher um dos
espelhos para o download. Nesse caso, espelho se refere aos vrios locais do mundo
nos quais os arquivos da instalao esto replicados (espelhados).
MySQL Workbench
Alm do prprio servidor, o MySQL tambm oferece outras ferramentas que fa-
cilitaro bastante a administrao do banco de dados. Essas ferramentas tambm
esto disponveis no site http://www.mysql.com/downloads, no link MySQL Workbench, ou
diretamente no endereo http://dev.mysql.com/downloads/workbench/.
65
Captulo 1

Preparao do ambiente de desenvolvimento
O MySQL Workbench inclui as seguintes ferramentas:
Ferramenta Descrio
Server Administration Ferramenta de administrao, utilizada para a criao dos bancos
de dados, administrao de usurios e rotinas de backup/restore.
SQL Development Ferramenta para realizao de consultas e atualizaes nas bases
de dados.
Database Modeling Ferramenta para desenho e modelagem de bancos de dados.
Principalmente a SQL Development ser utilizada para a execuo de SQLs no de-
correr do projeto
1.5.1.1 Instalao do MySQL Server no Windows
A instalao em Windows acontece com a ajuda de um assistente. Executando o ar-
quivo de instalao, na segunda tela do assistente escolha o tipo de instalao Typical
(Tpica), que disponibiliza as opes mais comuns do MySQL, conforme a gura 1.47.
Figura 1.47 Tela do assistente do MySQL na qual se escolhe o tipo de instalao.
Clicando em Next a instalao ser iniciada. Concluda a instalao, sero exibidas
algumas telas com informaes comerciais: basta clicar em Next at chegar ao nal.
A ltima tela do assistente traz uma caixa de seleo perguntando se voc deseja
congurar o MySQL Server: mantenha-a marcada e clique em Finish.
Depois, o assistente ser iniciado para congurao do MySQL.
Programao Java para a Web
66
Confgurao do MySQL
A congurao do MySQL pode ocorrer imediatamente aps a instalao ou a qual-
quer momento pelo menu no qual o MySQL estiver instalado, em MySQL

MySQL Server
5.1

MySQL Server Instance Confg Wizard.


Na primeira tela, clique em Next. Na segunda, voc poder escolher Detailed Confguration
(Congurao detalhada) ou Standard Confguration (Congurao padro). Neste captulo
vamos abordar a congurao padro, por isso, selecione a opo Standard Confguration
e clique em Next.
Na tela seguinte, ser congurado o nome do servio do MySQL Server e diretrio
PATH. Deixe as conguraes conforme a gura 1.48. Essas conguraes instalam o
MySQL como um servio do Windows e colocam seu diretrio BIN em PATH, o que ser
bastante til na execuo de comandos do MySQL no DOS. Clique em Next.
Figura 1.48 Tela do assistente de congurao do MySQL no qual se instala o servio e congura-se o
diretrio PATH.
Nesse ponto, caso o MySQL j tenha sido instalado em sua mquina em alguma ocasio
talvez seja necessrio trocar o nome do servio, pois se j existir um com o respectivo Service
Name ocorrer erro no fnal da confgurao. Para garantir que j no haja um servio com
o nome MySQL, v em Painel de Controle

Ferramentas Administrativas

Servios e procure o
nome em questo na lista.
67
Captulo 1

Preparao do ambiente de desenvolvimento
Na prxima tela sero denidas as conguraes de segurana, conforme a gura
1.49. Escolha Modify Security Settings para denir uma senha principal para o MySQL e
mantenha desmarcadas as opes Enable root access from remote machines e Create An Anonymous
Account. A primeira opo permite o acesso administrativo de uma mquina remota,
e a segunda permite o acesso sem senha ao MySQL; nenhuma dessas opes reco-
mendvel para o mnimo de segurana.
Informe a senha de sua preferncia para ser a senha principal do MySQL. No livro
estamos considerando a senha root como a senha principal do MySQL: nesse caso,
preencha root nos dois campos.
Figura 1.49 Tela de congurao de segurana.
Se voc j teve alguma vez instalado o MySQL em seu computador mesmo que tenha
desinstalado-o corretamente a senha root defnida continua valendo. Se voc fzer uma
nova instalao do MySQL essa senha ser solicitada por meio do campo Current Password,
que ser exibido.
1.5.1.2 Instalao do MySQL Workbench no Windows
Para a instalao do MySQL Workbench necessrio instalar antes o .Net Fra-
mework (caso j no esteja instalado). Este facilmente encontrado em qualquer
site de downloads na internet, ou diretamente no site da Microsoft em http://www.
microsoft.com/NET/.
Programao Java para a Web
68
O arquivo do MySQL Workbench (5.2 ou maior) pode ser obtido em http://www.mysql.
com/downloads/workbench/, onde voc deve indicar o sistema operacional Windows
e selecionar a arquitetura correta, entre 32 ou 64 bits.
A instalao segue normalmente por meio de um assistente at a concluso. Depois
de instalado, ele estar disponvel no menu MySQL do Windows.
Veja como utilizar o MySQL Workbench no tpico 1.5.2.
1.5.1.3 Instalao do MySQL Server no Linux
Se voc estiver utilizando o Linux Ubuntu, a instalao via apt-get ser muito mais fcil,
pois ela far o download, instalao e congurao automticos das ferramentas. Se es-
tiver utilizando outra distribuio, a instalao tradicional via tar.gz dever ser utilizada.
Instalao via apt-get
Esses comandos do apt-get instalaro a verso 5.0 do MySQL Server, pois essa a
verso atualmente disponvel nessa forma de instalao.
shell> sudo apt-get update
shell> sudo apt-get install mysql-server
No nal da instalao do mysql-server voc ser questionado sobre a senha root do
MySQL:guarde bem essa senha.
Para iniciar o MySQL execute:
shell> /etc/init.d/./mysql start
Para nalizar o MySQL execute:
shell> /etc/init.d/./mysql stop
Instalao tradicional
Para a instalao do MySQL Server em Linux voc deve ter feito o download do
pacote Generic Linux (glibc 2.3) (x86, 32-bit), Compressed TAR Archive, na qual o nome do arquivo
mysql-5.1.45-linux-i686-glibc23.tar.gz.
Tome bastante cuidado ao fazer o download, pois o site bastante confuso quanto a
isso. Existem diversos pacotes disponveis, mudando somente o nome do arquivo no site.
Existem pacotes mysql-client, mysql-debug, mysql-shared-compat e embedded, entre outros. Porm,
apenas o pacote mysql-<verso> ou mysql-server-<verso> deve ser obtido para nosso objetivo.
Depois de realizado o download do arquivo, execute os comandos a seguir:
shell> sudo groupadd mysql
shell> sudo useradd -g mysql mysql
69
Captulo 1

Preparao do ambiente de desenvolvimento
shell> sudo cd /usr/local
shell> sudo tar zxvf /caminho/para/o/arquivo/mysql-<verso>-<so>.tar.gz
shell> sudo ln -s /mysql-<verso>-<so> mysql
shell> sudo cd mysql
shell> sudo chown -R mysql .
shell> sudo chgrp -R mysql .
shell> sudo scripts/mysql_install_db --user=mysql
shell> sudo chown -R root .
shell> sudo chown -R mysql data
Para iniciar o MySQL, execute:
shell> sudo bin/mysqld_safe --user=mysql &
Para nalizar o MySQL, execute:
shell> sudo bin/mysqladmin u root -p shutdown
Nas linhas e so criados o grupo mysql e usurio mysql, que sempre ser utilizado
nos comandos das linhas e . Na linha feita a extrao do arquivo tar.gz obtido
do site do MySQL. Essa extrao gera uma pasta com o mesmo nome do arquivo.
Na linha criado um atalho com o nome mysql apontando para a pasta extrada,
para facilitar o acesso.
Para alterar a senha do MySQL execute o comando a seguir, pois como padro o
usurio root do MySQL vem com a senha em branco.
shell> sudo ./mysqladmin u root password nova_senha
Para incluir os executveis do MySQL no PATH, execute o comando gedit /etc/profle ou
vi /etc/profle e acrescente a seguinte linha:
export PATH=$PATH:/usr/local/mysql/bin
1.5.1.4 Instalao do MySQL Workbench em Linux
Para a instalao do MySQL Workbench necessrio instalar antes alguns utilitrios,
conforme a instruo a seguir.
sudo apt-get install liblua5.1-0 libzip1 libmysqlclient15off
O arquivo do MySQL Workbench (5.2 ou posterior) pode ser obtido em http://www.
mysql.com/downloads/workbench/, onde voc deve indicar o sistema operacional
Ubuntu Linux e selecionar a arquitetura correta, entre 32 ou 64 bits.
A instalao deve ser feita com o comando a seguir, considerando o nome do arquivo
.deb que voc obteve.
sudo dpkg -i mysql-workbench-oss-5.1.18a-1ubu804-i386.deb
Veja como utilizar o MySQL Workbench no tpico 1.5.2.
Programao Java para a Web
70
1.5.2 Uso do MySQL Workbench
Para acionar o MySQL Workbench no Windows, basta execut-lo no menu MySQL,
enquanto no linux basta digitar mysql-workbench na linha de comando. Uma tela seme-
lhante da gura 1.50 ser exibida.
Nessa tela aparecem trs colunas, com os aplicativos disponveis, que so: SQL
Development, Data Modeling e Server Administration.
No decorrer deste livro vamos utilizar principalmente o SQL Development. O primeiro
passo clicar em New Connection, (menu Database

Manage Connection

New) para criar


uma nova conexo, abrindo uma tela conforme a da gura 1.51.
Figura 1.50 Tela do MySQL Workbench.
Informe um nome para a conexo em Connection Name e conrme as informaes de
Hostname, Port e Username. Se desejar guardar a senha do banco nesse aplicativo, clique
em Store in Vault.
Depois de congurada, abra a conexo que estar listada na tela principal. Ser
exibida a tela em que possvel executar os comandos SQL, conforme a gura 1.52.
71
Captulo 1

Preparao do ambiente de desenvolvimento
Figura 1.51 Tela de congurao de conexo no MySQL Workbench.
Figura 1.52 Tela para execuo de SQLs no MySQL Workbench.
1.6 Concluso
Finalizamos a instalao de todas as ferramentas que sero necessrias para o desenvol-
vimento do projeto proposto no livro. No decorrer da obra sero necessrios novos do-
wnloads, apenas para instalao de componentes necessrios aos projetos em construo.

Você também pode gostar