Você está na página 1de 50

Programação Java

para a Web
Décio 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 reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização,
por escrito, do autor e da Editora.

Editor: Rubens Prates


Capa: Victor Bittow
Revisão gramatical: Lia Gabriele Regius
Editoração eletrônica: Camila Kuwabata

ISBN: 978-85-7522-238-6

Histórico de impressões:
Outubro/2010 Primeira edição

Novatec Editora Ltda.


Rua Luís Antônio dos Santos 110
02460-000 – São 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 Catalogaç‹o na Publicaç‹o (CIP)


(C‰mara Brasileira do Livro, SP, Brasil)

Luckow, DŽcio Heinzelmann


Programaç‹o Java para a Web / DŽcio Heinzelmann
Luckow e Alexandre Altair de Melo. -- S‹o
Paulo : Novatec Editora, 2010.

Bibliografia.
ISBN 978-85-7522-238-6

1. Internet (Rede de computadores) 2. Java


(Linguagem de programaç‹o para computadores) 3.
Web sites I. Melo, Alexandre Altair de. II.
T’tulo.

10-08728 CDD-005.133

êndices para cat‡logo sistem‡tico:

1. Java : Linguagem de programaç‹o :


Computadores : Processamento de dados
005.133
CRM20100922
capítulo 1

Preparação do ambiente de desenvolvimento

Este capítulo 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 instalação e configuração do ambiente, bem como
explicaremos o uso de cada uma dessas ferramentas. Ao final do capítulo 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 Seleção das ferramentas


Os critérios que mais contribuíram para selecionar as ferramentas que utilizaremos
ao longo do livro são simples: popularidade e experiência. Além das ferramentas se-
lecionadas estarem entre as mais populares, elas fazem parte do dia-a-dia dos autores.
Isso com certeza possibilita criar um texto ao mesmo tempo técnico e composto de
dicas, que são baseadas na experiência adquirida pelo uso de tais ferramentas.
Comentar sobre a escolha de quais ferramentas empregar em um projeto de software
envolve vários aspectos. Entretanto, um ponto que sempre deve ser levado em conside-
ração é o envolvimento da comunidade de desenvolvedores em determinado projeto.
Nisso o Java tem um dos seus pontos fortes, pois além de instituições privadas que
criam IDEs, por exemplo, existe uma comunidade muito forte e atuante nos proje-
tos criados para a plataforma. As ferramentas Eclipse, Apache Tomcat e MySQL são
exemplos que têm comunidades altamente atuantes, que muito contribuem para
sua evolução.
Além disso, se você desenvolver seu projeto usando o Apache Tomcat e o MySQL,
encontrará com mais facilidade algum serviço de hospedagem que tenha exatamente
essa configuração. Não basta ter uma excelente ideia de um novo produto para a inter-
net e executá-lo somente em seu computador doméstico. É preciso pensar no futuro:
seu produto pode ser o próximo a ser comprado por alguns milhões de dólares por
alguma megaempresa da internet!

24
Capítulo 1 ■ Preparação do ambiente de desenvolvimento 25

Se você ainda não está pensando tão alto e quer mesmo explorar tudo o que a comu-
nidade Java oferece, existem outras ferramentas interessantes que você poderá adotar
em projetos futuros. Novas ferramentas surgem a cada dia, e isso é o combustível
que faz a evolução 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 Descrição
NetBeans Ferramenta de desenvolvimento Java oficial da Sun (www.netbeans.org).
JDeveloper Ferramenta de desenvolvimento Java oficial da Oracle (www.oracle.
com/technology/jdev).

Banco de dados Descrição


HypersonicSQL Banco de dados 100% Java. Tem vários modos de execução, entre eles,
Standalone, que permite a utilização do banco de dados sem precisar
de instalação, diretamente a partir do do JAR (http://hsqldb.org/).
Apache Derby Segue a mesma linha do HSQL e foi recentemente incorporado à distri-
buição do Java, sendo chamado de JavaDB. Pode ser utilizado para execução
em dispositivos móveis, como celulares (http://developers.sun.com/javadb/).
PostgreSQL Forte concorrente do MySQL (www.postgresql.org/).

Servidor web Java


Jetty Servidor web Java concorrente do Apache Tomcat (http://www.mortbay.
org/jetty/).
JBossWeb Servidor web Java, uma versão personalizada do Apache Tomcat, pela
JBoss (http://jboss.org/jbossweb).

A seguir, vamos instalar e configurar cada uma das ferramentas que compõem nosso
ambiente de desenvolvimento.

1.2 Linguagem Java


A linguagem Java começou a surgir em 1991 na Sun Microsystems. Inicialmente era
parte de outro projeto, chamado Green Project, que tinha como objetivo possibilitar
a convergência entre computador, equipamentos eletrônicos e eletrodomésticos.
Na época a linguagem era chamada de Oak (em português, “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 gráfica sensível ao toque e era capaz de interagir com diversos equipa-
mentos. A linguagem Oak, na época, surgiu justamente para controlar internamente
esse equipamento.
26 Programação Java para a Web

O controle remoto em si não vingou: ele estava muito a frente de seu tempo. Na
época, as empresas de TV a cabo e vídeo por demanda não tinham condições de
viabilizar o negócio.
Depois disso, James Gosling foi encarregado de adaptar a linguagem Oak para a
internet, surgindo em 1995, assim, a plataforma Java.
Umas das principais diferenças entre a plataforma Java e as demais linguagens exis-
tentes na época é que o Java é executado sobre uma JVM, ou Java Virtual Machine.
Qualquer plataforma de hardware ou equipamento eletrônico que possa executar
uma máquina virtual conseguirá executar Java. Isso justifica o slogan “write once,
run anywhere”, ou, em português, “escreva uma vez, rode em qualquer lugar”.

1.2.1 Instalação do Java


A versão do Java a ser instalada pode ser qualquer uma a partir da 5. No momento
em que este livro estava sendo escrito a versão mais recente era Java 6. O arquivo
para instalação do Java pode ser obtido em http://java.sun.com, acionando a opção
Java SE no menu Downloads, ou diretamente em http://java.sun.com/javase/downloads/.
Nessas páginas serão listados todos os tipos de pacotes de instalação do Java dispo-
níveis. As duas principais versões disponíveis são Java SE (ou JRE) e JDK, conforme a
figura 1.1. O pacote JRE (sigla de Java Runtime Environment) é o pacote mínimo neces-
sário para a execução de aplicativos Java. Já o pacote JDK (sigla de Java Development
Kit) é o pacote necessário para o desenvolvimento de aplicativos Java.

Figura 1.1 – Opção de pacotes para instalação do Java.


Capítulo 1 ■ Preparação do ambiente de desenvolvimento 27

Em nosso caso é necessário obter o pacote JDK (que também inclui o JRE). Dessa
forma, clique em Download na opção JDK 6 Update X. Na página seguinte, selecione
o ambiente (sistema operacional) de destino da instalação do pacote e a opção de
idioma. Prossiga o download conforme as instruções do site.

1.2.1.1 Instalação no Windows


Depois de realizado o download, acione o arquivo obtido e a instalação se iniciará.
Na primeira tela exibida, que contém os termos da licença de uso do Java, clique
em Accept. A tela seguinte permite configurar as opções que serão instaladas, confor-
me a figura 1.2. Mantenha todas as opções. Você pode perceber a presença dos itens
Development Tools, Demos and Samples e Source Code, que são especificamente para o desen-
volvimento de aplicativos Java. O item Public JRE é a instalação do Java Runtime
Environment que já havíamos 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 à distribuição do Java. Se preferir, mude o local de instalação
do Java, mas recomendamos manter o padrão.

Figura 1.2 – Itens do Java a serem instalados.

Na tela seguinte, a instalação se iniciará, exibindo uma barra com o progresso da


instalação. Depois de concluída essa etapa o instalador perguntará se você deseja
instalar a JRE (que foi marcada como opção da figura 1.2). Aceite a instalação e siga
todos os passos mantendo o padrão.
28 Programação Java para a Web

Configuração
Essa etapa da configuração só será necessária caso tenhamos que executar o Java por
linha de comando. A princípio isso não é obrigatório, pois utilizaremos a ferramenta
Eclipse para fazer o desenvolvimento Java. Porém, é interessante manter essa confi-
guração para uma necessidade futura.
No Windows, clique em Iniciar ➤ Painel de Controle ➤ Sistema. Clique na guia Avançado e no
botão Variáveis de Ambiente, conforme a figura 1.3.

Figura 1.3 – Tela de acesso às variáveis de ambiente.

A tela seguinte (Figura 1.4) exibe as variáveis de ambiente do Windows. Agora vamos
criar a variável que define o local de instalação do Java, que é utilizada por muitos
outros programas que precisam saber onde o Java se encontra, inclusive o Apache
Tomcat. Na região de Variáveis 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 versão utilizada
no livro, C:\Arquivos de programas\Java\jdk1.6.0_18).
Agora temos que alterar a variável Path para conter o caminho para os programas
executáveis do Java. Na tela da figura 1.4, selecione a variável Path e clique em Editar.
Vá até o campo Valor da Variável e adicione um ; (ponto e vírgula) no final da linha (se
já não houver). Acrescente o texto %JAVA_HOME%\bin;.
Capítulo 1 ■ Preparação do ambiente de desenvolvimento 29

Figura 1.4 – Tela de manutenção das variáveis de ambiente.

A variável PATH serve para que os programas possam ser executados por linha de comando
(DOS) em qualquer diretório, e não apenas naquele em que se encontra. Por isso é o caminho
definido nessa variável aponta para o \bin do JAVA_HOME, que é onde os executáveis do Java
se encontram.

Para testarmos a instalação do Java, abra um Prompt de Comando (Iniciar ➤ Programas ➤


Acessórios ➤ Prompt de Comando) e digite java –version. Esse comando exibirá a versão atual
instalada do Java, conforme a figura 1.5, indicando o sucesso da instalação.

Figura 1.5 – Teste da instalação do Java.

1.2.1.2 Instalação no Linux


Para o processo de instalação em Linux (em nosso caso utilizamos a distribuição
Ubuntu), existem duas maneiras de proceder: no Linux Debian/Ubuntu, via apt-get,
ou pela maneira tradicional, executando o arquivo de instalação obtido do site da Sun.
30 Programação Java para a Web

Instalação via apt-get


A apt-get é o gerenciador de pacotes usado no Linux Debian e em todas as suas versões
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 atualização da lista dos pacotes disponíveis para instalação
e o segundo fará o download e a instalação do Java 6 JDK. Quando o download
terminar, a instalação começará automaticamente. Porém, antes disso o apt-get irá
informar quanto de espaço em disco será necessário para a instalação e perguntará se
você deseja continuar. Responda à pergunta positivamente, como mostra a figura 1.6.

Figura 1.6 – Aceitação do início da instalação do Java 6 JDK.

O próximo passo será ler e aceitar o contrato de instalação, conforme as figuras 1.7
e 1.8. Para aceitar o contrato, tecle TAB para selecionar o botão Ok e pressione ENTER.
Depois de terminado o processo de instalação, o Java já está pronto para uso. Para
garantir o sucesso da instalação execute o comando java –version no prompt de
comando, conforme a figura 1.9. Deverão aparecer três linhas com informações da
versão instalada.
Caso seja necessário, poderá ser utilizado o seguinte comando para desinstalar o
Java 6, usando também o apt-get:
sudo apt-get autoremove sun-java6-jdk

A instalação do sun-java6-jdk compreende três subpacotes, que são sun-java6-bin, sun-


java6-jdk e sun-java6-jre. A utilização do comando autoremove garante a remoção dos
Capítulo 1 ■ Preparação do ambiente de desenvolvimento 31

três 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 instalação do Java 6 JDK.

Figura 1.8 – Tela de aceitação do contrato de instalação do Java 6 JDK.

Figura 1.9 – Teste da instalação.


32 Programação Java para a Web

Instalação tradicional
Para a instalação em Linux é preciso selecionar a plataforma Linux correspondente
no site de download do Java (http://java.sun.com/javase/downloads/). Na página seguin-
te, clique sobre o nome do arquivo para realizar o download e o salve em /usr/java
(sugestão). Em nosso caso, o arquivo é o jdk-6u18-linux-i586.bin, conforme a figura 1.10.
Observe que não estamos obtendo o arquivo RPM, mas o binário simples.

Figura 1.10 – Obtenção o arquivo para instalação 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 instalação, 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, faça a cópia do arquivo para a pasta /usr/java
usando o comando cp /home/<usuario>/Desktop/jdk*.bin /usr/java.

Assim que a instalação iniciar, deve ser feita a leitura e aceitação do contrato de
instalação. Pressione ENTER até que todo o texto seja percorrido (ou pressione q para
ir até o final) e digite yes para continuar.
Terminada a instalação, o programa sugere que você se registre no site da Sun (op-
cional). Basta pressionar ENTER para finalizar a instalação.
Capítulo 1 ■ Preparação do ambiente de desenvolvimento 33

Configuração
Caso você tenha feito a instalação tradicional é necessário configurar o Java. Con-
tinuando na pasta /usr/java, observe que foi criada a pasta jdk<versão>. Em nosso
caso, jdk1.6.0_18, de modo que o diretório de instalação do Java ficou como /usr/java/
jdk1.6.0_18.

Agora será necessário configurar o Java. Para isso, edite o arquivo /etc/profile e adicione
as novas variáveis de ambiente com o seguinte conteúdo 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 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 não exibir um conteúdo semelhante a esse, reinicie o sistema operacional
para forçar a aceitação das novas variáveis de ambiente.

1.3 Apache Tomcat


O Apache Tomcat é um contêiner Java e um servidor web ao mesmo tempo. Ele su-
porta a execução 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 produção, ele permite integração com servidores como Apache HTTP e IIS da
Microsoft, para fornecer uma capacidade ainda maior de trabalho.
Utilizaremos o Apache Tomcat versão 6 para este livro, pois ele implementa as espe-
cificações Servlet 2.5 e JSP 2.1 necessárias ao funcionamento do JavaServer Faces a
partir da versão 1.2.
34 Programação Java para a Web

1.3.1 Instalação do Tomcat


O primeiro passo para instalar o Apache Tomcat é obter o pacote de instalação do site
http://tomcat.apache.org/. Acesse o link Tomcat 6.x no menu Downloads e você será dire-
cionado para a página http://tomcat.apache.org/download-60.cgi. A página apresentará
sempre a última versão 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 instalação em Linux até poderia ser utilizado o pacote ZIP, porém, a desvantagem dele
é que o arquivo ZIP, quando extraído, não traz as permissões dos arquivos. Dessa forma você
teria que aplicar manualmente as permissões de execução nos arquivos de script.

Nessa página existe também a opção do pacote Windows Service Installer, que permite a
instalação do Tomcat por meio de um assistente no Windows. No caso, optaremos
pelo pacote ZIP, pois no Windows só é necessário 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 existência desse endereço, o melhor é copiar a URL de download do arquivo
no site e utilizar o wget para fazer o download.

Figura 1.11 – Obtenção do pacote de instalação do Apache Tomcat.


Capítulo 1 ■ Preparação do ambiente de desenvolvimento 35

1.3.1.1 Instalação 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 instalação do Apache Tomcat.

Na instalação do Apache Tomcat é obrigatório definirmos uma nova variável de am-


biente. Para isso, crie a variável CATALINA_HOME tendo como valor o caminho de instalação
do Tomcat, no caso, C:\apache-tomcat-6.0.26. Agora você pode fazer um teste para se
certificar de que a instalação ocorreu normalmente. Entre na pasta bin do diretório de
instalação do Tomcat e execute o arquivo startup.bat: o resultado da execução 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 página como
a da figura 1.14.
36 Programação Java para a Web

Figura 1.14 – Página inicial padrão do Apache Tomcat.

Para desligar o servidor, execute o arquivo shutdown.bat.

1.3.1.2 Instalação no Linux


A instalação em Linux poderá ser feita da forma tradicional, por arquivo tar.gz ou
via apt-get.

Instalação via apt-get


Estes comandos do apt-get instalarão a versão 6.0 do Apache Tomcat, seus aplicativos
administrativos e a documentação:
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 finalizar o Apache Tomcat 6 execute:


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

Nesse modo de instalação, a variável de ambiente padrão do Apache Tomcat fica com
os valores seguintes. Essas variáveis de ambiente já foram configuradas na instalação
via apt-get, sendo mostradas aqui apenas para conhecimento.
CATALINA_HOME=/usr/share/tomcat6
CATALINA_BASE=/var/lib/tomcat6
Capítulo 1 ■ Preparação do ambiente de desenvolvimento 37

Esse tipo de instalação utiliza não apenas a variável CATALINA_HOME, mas também CATALINA_
BASE. CATALINA_HOME aponta para o local de instalação do Apache Tomcat. Já CATALINA_BASE
aponta para o local dos arquivos específicos de uma instância do Apache Tomcat,
nesse caso, os aplicativos, bibliotecas, arquivos de configuração e temporários.

Instalação tradicional
Uma das vantagens de utilizar a instalação tradicional é que os arquivos ficam todos em
um único lugar, tornando mais simples sua manipulação no Apache Tomcat. Dessa
forma, a variável CATALINA_BASE nem é necessária.
Depois de realizar o download do arquivo, copie-o para a pasta /usr/java e, utilizando
o comando tar, extraia o arquivo nesse diretório, 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, faça a cópia 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 conteúdo da instalação do


Apache Tomcat. Observe que, no Linux, estamos adotando a pasta /usr/java como
padrão para todas as instalações de ferramentas Java.
Também é obrigatório definir uma nova variável de ambiente CATALINA_HOME. Para isso
edite novamente o arquivo /etc/profile para adicionar a linha seguinte no final do
arquivo. A variável indica o local de instalação 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 execução do startup.sh vai gerar uma saída, conforme a figura 1.15.

Figura 1.15 – Terminal após inicialização com sucesso do Apache Tomcat.


38 Programação Java para a Web

Teste da instalação
Depois de inicializar o Apache Tomcat conforme o tipo de instalação, abra seu na-
vegador e digite http://localhost:8080. Deverá aparecer uma página como a da figura
1.16. No caso da instalação via apt-get, essa página poderá ser um pouco diferente,
mas também trará informações sobre o Apache Tomcat.

Figura 1.16 – Página inicial padrão do Apache Tomcat.

1.3.2 Configuração e gerenciamento


Neste tópico vamos passar algumas dicas de configuração e gerenciamento do Tomcat.

1.3.2.1 Alteração das portas padrão do Tomcat


Por padrão, o Tomcat vem com algumas portas configuradas. Como foi possível ob-
servar no tópico anterior, entramos no endereço http://localhost:8080. Isso quer dizer
que a porta HTTP padrão do Tomcat é a 8080. Veja na tabela a seguir quais são as
portas padrão do Tomcat. Essa informação é 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 Descrição do serviço
8080 Serviço de HTTP
8005 Serviço de shutdown
8009 Conector AJP/1.3
8443 Porta de HTTPS
Capítulo 1 ■ Preparação do ambiente de desenvolvimento 39

O primeiro indicativo de que você está tendo problemas com a numeração de portas
do Tomcat é se a página principal acessada por http://localhost:8080 não abre. Para
confirmar o problema, o melhor a ser feito é abrir o arquivo de log do Tomcat, lo-
calizado no diretório 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á necessário 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 número correspondente à porta em questão e fazer a alteração. Esses nú-
meros podem aparecem em vários locais ao mesmo tempo. Tome o cuidado para que
nesse arquivo alguns desses números de portas apareçam dentro de comentários. Isso
pode causar alguma confusão, e a alteração pode ocorrer em um lugar que não terá efeito.

1.3.2.2 Alteração do timeout da sessão


Em aplicativos web Java, a sessão é uma área de memória disponível ao usuário. Essa
área de é utilizada pelos aplicativos para guardar informações entre as várias requisi-
ções de páginas realizadas. O problema é que o servidor web só sabe que o usuário
existe quando ele acessa alguma página: ele não sabe se o usuário continua vendo o
mesmo site ou se já fechou o navegador ou até desligou o computador.
Para que essa área de memória não fique eternamente disponível ao usuário é de-
terminado um tempo de vida para ela. Esse tempo de vida é denominado “session
timeout” e é configurável no arquivo CATALINA_HOME\conf\web.xml. O valor informado
corresponde à quantidade de minutos pela qual o servidor manterá a sessão ativa,
sem qualquer novo acesso do usuário. Para configurar o timeout da sessão, 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 memória desnecessária 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 acessível pelo endereço http://localhost:8080/manager/HTML. Permite realizar
as seguintes operações remotamente com os aplicativos:
■ Start – Inicia
■ Stop – Finaliza
40 Programação Java para a Web

■ Reload – Reinicia
■ Undeploy – Desinstala
Além disso, permite provocar um timeout em todas as sessões para cada aplicativo
para um tempo de vida determinado pelo acionamento do botão Expire Sessions. Esse
é um recurso muito interessante para forçar a liberação de memória em servidor de
produção. Na figura 1.17 você pode observar a tela do manager.

Figura 1.17 – Tela principal do Tomcat Manager.

Abaixo da relação dos aplicativos, existem mais duas áreas nas quais é possível fazer
a instalação remota de aplicativos Java e visualizar as informações do servidor. Existe
também o link Server Status, que permite visualizar todos os processos em execução no
servidor que estão atendendo a requisições de usuários. Isso pode ser muito útil caso
você esteja tendo algum problema de desempenho no aplicativo. No link é possível
identificar se existe algum processo muito pesado em execução, por quanto tempo e
qual IP fez a requisição.
Porém, por padrão a instalação do Tomcat não define qualquer usuário com permissão
de acesso ao aplicativo manager, por questões de segurança. Para incluir um usuário
com acesso ao aplicativo de gerenciamento você deve alterar o arquivo CATALINA_HOME\
conf\tomcat-users.xml. É possível 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"/>
Capítulo 1 ■ Preparação 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 usuários.

1.3.2.4 Aumento da quantidade de memória disponível para o Apache Tomcat


Por padrão, todo aplicativo Java em execução tem uma área de memória reservada
de 64 MB, porém, essa quantidade pode não ser suficiente em muitos casos. Se no
uso de seu aplicativo começarem a ocorrer erros do tipo java.lang.OutOfMemoryError, a
quantidade de memória disponível não é mais suficiente.
Para contornar essa situação é necessário utilizar dois parâmetros de configuração:
Parâmetro Descrição
-Xmx Máximo de memória a ser reservado ao aplicativo.
Exemplo: -Xmx1024m ou –Xmx1g
-Xms Quantidade inicial de memória a ser disponibilizada ao aplicativo.
Exemplo: -Xms256m

Para o valor de -Xmx você deve levar em consideração a quantidade de memória livre
no computador ou servidor. Para o valor de –Xms você deve considerar aquela quan-
tidade de memória que certamente será consumida pelo aplicativo. Um valor muito
baixo de –Xms fará com que o Java tenha que fazer muitas operação de realocação de
memória, o que consome muitos recursos da máquina e prejudica o desempenho.
Para definir estes parâmetros você deve criar a variável de ambiente CATALINA_OPTS,
como na figura 1.18.

Figura 1.18 – Configuração da variável CATALINA_OPTS.

O Apache Tomcat tem um arquivo padrão para atribuir variáveis de ambiente específicas para
uma determinada instalação. Sempre que o Tomcat for inicializado, ele executará (caso exista)
o arquivo setenv.bat ou setenv.sh. Nesse arquivo podem ser definidas variáveis de ambiente
como CATALINA_OPTS, JAVA_HOME ou qualquer outra que seja necessária.
42 Programação 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 configuração deve ser feita em outro local, o que será explicado no tópico 1.4.3.1.

O Windows é sensível a espaços na definição de variáveis de ambiente, ou seja, a variável


CATALINA_OPTS="123" tem um nome diferente de CATALINA_OPTS = "123". Se você defini-la
com espaço entre o nome e o ‘=’ ela não será reconhecida pelo Tomcat.

1.3.2.5 Monitoramento do consumo de memória e desempenho do Apache Tomcat


Essa dica será apresentada para ser utilizada junto ao Apache Tomcat, porém, 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 memória, processos (threads), carga de classes e consumo de
processamento, entre outros.
Existem dois passos necessários para que seja possível utilizá-lo. O primeiro é que
o aplicativo a ser monitorado precisa ter definido em sua linha de execução o parâ-
metro -Dcom.sun.management.jmxremote. Para o Tomcat, esse pode ser definido junto com
a variável CATALINA_OPTS; para qualquer outro aplicativo, deve ser colocado junto com
a linha de execução do Java (isso vale também para –Xmx e –Xms). Exemplo:
set CATALINA_OPTS=-Xms256m –Xmx1024m -Dcom.sun.management.jmxremote

O segundo é a execução do JConsole, que está localizado em JAVA_HOME\bin\jconsole.exe.


Antes de executá-lo é necessário que o Tomcat já tenha sido inicializado depois de ter
definido esse novo parâmetro em CATALINA_OPTS. Assim, ao ser executado, o JConsole
mostrará a lista de todos os processos Java possíveis 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 vários monitoramentos, conforme a figura 1.20.
O mais interessante do JConsole é com certeza o monitoramento de memória. Claro
que você não vai precisar ficar monitorando o servidor o tempo todo, pois não 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 observação do
Capítulo 1 ■ Preparação do ambiente de desenvolvimento 43

painel de memória do JConsole ao uso do aplicativo poderá identificar os pontos


nos quais ocorre o maior consumo de memória. Com esse paralelo poderá fazer a
devida correção ou reconfiguração dos parâmetros –Xmx e –Xms.

Figura 1.19 – Tela de entrada do JConsole.

Figura 1.20 – Tela principal do JConsole, exibindo vários gráficos com estatísticas do processo monitorado.
44 Programação Java para a Web

1.3.2.6 Instalação do Apache Tomcat como serviço


A instalação do Apache Tomcat como serviço permite que ele seja iniciado automa-
ticamente quando o computador for iniciado, sendo um recurso muito requisitado
nas empresas.

Instalação no Windows
Para instalar o Apache Tomcat como serviço, primeiro vá até a pasta \bin da instalação
do Apache Tomcat via linha de comando. Nessa pasta deverá existir o arquivo service.
bat. A sintaxe de utilização 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

Saída 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 serviço utilize o comando service remove.


Observe que na sintaxe do comando existe o parâmetro opcional service_name. Isso
significa que você poderá definir um nome para o serviço a ser instalado, caso con-
trário, será utilizado o nome Tomcat6.
É importante salientar que existem várias mudanças na forma de configurar o Apache
Tomcat ao utilizá-lo como serviço, principalmente quanto aos parâmetros de iniciali-
zação, que foram expostos no tópico 1.3.2.4, com relação ao uso da variável CATALINA_OPTS.
Em resumo, essa variável não é considerada quando se utiliza o Tomcat como serviço.
A alternativa para continuar realizando esse tipo de configuração no Tomcat como
serviço é utilizar o aplicativo [CATALINA_HOME]\BIN\tomcat6w.exe. Porém, esse aplicativo só
funcionará para o serviço instalado caso o nome do serviço seja Tomcat6.

Muito provavelmente poderão ser executados vários serviços do Apache Tomcat em um


mesmo servidor. Para poder configurar esses serviços utilizando o aplicativo tomcat6w.exe
basta duplicá-lo e renomeá-lo considerando o padrão [service_name]w.exe. Por exemplo, se
você quiser um novo serviço do Tomcat com o nome tomcatTeste, deverá instalar o serviço
usando o comando service install tomcatTeste, duplicar o tomcat6w.exe e renomear para
tomcatTestew.exe.
Capítulo 1 ■ Preparação do ambiente de desenvolvimento 45

Na figura 1.21 podemos observar a aba General do tomcat6w.exe, na qual é possível, em


Startup type, configurar se o serviço terá inicialização Manual, Automática ou Desabilitada.
Também é possível iniciar e parar o serviço nos botões Start e Stop.

Como posteriormente controlaremos a inicialização do Apache Tomcat por dentro do


Eclipse IDE, recomenda-se deixar o serviço como Startup type: Manual, no ambiente de
desenvolvimento.

Figura 1.21 – Aba General do configurador de serviço do Apache Tomcat.

Na figura 1.22 podemos visualizar a aba Java do tomcat6w.exe, que é a aba mais útil na
configuração do Tomcat. Os principais campos a serem utilizados nessa tela serão o
Java Options, no qual será possível incluir parâmetros de inicialização, e Initial memory pool
e Maximum memory pool, que correspondem aos parâmetros –Xms e –Xms, respectivamente.
Também é possível controlar o serviço Tomcat6 ou qualquer outro criado por meio do
Gerenciador de Serviços do Windows em Painel de Controle ➤ Ferramentas Administrativas ➤
Serviços. Este será exibido com o nome amigável Apache Tomcat, conforme a figura
1.23. Se você clicar com o botão direito no serviço e em propriedades, verá o nome
físico atribuído (ex: tomcat6) e outras informações. Também será possível iniciar e
parar o serviço, mas não será possível fazer as mesmas configurações disponíveis no
tomcat6w.exe.

Mais informações sobre a configuração do Apache Tomcat como serviço podem ser
obtidas em http://tomcat.apache.org/tomcat-6.0-doc/windows-service-howto.html.
46 Programação Java para a Web

Figura 1.22 – Aba Java do configurador de serviço do Apache Tomcat.

Figura 1.23 – Tela de serviços do Windows, exibindo o serviço do Apache Tomcat.

1.4 Eclipse IDE


A ferramenta Eclipse foi inicialmente desenvolvida pela IBM e depois doada para a
comunidade. Hoje o Eclipse não é apenas uma IDE de desenvolvimento Java, mas
uma plataforma de desenvolvimento de código aberto. Por padrão, sempre que você
fizer um download do Eclipse ele estará preparado para o desenvolvimento Java, mas
cada vez mais as empresas e a comunidade têm usado a plataforma Eclipse para criar
plug-ins para as mais diversas linguagens de programação.
Capítulo 1 ■ Preparação do ambiente de desenvolvimento 47

Para você ter uma ideia, utilizando o Eclipse, hoje é possível programar em C/C++,
COBOL, PHP e Progress entre outras. Além disso, ele oferece todos os recursos para
que você mesmo crie novos plug-ins para a ferramenta.
A seguir, faremos a instalação da ferramenta e a configuração e veremos dicas de
utilização.

1.4.1 Instalação 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 página como a da figura 1.24.

Figura 1.24 – Tela da sessão de downloads do site do Eclipse.

Como você pode perceber, existem várias opções de pacotes de download: são diversas
combinações diferentes de plug-ins e recursos, cada uma com um objetivo específico.
Em nosso caso, a melhor opção é a Eclipse IDE for Java EE Developers. Nesse item, clique no
sistema operacional desejado à direita e veja que existem opções para Windows, Mac
OS e Linux 32 e 64 bits.
Na página seguinte será oferecido um local no qual você fará o download do Eclipse,
ou você pode percorrer a lista logo abaixo na mesma página e fazer o download de
um local mais próximo do Brasil, por exemplo. Clique no link de um local, conforme
a figura 1.25.
48 Programação Java para a Web

Figura 1.25 – Seleção do local de origem do download do Eclipse.

1.4.1.1 Instalação no Windows


Assim como no caso do Apache Tomcat, o Eclipse também não 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 prático é 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 serão
Capítulo 1 ■ Preparação do ambiente de desenvolvimento 49

criados todos os projetos do Eclipse. Nesse caso, você tem duas opções: pode sempre
informar esse caminho manualmente ou configurar qual workspace deseja trabalhar
por meio do parâmetro –data no atalho.
Isso permite ter apenas uma instalação do Eclipse e vários atalhos apontando para
workspaces diferentes. O parâmetro –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 Instalação 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, faça a cópia 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 diretório, conforme a seguir.


tar xvfz eclipse-jee-galileo-SR2-linux-gtk.tar.gz
50 Programação Java para a Web

Esse comando gera uma pasta eclipse com o conteúdo da instalação do Eclipse IDE.
Observe que, no Linux, estamos adotando a pasta /usr/java como padrão para todas
as instalações de ferramentas Java.
Depois de extraído, 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 prático é criar um atalho para o Eclipse em sua
área de trabalho do Linux. Para criar o atalho no Linux Ubuntu, clique com o botão
direito do mouse na área de trabalho e selecione Criar Lançador, conforme a figura 1.29.

Figura 1.29 – Criação de um atalho no Linux.


Existem dois tipos básicos de atalhos que podem ser criados para o Eclipse, um ge-
nérico e outro apontando para um workspace (pasta de projetos). O atalho genérico,
quando aberto, sempre perguntará qual o workspace você quer trabalhar ou abrirá
no workspace padrão.
O segundo atalho permite que você especifique no atalho qual pasta deve ser consi-
derada para o workspace, utilizando o parâmetro –data. Isso é interessante, pois você
pode ter uma instalação do Eclipse trabalhando com várias 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.
Capítulo 1 ■ Preparação do ambiente de desenvolvimento 51

Figura 1.30 – Configuração 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/<usuário>/projetos/.
Observe que o parâmetro –data configura a pasta /home/<usuário>/projetos/ como a pasta
de projetos para esse atalho do Eclipse. Essa pasta não precisa existir imediatamente:
o Eclipse irá criá-la assim que necessário. Se você quiser criar um novo atalho para
projetos da Faculdade, por exemplo, utilize o caminho /home/<usuário>/projetos_faculdade.
Dessa forma, criar atalhos do Eclipse e usar o parâmetro -data para cada necessidade
mantém 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 utilização


Na figura 1.32 temos uma visão geral do Eclipse, na primeira vez em que ele é aberto.
Nele você pode perceber a organização geral da ferramenta. A primeira coisa que
chama a atenção é a organização interna. Existem várias subjanelas internas, que são
conhecidas como views.
52 Programação Java para a Web

Figura 1.32 – Visão da tela do Eclipse na primeira fez em que é aberto.

Outro conceito de organização 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-
níveis no Eclipse. Na figura 1.33 podemos ver algumas delas.

Figura 1.33 – Visão das perspectivas inicialmente disponíveis 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.
Capítulo 1 ■ Preparação do ambiente de desenvolvimento 53

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 são descritas a seguir.
View Descrição
Project Explorer Exibe todos os projetos do workspace em questão. Em cada projeto
são exibidos todos os arquivos envolvidos (arquivos Java, XML etc.).
Problems Exibe os erros de compilação encontrados nas fontes dos projetos.
Tasks Exibe uma lista de tarefas pendentes.
Servers Exibe uma lista dos servidores configurados para executar os pro-
jetos.
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 botões que auxiliam na inclusão de blocos de código-fonte
no arquivo aberto. Por exemplo: inclusão de comentário, bloco de
script, diretivas de página.
Outline Exibe a relação de propriedades e métodos da classe Java que esti-
veram em execução, sendo muito útil para localizar mais facilmente
no programa.

A disposição 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 não é exibida a view Server
e, em vez da view Project Explorer, é exibida a view Package Explorer, que facilita a
visualização 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-
cução em Java. O debug é a execução passo a passo de uma classe Java, permitindo
visualizar as linhas que serão executadas. Nessa perspectiva existem, além das views
(Servers, Outline e Tasks) já apresentadas, as seguintes:
View Descrição
Debug Exibe a lista dos processos Java em execução.
Variables Mostra as variáveis envolvidas na execução atual e seu respectivo valor. É
possível também alterar o valor de alguns tipos de variáveis manualmente,
no meio da execução.
54 Programação Java para a Web

View Descrição (cont.)


Breakpoints Exibe os pontos de parada obrigatória para a execução da classe Java.
Console Exibe as mensagens de saída da execução 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 são as teclas de atalho. As teclas relacionadas a seguir estão entre as mais
utilizadas.
Tecla de atalho Descrição
Ctrl+Espaço Realiza o code completion, ou seja, sugere opções para qualquer coisa
que você tenha digitado, com base em nomes de classes, métodos,
propriedades etc.
Ctrl+K Localiza no arquivo aberto outras ocorrências do texto selecionado.
Ctrl+L Localiza uma linha determinada.
Ctrl+Shift+T Localização rápida de classes Java, apenas digitando partes do nome.
Ctrl+Shift+R Localização rápida de quaisquer arquivos, apenas digitando partes do
nome.
Ctrl+O Exibe a lista de propriedades e métodos da classe atual. Permite busca
rápida pelo nome.
Ctrl+Shift+O Organiza a lista dos imports da classe.
Ctrl+Shift+F Formata o código-fonte.
Ctrl+/ Adiciona um comentário de linha.
Ctrl+Shift+/ Adiciona um comentário de bloco.
Alt+Shift+R Renomeia a propriedade ou o método selecionado, realizando o refac-
tory de todo o código. Ou seja, será modificado o nome do elemento
em todos os lugares nos quais ele era referenciado.
F2 Mostra a documentação da classe, método ou propriedade que estiver
com o foco.
F3 Abre a declaração da classe, método ou propriedade que estiver com o
foco.
Ctrl+Shift+L Lista todas as teclas de atalhos disponíveis na IDE.

1.4.2.5 Configuração de fontes e cores


Uma configuração que muitas vezes é fundamental para deixar a IDE mais ao gosto
do usuário é a configuração de fontes e cores. Alguns podem querer fontes maiores
ou menores, ou uma cor de fundo diferente etc. Para alterar esse tipo de configuração
no Eclipse, acesse Window ➤ Preferences. Na janela de preferências, abra o item General ➤
Appearance ➤ Colors and Fonts. O item que altera as configurações de fonte para o código-
fonte Java é o Java Editor Text Font.
Capítulo 1 ■ Preparação 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 opções de configuração
que contenham essa palavra. Como essa janela contém muitas opções de configuração, e
esse número aumentará na medida em que você instalar novos recursos ou plug-ins, esse
recurso é bastante interessante. Um exemplo de propriedade muitas vezes necessária e que é
difícil encontrar é a configuração de Proxy. Digite proxy nesse campo e o Eclipse rapidamente
mostrará a opção correta para configuração: General ➤ Network Connections.

No manual do Eclipse, existe uma relação completa de todas as dicas de utilização


e recursos das ferramentas, em Help ➤ Tips and Tricks, além da tecla de atalho Ctrl+Shift+L,
que mostra uma relação de todas as teclas de atalho do Eclipse.

1.4.3 Configuração 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 padrão no ser-
vidor também 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 botão direito do mouse
e escolher New ➤ Server, conforme a figura 1.34.

Figura 1.34 – Criação de um novo servidor na view Server.

Isso iniciará o assistente de criação 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
variável 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 configuração do local no qual o servidor está instalado é pelo menu
Window ➤ Preferences: selecione a opção Servers ➤ Runtime Environment.
56 Programação Java para a Web

Figura 1.35 – Seleção do servidor a ser criado.

Figura 1.36 – View Server do Eclipse exibindo o servidor recém-criado.

Para testar o funcionamento do Apache Tomcat por dentro do Eclipse, clique no bo-
tão que realiza a execução 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 saída do servidor, indicando que ele está em processo de
inicialização. Na figura 1.37 você pode observar as mensagens do Console, indicando
que o servidor foi inicializado com sucesso.
Capítulo 1 ■ Preparação do ambiente de desenvolvimento 57

Figura 1.37 – View Console exibindo as mensagens de saída do servidor, durante o processo de inicialização.

É nesse momento que também poderão ocorrer os erros de conflito de portas, como foi
comentado na seção 1.3.2.1. Nesse caso o Eclipse também fornece um meio de alterar essa
configuração. Para isso basta dar um duplo clique no nome do servidor na view Servers, e será
exibida uma tela de configurações, conforme a figura 1.38. Você poderá alterar os números
de portas pela aba Ports.

Figura 1.38 – Tela de configuração do servidor, na qual é possível alterar os números de portas, entre outras
configurações.

1.4.3.1 Configuração da memória disponível para o Tomcat


Ainda na tela da figura 1.38, clique em Open launch configuration. A tela que será exibida
contém as informações de configuração de como o Apache Tomcat será executado
por dentro do Eclipse.
Na aba Arguments, altere o campo VM Arguments e acrescente os parâmetros –Xmx e –Xms
com a quantidade de memória necessária.
58 Programação Java para a Web

1.4.4 Criação 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 botão direito do mouse na view Project Explorer,
como na figura 1.39. Selecione a opção New ➤ Dynamic Web Project.

A criação de projetos também pode ser feita pelo menu File ➤ New ➤ Dynamic Web Project.
Dependendo da perspectiva ativa pode ser que essa opção de projeto não seja apresentada.
Nesse caso, vá para New ➤ Other e selecione o item Web ➤ Dynamic Web Project.

Figura 1.39 – Seleção do tipo do projeto a ser criado.

Na tela que será exibida, informe um nome para o projeto, preferencialmente sem
espaços nem caracteres especiais. No campo Server Runtime, selecione Apache Tomcat
v6 – que foi o servidor que configuramos.
No quadro Configuration, clique no botão Modify e marque a opção JavaServer Faces –
clique em OK. Na tela de criação 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 configuração deverá ter ficado como
na figura 1.40.
Capítulo 1 ■ Preparação do ambiente de desenvolvimento 59

Esta opção do quadro Configuration não é obrigatória, mas é recomendada caso você
queria trabalhar com JavaServer Faces. O interessante é que ela habilita o assistente de
código (code completion) nos arquivos XHTML, auxiliando na utilização de tags e atributos.
Independentemente de você ter feito ou não esta opção, vamos configurar e instalar
completamente o JavaServer Faces de forma manual no projeto.

Figura 1.40 – Criação do novo projeto web.

Depois de criado o projeto, este deve aparecer na view Project Explorer, conforme a
figura 1.41.

Figura 1.41 – Visão do novo projeto criado.


60 Programação Java para a Web

Essa é a estrutura-padrão do projeto web dentro do Eclipse. A seguir serão descritos


os principais itens dessa estrutura de projeto.
Item Descrição
Deployment Descriptor Fornece um atalho para o arquivo web.xml, que fica por padrão
armazenado em /WEB-INF/web.xml. Nesse atalho, o Eclipse ofer-
ecerá vários assistentes para incluir novos elementos no arquivo
web.xml.
Java Resources Fornece acesso aos arquivos Java do projeto. É nesse elemento
que aparecerão todos os packages de seu aplicativo.
WebContent Representa o conteúdo raiz do aplicativo web. Nessa pasta você
deverá colocar a página index.html e todas as outras páginas,
jsp, css, imagens etc. Nela você pode criar a estrutura de pastas
que quiser.
WebContent/WEB-INF A pasta WEB-INF faz parte da especificação Java para projetos
web. Todo projeto web Java tem que ter essa pasta. Ela é inaces-
sível via web, somente internamente. Isso garante que nenhum
arquivo presente nela possa ser visualizado por algum usuário.
Por esse motivo, os arquivos de configuração, bibliotecas (jar)
e classes ficam seguros nessa pasta.
WebContent/WEB-INF/lib
Nessa pasta devem ser mantidos todos os arquivos Jar necessários
ao funcionamento do projeto.

Agora que já estamos com o projeto criado e conhecemos sua estrutura, vamos criar
um arquivo JSP e testar sua execução no servidor. Como acabamos de ver, o local
correto para criar um arquivo JSP é na pasta WebContent. Dessa forma, clique com o
botão direito do mouse na pasta WebContent e vá até New ➤ JSP.
Será aberto um assistente para a criação 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 edição, conforme a figura 1.42.

Se você observar a figura 1.42, perceberá que o texto Ola Mundo e Agora são: ficou sublinhado
por uma linha ondulada, igual ao MS-Word quando faz a correção de uma palavra. E é exatamente
isso que aconteceu, mas no momento esse não é um recurso interessante e podemos desligá-lo.
Para desligar o Spell Checking, abra a janela Windows ➤ Preferences, selecione a opção General ➤
Editors ➤ Text Editors ➤ Spelling e desmarque a opção Enable spell checking.

A figura 1.42 exibe uma alteração no arquivo, com a intenção de mostrar a seguinte
mensagem na tela:
Olá Mundo
Agora são: 13:55 (hora atual)
Capítulo 1 ■ Preparação 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 presença de uma janela mostrando o nome de classe
SimpleDateFormat. Isso foi consequência do uso da tecla de atalho Ctrl+Espaço, que reali-
zou o code-completion. Observe que digitamos apenas o texto simpledatef no arquivo
e pressionamos Ctrl+Espaço. 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 página (<%page%>), no parâmetro 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 são:
62 Programação 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 botão direito do mouse no servidor configu-
rado e acione a opção Add and Remove Projects. A opção permite definir quais dos projetos
do Eclipse serão 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 execução no servidor, clicando depois em Finish.

Você deverá repetir esse mesmo procedimento para qualquer outro projeto que queira executar
no servidor. Nessa tela também é possível remover projetos. Se você deixar no servidor
somente os projetos que realmente está utilizando, o servidor subirá mais rapidamente e
consumirá menos memória.

Figura 1.43 – Inclusão de projetos para serem executados no servidor configurado.

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

Figura 1.44 – Inicialização do servidor para testar o projeto.


Capítulo 1 ■ Preparação 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 rápido. Agora, se você abrir um navegador e
digitar o endereço http://localhost:8080/olamundo será exibida a página index.jsp que
acabamos de criar, sendo uma página igual à da figura 1.45.

Figura 1.45 – Página de teste do projeto olamundo sendo visualizada no navegador.

O aparecimento dessa página conforme a figura 1.45 confirma que todo o nosso am-
biente 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 necessárias para que ele se concretize.

1.5 MySQL
O MySQL é o banco de dados de código-fonte aberto mais popular do mundo,
tendo mais de 70 milhões de instalações 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 código-fonte aberto não significa que ele seja gratuito: isso dependerá
de como você utilizará o banco de dados. Para que o MySQL possa ser utilizado gra-
tuitamente, o aplicativo que o utiliza tem que seguir a licença GPL. Isso basicamente
significa que, se você não obtiver lucro com o seu aplicativo, não precisará pagar pelo
MySQL e que sempre deverá distribuir os códigos-fonte do MySQL junto com seu
aplicativo ou pelo menos indicar onde obtê-los.
64 Programação Java para a Web

1.5.1 Instalação 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 botão downloads abaixo do nome MySQL
Community Server, que é a versão que utilizaremos, ou diretamente no endereço http://
dev.mysql.com/downloads/mysql/5.1.html. Role a página 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 di-
retamente para a seção 1.5.1.2, pois poderemos usar o instalador apt-get.
Para fazer o download, sugerimos a versão Windows MSI Installer, e para o Linux, a versão
Linux (x86), a não ser que seu computador seja 64 bits.

Para a instalação em Windows, não obtenha a versão MySQL Essentials, pois ela vem com
várias ferramentas a menos no pacote.

Figura 1.46 – Página de download do MySQL para diferentes sistemas operacionais.

Depois de clicar em Download você será direcionado para uma página na qual inicial-
mente será solicitado que você se cadastre, o que não é necessário: 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 vários locais do mundo
nos quais os arquivos da instalação estão replicados (espelhados).

MySQL Workbench
Além do próprio servidor, o MySQL também oferece outras ferramentas que fa-
cilitarão bastante a administração do banco de dados. Essas ferramentas também
estão disponíveis no site http://www.mysql.com/downloads, no link MySQL Workbench, ou
diretamente no endereço http://dev.mysql.com/downloads/workbench/.
Capítulo 1 ■ Preparação do ambiente de desenvolvimento 65

O MySQL Workbench inclui as seguintes ferramentas:


Ferramenta Descrição
Server Administration Ferramenta de administração, utilizada para a criação dos bancos
de dados, administração de usuários e rotinas de backup/restore.
SQL Development Ferramenta para realização de consultas e atualizações nas bases
de dados.
Database Modeling Ferramenta para desenho e modelagem de bancos de dados.

Principalmente a SQL Development será utilizada para a execução de SQLs no de-


correr do projeto

1.5.1.1 Instalação do MySQL Server no Windows


A instalação em Windows acontece com a ajuda de um assistente. Executando o ar-
quivo de instalação, na segunda tela do assistente escolha o tipo de instalação Typical
(Típica), que disponibiliza as opções mais comuns do MySQL, conforme a figura 1.47.

Figura 1.47 – Tela do assistente do MySQL na qual se escolhe o tipo de instalação.


Clicando em Next a instalação será iniciada. Concluída a instalação, serão exibidas
algumas telas com informações comerciais: basta clicar em Next até chegar ao final.
A última tela do assistente traz uma caixa de seleção perguntando se você deseja
configurar o MySQL Server: mantenha-a marcada e clique em Finish.
Depois, o assistente será iniciado para configuração do MySQL.
66 Programação Java para a Web

Configuração do MySQL
A configuração do MySQL pode ocorrer imediatamente após a instalação ou a qual-
quer 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
(Configuração detalhada) ou Standard Configuration (Configuração padrão). Neste capítulo
vamos abordar a configuração padrão, por isso, selecione a opção Standard Configuration
e clique em Next.
Na tela seguinte, será configurado o nome do serviço do MySQL Server e diretório
PATH. Deixeas configurações conforme a figura 1.48. Essas configurações instalam o
MySQL como um serviço do Windows e colocam seu diretório BIN em PATH, o que será
bastante útil na execução de comandos do MySQL no DOS. Clique em Next.

Figura 1.48 – Tela do assistente de configuração do MySQL no qual se instala o serviço e configura-se o
diretório PATH.

Nesse ponto, caso o MySQL já tenha sido instalado em sua máquina em alguma ocasião
talvez seja necessário trocar o nome do serviço, pois se já existir um com o respectivo Service
Name ocorrerá erro no final da configuração. Para garantir que já não haja um serviço com
o nome MySQL, vá em Painel de Controle ➤ Ferramentas Administrativas ➤ Serviços e procure o
nome em questão na lista.
Capítulo 1 ■ Preparação do ambiente de desenvolvimento 67

Na próxima tela serão definidas as configurações de segurança, conforme a figura


1.49. Escolha Modify Security Settings para definir uma senha principal para o MySQL e
mantenha desmarcadas as opções Enable root access from remote machines e Create An Anonymous
Account. A primeira opção permite o acesso administrativo de uma máquina remota,
e a segunda permite o acesso sem senha ao MySQL; nenhuma dessas opções é reco-
mendável para o mínimo de segurança.
Informe a senha de sua preferência 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 configuração de segurança.

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 instalação do MySQL essa senha será solicitada por meio do campo Current Password,
que será exibido.

1.5.1.2 Instalação do MySQL Workbench no Windows


Para a instalação do MySQL Workbench é necessário instalar antes o .Net Fra-
mework (caso já não 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 Programação 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 instalação segue normalmente por meio de um assistente até a conclusão. Depois
de instalado, ele estará disponível no menu MySQL do Windows.
Veja como utilizar o MySQL Workbench no tópico 1.5.2.

1.5.1.3 Instalação do MySQL Server no Linux


Se você estiver utilizando o Linux Ubuntu, a instalação via apt-get será muito mais fácil,
pois ela fará o download, instalação e configuração automáticos das ferramentas. Se es-
tiver utilizando outra distribuição, a instalação tradicional via tar.gz deverá ser utilizada.

Instalação via apt-get


Esses comandos do apt-get instalarão a versão 5.0 do MySQL Server, pois é essa a
versão atualmente disponível nessa forma de instalação.
shell> sudo apt-get update
shell> sudo apt-get install mysql-server

No final da instalação 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

Instalação tradicional
Para a instalação 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 disponíveis, mudando somente o nome do arquivo no site.
Existem pacotes mysql-client, mysql-debug, mysql-shared-compat e embedded, entre outros. Porém,
apenas o pacote mysql-<versão> ou mysql-server-<versão> 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 ❷
Capítulo 1 ■ Preparação do ambiente de desenvolvimento 69

shell> sudo cd /usr/local


shell> sudo tar zxvf /caminho/para/o/arquivo/mysql-<versão>-<so>.tar.gz ❸
shell> sudo ln -s /mysql-<versão>-<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 finalizar o MySQL, execute:


shell> sudo bin/mysqladmin –u root -p shutdown

Nas linhas ❶ e ❷ são criados o grupo mysql e usuário mysql, que sempre será utilizado
nos comandos das linhas ❺ e ❻. Na linha ❸ é feita a extração do arquivo tar.gz obtido
do site do MySQL. Essa extração gera uma pasta com o mesmo nome do arquivo.
Na linha ❹ é criado um atalho com o nome mysql apontando para a pasta extraída,
para facilitar o acesso.
Para alterar a senha do MySQL execute o comando a seguir, pois como padrão o
usuário root do MySQL vem com a senha em branco.
shell> sudo ./mysqladmin –u root password nova_senha

Para incluir os executáveis 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 Instalação do MySQL Workbench em Linux


Para a instalação do MySQL Workbench é necessário instalar antes alguns utilitários,
conforme a instrução 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 instalação 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 tópico 1.5.2.


70 Programação 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 seme-
lhante à da figura 1.50 será exibida.
Nessa tela aparecem três colunas, com os aplicativos disponíveis, que são: 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 conexão, abrindo uma tela conforme a da figura 1.51.

Figura 1.50 – Tela do MySQL Workbench.

Informe um nome para a conexão em Connection Name e confirme as informações de


Hostname, Port e Username. Se desejar guardar a senha do banco nesse aplicativo, clique
em Store in Vault.
Depois de configurada, abra a conexão que estará listada na tela principal. Será
exibida a tela em que é possível executar os comandos SQL, conforme a figura 1.52.
Capítulo 1 ■ Preparação do ambiente de desenvolvimento 71

Figura 1.51 – Tela de configuração de conexão no MySQL Workbench.

Figura 1.52 – Tela para execução de SQLs no MySQL Workbench.

1.6 Conclusão
Finalizamos a instalação de todas as ferramentas que serão necessárias para o desenvol-
vimento do projeto proposto no livro. No decorrer da obra serão necessários novos do-
wnloads, apenas para instalação de componentes necessários aos projetos em construção.

Você também pode gostar