Programação Java para a Web Décio Heinzelmann Luckow Alexandre Altair de Melo



Documentos relacionados
Ambientação JAVA. Versão 0.1 MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 UNIVERSIDADE CEUMA 08/01/2014

MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO. Motor Periférico Versão 8.0

2ª Edição Décio Heinzelmann Luckow Alexandre Altair de Melo

Procedimentos para Reinstalação do Sisloc

GEPLANES GESTÃO DE PLANEJAMENTO ESTRATÉGICO MANUAL DE INSTALAÇÃO DO GEPLANES EM UM AMBIENTE WINDOWS

Lazarus pelo SVN Linux/Windows

SIPREV/Gestão de RPPS Implantação Manual de Instalação Versão 1.18

TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH!

Manual de Instalação do Agente Citsmart

Manual de instalação e configuração da Ferramenta Android SDK

Instalando e Atualizando a Solução Arquivos de Instalação Instalação do Servidor de Aplicação Instalação JDK...

Instalando o J2SE 5.0 JDK no Windows 2000/XP

MANUAL DO ANIMAIL Terti Software

Lógica de Programação

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014.

Instalação do ByYou ESB. Guia de Instalação e Atualização do ByYou ESB

Operador de Computador. Informática Básica

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO

Arquivos de Instalação Instalação JDK Instalação Apache Tomcat Configurando Tomcat... 9

INSTALAÇÃO DO SISTEMA CONTROLGÁS

CONFIGURAÇÃO MINIMA EXIGIDA:

Projeto Amadeus. Guia de Instalação Windows

Revisão: - 1 Desinstalando Versões Anteriores

Desenvolvendo Websites com PHP

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes

Nome N Série: Ferramentas

SCPIWeb. SCPIWebDespRec Aplicação Web para Consulta de Despesas e Receitas ( Lei Complementar nº 131 de 27 Maio de 2009 )

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

3. No painel da direita, dê um clique com o botão direito do mouse em qualquer espaço livre (área em branco).

02 - Usando o SiteMaster - Informações importantes

MANUAL COTAÇAO WEB MANUAL MANUAL AVANÇO INFORMÁTICA AVANÇO INFORMÁTICA. [Digite seu endereço] [Digite seu telefone] [Digite seu endereço de ]

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Na tela dele, clique no sinal de + ao lado do nome do seu computador, para expandi-lo. A seguir, expanda também o item "Sites da web".

Tutorial Plone 4. Manutenção de Sites. Universidade Federal de São Carlos Departamento de Sistemas Web Todos os direitos reservados

Atualizaça o do Maker

ÍNDICE 1.CONHECENDO OS APLICATIVOS NECESSÁRIOS PARA O FUNCIONAMENTO DO SISTEMA URANO INTEGRA...

INSTALAÇÃO DO MICROSOFT WINDOWS SHAREPOINT SERVICES 2.0

Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5.

Obs: É necessário utilizar um computador com sistema operacional Windows 7.

atube Catcher versão 3.8 Manual de instalação do software atube Catcher

ÍNDICE SERVIÇOS DO WINDOWS MASTERSAF DFE

Dicas para usar melhor o Word 2007

Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade

Iniciação à Informática

Projeto Amadeus. Guia de Instalação Linux

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER

Procedimentos para Instalação do Sisloc

Manual Captura S_Line

Instalando o WordPress em localhost

Manual de Utilização do Sistema GRServer Cam on-line (Gerenciamento de Câmeras On-line)

GUIA DE INÍCIO RÁPIDO NHS NOBREAK MANAGER 4.0 TOPOLOGIA MÍNIMA DE REDE PARA A INSTALAÇÃO E USO DO SOFTWARE COM GPRS

OMT-G Design. Instalação por pacotes

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

Curso Básico de Visual FoxPro 8.0

b 1 Copyright In9 Mídia Soluções Digitais Inc. All rights reserved.

Instruções Básicas de Instalação - BrOffice.org

É o UniNorte facilitando a vida de nossos docentes e discentes.

NetEye Guia de Instalação

Instalando e configurando o Java Development Kit (JDK)

Instalando servidor Apache com MySQL e as linguagens ColdFusion e PHP. XAMPP (xampp-win installer.exe), veja aqui.

Instalação: permite baixar o pacote de instalação do agente de coleta do sistema.

Manual das funcionalidades Webmail AASP

INTRODUÇÃO AO WINDOWS

Manual Administrador - Mídia System

Google Drive. Passos. Configurando o Google Drive

Guia Sphinx: instalação, reposição e renovação

Tutorial: Serviços web e suas composições

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

Google Drive: Acesse e organize seus arquivos

IMPORTANTE: O sistema Off-line Dr.Micro é compatível com os navegadores Mozilla Firefox e Internet Explorer.

Configurando um Grupo Doméstico e Compartilhando arquivos no Windows 7

Cartilha da Nota Fiscal Eletrônica 2.0 Hábil Empresarial PROFISSIONAL & Hábil Enterprise

2. O AMBIENTE DE PROGRAMAÇÃO EM C

MQSeries Everyplace. Leia-me primeiro G

UNIVERSIDADE FEDERAL DE GOIÁS CERCOMP (CENTRO DE RECURSOS COMPUTACIONAIS) TUTORIAL DE USO DO WEBMAIL - UFG

OneDrive: saiba como usar a nuvem da Microsoft

GUIA BÁSICO DA SALA VIRTUAL

Instalação do VOL Backup para Sistemas Unix-Like

Índice. Manual Backup Online. 03 Capítulo 1: Visão Geral

Guia de instalação para ambiente de Desenvolvimento LINUX

Manual de Utilização COPAMAIL. Zimbra Versão 8.0.2

Como acessar o novo webmail da Educação? Manual do Usuário. 15/9/2009 Gerencia de Suporte, Redes e Novas Tecnologias Claudia M.S.

CENTRO UNIVERSITÁRIO CATÓLICA DE SANTA CATARINA PRÓ-REITORIA ACADÊMICA NÚCLEO DE EDUCAÇÃO EM AMBIENTES DIGITAIS NEAD

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

Gestão Comercial GUIA RÁPIDO DE INSTALAÇÃO DO ORYON.

Qlik Sense Desktop. Qlik Sense 1.1 Copyright QlikTech International AB. Todos os direitos reservados.

Sistema de Instalação e Criação da Estrutura do Banco de Dados MANUAL DO INSTALADOR. Julho/2007. Ministério da saúde

Manual de backup do banco de dados PostgreSQL - Versão 2. Setembro-2011

Como Usar o DriverMax

Atualização De Mapas GPS Apontador. 1º Acessar site: 2º Selecione o Idioma para Português no seu canto direito.

Portal do Senac: Área Exclusiva para Alunos Manual de Navegação e Operação

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS

Instalando o Lazarus e outros sistemas de suporte. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Sistema de Controle de Cheques GOLD

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

MANUAL DE INSTALAÇÃO CONFIGURAÇÃO IDE ECLIPSE

Instalando software MÉDICO Online no servidor

Transcrição:

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 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 NetBeans JDeveloper Descrição 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. 1.2.1.2 Instalação no Linux Figura 1.5 Teste da instalação do Java. 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/<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 (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<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 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> 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. e shell> sh startup.sh 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 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, 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. <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 -Xmx -Xms Descrição 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 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