Você está na página 1de 50

Programao Java

para a Web
Dcio Heinzelmann Luckow
Alexandre Altair de Melo

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


(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

(CIP)

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 configurao do ambiente, bem como
explicaremos o uso de cada uma dessas ferramentas. Ao final do captulo teremos
um miniaplicativo de teste executando nesse ambiente e voc j estar preparado
para iniciar o projeto do aplicativo financeiro 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 selecionadas 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 considerao 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 projetos 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 configurao. No basta ter uma excelente ideia de um novo produto para a internet 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!
24

Captulo 1 Preparao do ambiente de desenvolvimento

25

Se voc ainda no est pensando to alto e quer mesmo explorar tudo o que a comunidade 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 definidas as
ferramentas principais que utilizaremos neste livro, vamos listar a seguir algumas
alternativas interessantes que voc poder explorar posteriormente.
IDE

Descrio

NetBeans
JDeveloper

Ferramenta de desenvolvimento Java oficial da Sun (www.netbeans.org).


Ferramenta de desenvolvimento Java oficial 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 distribuio 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
JBossWeb

Servidor web Java concorrente do Apache Tomcat (http://www.mortbay.


org/jetty/).
Servidor web Java, uma verso personalizada do Apache Tomcat, pela
JBoss (http://jboss.org/jbossweb).

A seguir, vamos instalar e configurar 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 grfica sensvel ao toque e era capaz de interagir com diversos equipamentos. A linguagem Oak, na poca, surgiu justamente para controlar internamente
esse equipamento.

26

Programao Java para a Web

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 existentes 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 justifica 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 disponveis. As duas principais verses disponveis so Java SE (ou JRE) e JDK, conforme a
figura 1.1. O pacote JRE (sigla de Java Runtime Environment) o pacote mnimo necessrio 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.

Captulo 1 Preparao do ambiente de desenvolvimento

27

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 configurar as opes que sero instaladas, conforme a figura 1.2. Mantenha todas as opes. Voc pode perceber a presena dos itens
Development Tools, Demos and Samples e Source Code, que so especificamente para o desenvolvimento 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 figura 1.2). Aceite a instalao e siga
todos os passos mantendo o padro.

28

Programao Java para a Web

Configurao
Essa etapa da configurao 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 configurao 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 figura 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 define 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 figura 1.4, selecione a varivel Path e clique em Editar.
V at o campo Valor da Varivel e adicione um ; (ponto e vrgula) no final da linha (se
j no houver). Acrescente o texto %JAVA_HOME%\bin;.

Captulo 1 Preparao do ambiente de desenvolvimento

29

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
definido 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 figura 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.

30

Programao Java para a Web

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 figura 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 figuras 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 figura 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, sunjava6-jdk e sun-java6-jre. A utilizao do comando autoremove garante a remoo dos

Captulo 1 Preparao do ambiente de desenvolvimento

31

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.

32

Programao Java para a Web

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 seguinte, 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 figura 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 final) e digite yes para continuar.
Terminada a instalao, o programa sugere que voc se registre no site da Sun (opcional). Basta pressionar ENTER para finalizar a instalao.

Captulo 1 Preparao do ambiente de desenvolvimento

33

Configurao
Caso voc tenha feito a instalao tradicional necessrio configurar o Java. Continuando 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 ficou como /usr/java/
jdk1.6.0_18.
Agora ser necessrio configurar o Java. Para isso, edite o arquivo /etc/profile e adicione
as novas variveis de ambiente com o seguinte contedo no final 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/profile no Linux voc pode utilizar qualquer editor de texto. O mais
utilizado o vi ou o editor visual gedit.
vi /etc/profile ou gedit /etc/profile

Depois de salvar, abra um novo terminal e digite java version para testar o funcionamento 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 suporta 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 suficiente 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 especificaes Servlet 2.5 e JSP 2.1 necessrias ao funcionamento do JavaServer Faces a
partir da verso 1.2.

34

Programao Java para a Web

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 direcionado 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 figura 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.

Captulo 1 Preparao do ambiente de desenvolvimento

35

1.3.1.1 Instalao no Windows


Depois de descompactar o arquivo no disco, a estrutura de pasta deve se parecer
com a da figura 1.12.

Figura 1.12 Estrutura de pastas da instalao do Apache Tomcat.

Na instalao do Apache Tomcat obrigatrio definirmos uma nova varivel de ambiente. 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
certificar 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 figura 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 figura 1.14.

36

Programao Java para a Web

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>
shell>
shell>
shell>
shell>

sudo
sudo
sudo
sudo
sudo

apt-get
apt-get
apt-get
apt-get
apt-get

update
install
install
install
install

tomcat6
tomcat6-admin
tomcat6-docs
tomcat6-examples

Para iniciar o Apache Tomcat 6 execute:


shell> /etc/init.d/./tomcat6 start

Para finalizar o Apache Tomcat 6 execute:


shell> /etc/init.d/./tomcat6 stop

Nesse modo de instalao, a varivel de ambiente padro do Apache Tomcat fica com
os valores seguintes. Essas variveis de ambiente j foram configuradas na instalao
via apt-get, sendo mostradas aqui apenas para conhecimento.
CATALINA_HOME=/usr/share/tomcat6
CATALINA_BASE=/var/lib/tomcat6

Captulo 1 Preparao do ambiente de desenvolvimento

37

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 especficos de uma instncia do Apache Tomcat,
nesse caso, os aplicativos, bibliotecas, arquivos de configurao e temporrios.

Instalao tradicional
Uma das vantagens de utilizar a instalao tradicional que os arquivos ficam 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 definir uma nova varivel de ambiente CATALINA_HOME. Para isso
edite novamente o arquivo /etc/profile para adicionar a linha seguinte no final 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 finalizar 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 figura 1.15.

Figura 1.15 Terminal aps inicializao com sucesso do Apache Tomcat.

38

Programao Java para a Web

Teste da instalao
Depois de inicializar o Apache Tomcat conforme o tipo de instalao, abra seu navegador e digite http://localhost:8080. Dever aparecer uma pgina como a da figura
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 Configurao e gerenciamento


Neste tpico vamos passar algumas dicas de configurao e gerenciamento do Tomcat.

1.3.2.1 Alterao das portas padro do Tomcat


Por padro, o Tomcat vem com algumas portas configuradas. Como foi possvel observar 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 conflito 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
8005
8009
8443

Servio de HTTP
Servio de shutdown
Conector AJP/1.3
Porta de HTTPS

Captulo 1 Preparao do ambiente de desenvolvimento

39

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
confirmar o problema, o melhor a ser feito abrir o arquivo de log do Tomcat, localizado 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 nmeros 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 requisies 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 fique eternamente disponvel ao usurio determinado um tempo de vida para ela. Esse tempo de vida denominado session
timeout e configurvel 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 configurar o timeout da sesso, localize
o texto a seguir no arquivo web.xml e altere-o para o valor desejado.
<session-config>
<session-timeout>30</session-timeout>
</session-config>

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

40

Programao Java para a Web


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 figura 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
identificar 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 define 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"/>

Captulo 1 Preparao do ambiente de desenvolvimento

41

<user username="tomcat" password="123456" roles="manager"/>


</tomcat-users>

O nome manager a chave para definir o acesso ao aplicativo. Voc s poder alterar o
username e password ou definir 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 suficiente 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 suficiente.
Para contornar essa situao necessrio utilizar dois parmetros de configurao:
Parmetro

Descrio

-Xmx

Mximo de memria a ser reservado ao aplicativo.


Exemplo: -Xmx1024m ou Xmx1g
Quantidade inicial de memria a ser disponibilizada ao aplicativo.
Exemplo: -Xms256m


-Xms

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 quantidade 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 definir estes parmetros voc deve criar a varivel de ambiente CATALINA_OPTS,
como na figura 1.18.

Figura 1.18 Configurao da varivel CATALINA_OPTS.


O Apache Tomcat tem um arquivo padro para atribuir variveis de ambiente especficas 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 definidas variveis de ambiente
como CATALINA_OPTS, JAVA_HOME ou qualquer outra que seja necessria.

42

Programao Java para a Web

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 configurao deve ser feita em outro local, o que ser explicado no tpico 1.4.3.1.
O Windows sensvel a espaos na definio de variveis de ambiente, ou seja, a varivel
CATALINA_OPTS="123" tem um nome diferente de CATALINA_OPTS = "123". Se voc defini-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 monitoramento 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 definido em sua linha de execuo o parmetro -Dcom.sun.management.jmxremote. Para o Tomcat, esse pode ser definido 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
definido 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 figura 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 figura 1.20.
O mais interessante do JConsole com certeza o monitoramento de memria. Claro
que voc no vai precisar ficar 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

Captulo 1 Preparao do ambiente de desenvolvimento

43

painel de memria do JConsole ao uso do aplicativo poder identificar os pontos


nos quais ocorre o maior consumo de memria. Com esse paralelo poder fazer a
devida correo ou reconfigurao dos parmetros Xmx e Xms.

Figura 1.19 Tela de entrada do JConsole.

Figura 1.20 Tela principal do JConsole, exibindo vrios grficos com estatsticas do processo monitorado.

44

Programao Java para a Web

1.3.2.6 Instalao do Apache Tomcat como servio


A instalao do Apache Tomcat como servio permite que ele seja iniciado automaticamente 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
significa que voc poder definir um nome para o servio a ser instalado, caso contrrio, ser utilizado o nome Tomcat6.
importante salientar que existem vrias mudanas na forma de configurar o Apache
Tomcat ao utiliz-lo como servio, principalmente quanto aos parmetros de inicializao, 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 configurao 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 configurar 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.

Captulo 1 Preparao do ambiente de desenvolvimento

45

Na figura 1.21 podemos observar a aba General do tomcat6w.exe, na qual possvel, em


Startup type, configurar 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 configurador de servio do Apache Tomcat.

Na figura 1.22 podemos visualizar a aba Java do tomcat6w.exe, que a aba mais til na
configurao 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 figura
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 configuraes disponveis no
tomcat6w.exe.
Mais informaes sobre a configurao do Apache Tomcat como servio podem ser
obtidas em http://tomcat.apache.org/tomcat-6.0-doc/windows-service-howto.html.

46

Programao Java para a Web

Figura 1.22 Aba Java do configurador 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
fizer 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.

Captulo 1 Preparao do ambiente de desenvolvimento

47

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 configurao 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 figura 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 especfico.
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 figura 1.25.

48

Programao Java para a Web

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 figura 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

Captulo 1 Preparao do ambiente de desenvolvimento

49

criados todos os projetos do Eclipse. Nesse caso, voc tem duas opes: pode sempre
informar esse caminho manualmente ou configurar 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 figura 1.27.
Isso principalmente til quando voc estiver utilizando o Eclipse para diversos fins,
por exemplo, Eclipse Faculdade, Eclipse JME, Eclipse Estudo Livro.

Figura 1.27 Atalho do Eclipse configurando 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

50

Programao Java para a Web

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 figura 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 figura 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 genrico 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 especifique no atalho qual pasta deve ser considerada 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 figura 1.30.

Captulo 1 Preparao do ambiente de desenvolvimento

51

Figura 1.30 Configurao 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 configura 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 figura 1.31.

Figura 1.31 Atalhos para o Eclipse criados na rea de trabalho do Linux.

1.4.2 Dicas de utilizao


Na figura 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.

52

Programao Java para a Web

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 disponveis no Eclipse. Na figura 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.

Captulo 1 Preparao do ambiente de desenvolvimento

53

1.4.2.1 Perspectiva Java EE


Essa perspectiva mostra as views teis quando se est programando em Java, utilizando 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 configurados para executar os projetos.
Data Source Explorer Exibe e permite configurar 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 estiveram 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 execuo 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
Variables

Exibe a lista dos processos Java em execuo.


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.

54

Programao Java para a Web


View

Descrio (cont.)

Breakpoints
Console

Exibe os pontos de parada obrigatria para a execuo da classe Java.


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.
Localiza no arquivo aberto outras ocorrncias do texto selecionado.
Localiza uma linha determinada.
Localizao rpida de classes Java, apenas digitando partes do nome.
Localizao rpida de quaisquer arquivos, apenas digitando partes do
nome.
Exibe a lista de propriedades e mtodos da classe atual. Permite busca
rpida pelo nome.
Organiza a lista dos imports da classe.
Formata o cdigo-fonte.
Adiciona um comentrio de linha.
Adiciona um comentrio de bloco.
Renomeia a propriedade ou o mtodo selecionado, realizando o refactory de todo o cdigo. Ou seja, ser modificado o nome do elemento
em todos os lugares nos quais ele era referenciado.
Mostra a documentao da classe, mtodo ou propriedade que estiver
com o foco.
Abre a declarao da classe, mtodo ou propriedade que estiver com o
foco.
Lista todas as teclas de atalhos disponveis na IDE.

Ctrl+K
Ctrl+L
Ctrl+Shift+T
Ctrl+Shift+R
Ctrl+O
Ctrl+Shift+O
Ctrl+Shift+F
Ctrl+/
Ctrl+Shift+/
Alt+Shift+R

F2
F3
Ctrl+Shift+L

1.4.2.5 Configurao de fontes e cores


Uma configurao que muitas vezes fundamental para deixar a IDE mais ao gosto
do usurio a configurao de fontes e cores. Alguns podem querer fontes maiores
ou menores, ou uma cor de fundo diferente etc. Para alterar esse tipo de configurao
no Eclipse, acesse Window Preferences. Na janela de preferncias, abra o item General
Appearance Colors and Fonts. O item que altera as configuraes de fonte para o cdigofonte Java o Java Editor Text Font.

Captulo 1 Preparao do ambiente de desenvolvimento

55

No topo da janela Preferences, existe um campo com o texto type filter text. Qualquer palavra
que voc digitar nesse campo far com que o Eclipse s mostre as opes de configurao
que contenham essa palavra. Como essa janela contm muitas opes de configurao, 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 configurao de Proxy. Digite proxy nesse campo e o Eclipse rapidamente
mostrar a opo correta para configurao: 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 Configurao do Apache Tomcat para funcionar dentro do Eclipse


Agora que j instalamos e configuramos 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 servidor 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 figura 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 figura 1.35.
Na tela seguinte, informe o local em que foi instalado o Apache Tomcat, e clique em
Finish. O caminho definido nessa ltima tela o mesmo que j foi definido para a
varivel CATALINA_HOME. Pronto: agora o servidor que executar nossos projetos web j
est criado, como mostra a figura 1.36.
Outra forma de alterar a configurao do local no qual o servidor est instalado pelo menu
Window Preferences: selecione a opo Servers Runtime Environment.

56

Programao Java para a Web

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 boto 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 figura 1.37 voc pode observar as mensagens do Console, indicando
que o servidor foi inicializado com sucesso.

Captulo 1 Preparao do ambiente de desenvolvimento

57

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 conflito de portas, como foi
comentado na seo 1.3.2.1. Nesse caso o Eclipse tambm fornece um meio de alterar essa
configurao. Para isso basta dar um duplo clique no nome do servidor na view Servers, e ser
exibida uma tela de configuraes, conforme a figura 1.38. Voc poder alterar os nmeros
de portas pela aba Ports.

Figura 1.38 Tela de configurao do servidor, na qual possvel alterar os nmeros de portas, entre outras
configuraes.

1.4.3.1 Configurao da memria disponvel para o Tomcat


Ainda na tela da figura 1.38, clique em Open launch configuration. A tela que ser exibida
contm as informaes de configurao 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.

58

Programao Java para a Web

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 figura 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 configuramos.
No quadro Configuration, 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 Configuration e troque o URL Mapping Patterns
de /faces/* para *.jsf. Clique em Finish. A tela de configurao dever ter ficado como
na figura 1.40.

Captulo 1 Preparao do ambiente de desenvolvimento

59

Esta opo do quadro Configuration 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 configurar 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
figura 1.41.

Figura 1.41 Viso do novo projeto criado.

60

Programao Java para a Web

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 fica por padro
armazenado em /WEB-INF/web.xml. Nesse atalho, o Eclipse oferecer 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 especificao Java para projetos
web. Todo projeto web Java tem que ter essa pasta. Ela inacessvel via web, somente internamente. Isso garante que nenhum
arquivo presente nela possa ser visualizado por algum usurio.
Por esse motivo, os arquivos de configurao, bibliotecas (jar)
e classes ficam 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 figura 1.42.
Se voc observar a figura 1.42, perceber que o texto Ola Mundo e Agora so: ficou 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 figura 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)

Captulo 1 Preparao do ambiente de desenvolvimento

61

Figura 1.42 Eclipse exibindo o arquivo index.jsp que acabou de ser criado.

Voc pode perceber, na figura, a presena de uma janela mostrando o nome de classe
SimpleDateFormat. Isso foi consequncia do uso da tecla de atalho Ctrl+Espao, que realizou 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 final ficar 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:

62

Programao Java para a Web


<%=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 configurado e acione a opo Add and Remove Projects. A opo permite definir quais dos projetos
do Eclipse sero executados nesse servidor quando ele for colocado no ar. A tela que
ser exibida pode ser vista na figura 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 configurado.

Agora basta colocar o servidor configurado no ar para fazer o teste. Para isso, acione
o boto Start the Server na view Servers, conforme a figura 1.44.

Figura 1.44 Inicializao do servidor para testar o projeto.

Captulo 1 Preparao do ambiente de desenvolvimento

63

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 figura 1.45.

Figura 1.45 Pgina de teste do projeto olamundo sendo visualizada no navegador.

O aparecimento dessa pgina conforme a figura 1.45 confirma que todo o nosso ambiente de desenvolvimento est configurado 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 significa que ele seja gratuito: isso depender
de como voc utilizar o banco de dados. Para que o MySQL possa ser utilizado gratuitamente, o aplicativo que o utiliza tem que seguir a licena GPL. Isso basicamente
significa 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.

64

Programao Java para a Web

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 figura 1.46. Selecione
o instalador que pretende utilizar. Caso esteja utilizando o Linux Ubuntu, pule diretamente 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 inicialmente 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 facilitaro 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/.

Captulo 1 Preparao do ambiente de desenvolvimento

65

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.
Ferramenta para realizao de consultas e atualizaes nas bases
de dados.
Ferramenta para desenho e modelagem de bancos de dados.

SQL Development
Database Modeling

Principalmente a SQL Development ser utilizada para a execuo de SQLs no decorrer 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 arquivo de instalao, na segunda tela do assistente escolha o tipo de instalao Typical
(Tpica), que disponibiliza as opes mais comuns do MySQL, conforme a figura 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 final.
A ltima tela do assistente traz uma caixa de seleo perguntando se voc deseja
configurar o MySQL Server: mantenha-a marcada e clique em Finish.
Depois, o assistente ser iniciado para configurao do MySQL.

66

Programao Java para a Web

Configurao do MySQL
A configurao do MySQL pode ocorrer imediatamente aps a instalao ou a qualquer momento pelo menu no qual o MySQL estiver instalado, em MySQL MySQL Server
5.1 MySQL Server Instance Config Wizard.
Na primeira tela, clique em Next. Na segunda, voc poder escolher Detailed Configuration
(Configurao detalhada) ou Standard Configuration (Configurao padro). Neste captulo
vamos abordar a configurao padro, por isso, selecione a opo Standard Configuration
e clique em Next.
Na tela seguinte, ser configurado o nome do servio do MySQL Server e diretrio
as configuraes conforme a figura 1.48. Essas configuraes 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.
PATH. Deixe

Figura 1.48 Tela do assistente de configurao do MySQL no qual se instala o servio e configura-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 final da configurao. 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.

Captulo 1 Preparao do ambiente de desenvolvimento

67

Na prxima tela sero definidas as configuraes de segurana, conforme a figura


1.49. Escolha Modify Security Settings para definir 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 recomendvel 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 configurao de segurana.


Se voc j teve alguma vez instalado o MySQL em seu computador mesmo que tenha
desinstalado-o corretamente a senha root definida continua valendo. Se voc fizer 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 Framework (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/.

68

Programao Java para a Web

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 configurao automticos das ferramentas. Se estiver 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 final 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 finalizar 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

Captulo 1 Preparao do ambiente de desenvolvimento


shell>
shell>
shell>
shell>
shell>
shell>
shell>
shell>
shell>

sudo
sudo
sudo
sudo
sudo
sudo
sudo
sudo
sudo

69

cd /usr/local
tar zxvf /caminho/para/o/arquivo/mysql-<verso>-<so>.tar.gz
ln -s /mysql-<verso>-<so> mysql
cd mysql
chown -R mysql .
chgrp -R mysql .
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data

Para iniciar o MySQL, execute:


shell> sudo bin/mysqld_safe --user=mysql &

Para finalizar 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/profile ou


vi /etc/profile 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.

70

Programao Java para a Web

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 semelhante da figura 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 figura 1.51.

Figura 1.50 Tela do MySQL Workbench.

Informe um nome para a conexo em Connection Name e confirme as informaes de


Hostname, Port e Username. Se desejar guardar a senha do banco nesse aplicativo, clique
em Store in Vault.
Depois de configurada, abra a conexo que estar listada na tela principal. Ser
exibida a tela em que possvel executar os comandos SQL, conforme a figura 1.52.

Captulo 1 Preparao do ambiente de desenvolvimento

71

Figura 1.51 Tela de configurao 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 desenvolvimento do projeto proposto no livro. No decorrer da obra sero necessrios novos downloads, apenas para instalao de componentes necessrios aos projetos em construo.

Você também pode gostar