Programação Java para Web

April 29, 2018 | Author: EmidioFernandesBuenoNetto | Category: Linux, Java (Programming Language), Hypertext Transfer Protocol, Random Access Memory, Java Server Pages
Share Embed Donate


Short Description

Download Programação Java para Web...

Description

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: [email protected] 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 (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

(CIP)

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 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 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 consideraçã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 projetos 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 internet 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 comunidade 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 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

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 à distribuiçã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 JBossWeb

Servidor web Java concorrente do Apache Tomcat (http://www.mortbay. org/jetty/). 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 equipamentos. 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 existentes 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 disponí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 necessá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, conforme 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 desenvolvimento 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 configuraçã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, sunjava6-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 seguinte, 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//Desktop. Via console, faça a cópia do arquivo para a pasta /usr/java usando o comando cp /home//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 (opcional). 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. Continuando na pasta /usr/java, observe que foi criada a pasta jdk. 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 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 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 suporta 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 especificaçõ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á direcionado 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 ambiente. 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> 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 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//Desktop. Via console, faça a cópia do arquivo para a pasta /usr/java usando o comando cp /home//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 navegador 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 observar 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 8005 8009 8443

Serviço de HTTP Serviço de shutdown Conector AJP/1.3 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, localizado 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 é determinado 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. 30

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.

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

41



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 Quantidade inicial de memória a ser disponibilizada ao aplicativo. Exemplo: -Xms256m

-Xms



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 quantidade 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 monitoramento 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 automaticamente 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 contrá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 inicializaçã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//Desktop. Via console, faça a cópia do arquivo para a pasta /usr/java usando o comando cp /home//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 gené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 considerada 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//projetos/. Observe que o parâmetro –data configura a pasta /home//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//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 disponí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, utilizando 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 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 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 estiveram 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 execuçã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 Variables

Exibe a lista dos processos Java em execução. 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 Console

Exibe os pontos de parada obrigatória para a execução da classe Java. 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. Localiza no arquivo aberto outras ocorrências do texto selecionado. Localiza uma linha determinada. Localização rápida de classes Java, apenas digitando partes do nome. Localização rápida de quaisquer arquivos, apenas digitando partes do nome. Exibe a lista de propriedades e métodos da classe atual. Permite busca rápida pelo nome. Organiza a lista dos imports da classe. Formata o código-fonte. Adiciona um comentário de linha. Adiciona um comentário de bloco. Renomeia a propriedade ou o método selecionado, realizando o refactory de todo o código. Ou seja, será modificado o nome do elemento em todos os lugares nos quais ele era referenciado. Mostra a documentação da classe, método ou propriedade que estiver com o foco. Abre a declaração da classe, método ou propriedade que estiver com o foco. Lista todas as teclas de atalhos disponíveis 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 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ódigofonte 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 servidor 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 botã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 oferecerá 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 é inacessí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 realizou 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 (), no parâmetro import. O arquivo final ficará igual ao texto a seguir. Teste inicial Olá Mundo. Agora são:

62

Programação Java para a Web

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 configurado 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 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 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 gratuitamente, 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 diretamente 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 inicialmente 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 facilitarã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. Ferramenta para realização de consultas e atualizações 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 execução de SQLs no decorrer 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 arquivo 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 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 (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 as 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. PATH. Deixe

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 é recomendá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 Framework (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 estiver 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- ou mysql-server- 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 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--.tar.gz ❸ ln -s /mysql-- 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 ❷ 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 semelhante à 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 desenvolvimento do projeto proposto no livro. No decorrer da obra serão necessários novos downloads, apenas para instalação de componentes necessários aos projetos em construção.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF