Escolar Documentos
Profissional Documentos
Cultura Documentos
Painel de Controle
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
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
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
Editors
Text Editors
MySQL Server
5.1
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