tutorial tomcat - instalação e configuração

22
Tutorial Tomcat - Instalação e Configuração Básica Márcio d'Ávila, 16 de dezembro de 2003. Revisão 33, 07 de abril de 2009. Categoria: Programação: Java: Servidor Nota: Na revisão 13 deste tutorial, o conteúdo foi bastante ampliado e atualizado. Os tópicos de criação e configuração de contexto sofreram as maiores mudanças, visando melhor organização e padronização do ambiente, inclusive passando a funcionar de forma unificada tanto para a versão 5 quanto a 4 do Tomcat. A revisão 18 passou a cobrir também Tomcat 5.5. A revisão 25 começou a cobrir Tomcat 6.0. Os arquivos de configuração e exemplos listados aqui estão também disponíveis para baixar (download), como um pacote compactado ZIP: Arquivos de exemplo deste Tutorial: tomcat_arqs.zip (ZIP) Sumário Introdução 1. Instalar Java - JSE SDK (JDK) 1. Qual versão de JDK utilizar 2. Instalação Passo-a-Passo do JDK 3. JAVA_HOME 2. Instalar Tomcat 1. Qual versão de Tomcat utilizar 2. Instalação Passo-a-Passo do Tomcat 3. Iniciar e parar o Tomcat 1. [Windows] Tomcat como serviço 2. Tomcat como processo 4. Testar Tomcat 5. Criar contexto de desenvolvimento 1. Estrutura de diretórios 2. Criar contexto de aplicação web 6. Configurar contexto: web.xml 7. Ativar contexto 8. Testar contexto 9. Bibliotecas Servlet 10. Testar seus servlets 11. Testar seus JSPs 12. Logs 13. Variáveis de Ambiente 14. Material de referência 15. E agora? 16. Mais informações 14/05/2009 Tutorial Tomcat - Instalação e Config… mhavila.com.br/topicos/…/tomcat.html 1/22

Upload: vailtom

Post on 24-Jun-2015

486 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Tutorial Tomcat - Instalação e Configuração

Tutorial Tomcat - Instalação e ConfiguraçãoBásicaMárcio d'Ávila, 16 de dezembro de 2003. Revisão 33, 07 de abril de 2009.Categoria: Programação: Java: Servidor

Nota:

Na revisão 13 deste tutorial, o conteúdo foi bastante ampliado e atualizado. Os tópicos de criação econfiguração de contexto sofreram as maiores mudanças, visando melhor organização epadronização do ambiente, inclusive passando a funcionar de forma unificada tanto para a versão5 quanto a 4 do Tomcat. A revisão 18 passou a cobrir também Tomcat 5.5. A revisão 25começou a cobrir Tomcat 6.0.

Os arquivos de configuração e exemplos listados aqui estão também disponíveis para baixar (download),como um pacote compactado ZIP:

Arquivos de exemplo deste Tutorial: tomcat_arqs.zip (ZIP)

Sumário

Introdução

1. Instalar Java - JSE SDK (JDK)1. Qual versão de JDK utilizar2. Instalação Passo-a-Passo do JDK3. JAVA_HOME

2. Instalar Tomcat1. Qual versão de Tomcat utilizar2. Instalação Passo-a-Passo do Tomcat

3. Iniciar e parar o Tomcat1. [Windows] Tomcat como serviço2. Tomcat como processo

4. Testar Tomcat5. Criar contexto de desenvolvimento

1. Estrutura de diretórios2. Criar contexto de aplicação web

6. Configurar contexto: web.xml7. Ativar contexto8. Testar contexto9. Bibliotecas Servlet

10. Testar seus servlets11. Testar seus JSPs12. Logs13. Variáveis de Ambiente14. Material de referência15. E agora?16. Mais informações

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 1/22

Page 2: Tutorial Tomcat - Instalação e Configuração

Introdução

O Tomcat é um servidor de aplicações Java para web. É software livre e de código aberto, surgidodentro do conceituado projeto Apache Jakarta e que teve apoio e endosso oficial da Sun Microsystemscomo Implementação de Referência (RI) para as tecnologias Java Servlet e JavaServer Pages (JSP).Atualmente, o Tomcat tem seu próprio projeto de desenvolvimento independente, dentro da ApacheSoftware Foundation. O Tomcat é robusto e eficiente o suficiente para ser utilizado mesmo em umambiente de produção.

Nota: A partir do Java EE 5.0, com as versões de especificações Servlet 2.5 e JSP 2.1, aimplementação de referência (RI) destas tecnologias passou a ser o servidor de aplicações Java EE5.0 completo (Web e EJB) Sun Java System Application Server Platform Edition 9, baseado noprojeto de software livre GlassFish Community.

Tecnicamente, o Tomcat é um Conteiner Web, parte da plataforma corporativa Java Enterprise Edition(Java EE, anteriormente denominada J2EE) que abrange as tecnologias Servlet e JSP, incluindotecnologias de apoio relacionadas como Realms e segurança, JNDI Resources e JDBC DataSources. OTomcat tem a capacidade de atuar também como servidor web/HTTP autônomo, ou pode funcionarintegrado a um servidor web dedicado, como Apache httpd ou Microsoft IIS, ou ainda como parteintegrante de um servidor de aplicações mais amplo, como JBoss AS, provendo os recursos de JavaServlet e JSP.

O Tomcat porém não implementa um conteiner EJB. Para aplicações Java Enterprise Edition (Java EE)que utilizam Enterprise JavaBeans (EJB), você deve procurar um servidor de aplicações Java EEcompleto, como JBoss AS (software livre), GlassFish (software livre), Apache Geronimo (software livre),IBM WebSphere (comercial), BEA WebLogic (comercial), Oracle AS (comercial), ou o Java EE SDKque inclui Sun Java System Application Server Platform Edition (gratuito), entre outros.

Este é um tutorial de instalação e configuração básica do Tomcat. Ele foi escrito e testado com base eminstalações do Tomcat 4.1, 5.0, 5.5 e 6.0 em Windows, Unix e Linux. As configurações aqui propostassão para criar um ambiente de desenvolvimento bem simples e independente de qualquer ambienteintegrado de desenvolvimento (IDE), suficiente para um primeiro contato com o Tomcat e as tecnologiasJava para web. O tutorial, porém, não cobre o aprendizado da linguagem Java ou das tecnologias Servlete JSP em si, nem tampouco o desenvolvimento de aplicações para web. Para mais informações sobreesses tópicos, veja as seções 15 e 16 ao final deste tutorial.

Alternativas?

Se você quer considerar alternativas ao Tomcat, uma boa opção é o projeto Jetty, servidor web econtêiner Servlet Java, também software livre. Jetty 6 suporta as mais recentes especificaçõesServlet 2.5 e JSP 2.1 da plataforma Java EE 5.0.

1. Instalar Java - JSE SDK (JDK)

O Tomcat é inteiramente escrito em Java e, portanto, necessita de uma Java Virtual Machine (JVM) —Máquina Virtual Java — para ser executado. Assim, é necessário ter a plataforma Java Padrão, JavaPlatform Standard Edition (Java SE), previamente instalada.

Na Tecnologia Java, existem duas distribuições do Java SE:

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 2/22

Page 3: Tutorial Tomcat - Instalação e Configuração

Java Runtime Engine (JRE) — Mecanismo de Execução Java: inclui a JVM, bibliotecas e outroscomponentes necessários para executar aplicações ou applets escritas em linguagem Java. É oproduto adequado para quem é apenas usuário da tecnologia Java.

Software Development Kit (SDK) — Kit de Desenvolvimento de Software — do Java SE, maisconhecido como Java Development Kit (JDK): inclui todo o JRE, mais ferramentas de linha decomando como compilador, debugador e outros componentes necessários para construiraplicações Java.

Tomcat 4.1 e 5.0 necessitavam do JDK, para compilar as páginas JSP. O Tomcat 5.5 em diante trazembutido e usa o complilador Java Eclipse JDT para compilar JSP. Assim, o Tomcat a partir da versão5.5 necessita apenas do JRE, mas o JDK ainda é útil para o desenvolvedor.

Para seu ambiente de desenvolvimento Java com Tomcat, onde você deve criar aplicações Java em geral,utilize o JDK completo.

1.1. Qual versão de JDK utilizar

A versão mais atual da plataforma Java SE é a 6, lançada em dezembro de 2006. As duas versõesanteriores, Java SE 5 (desde setembro 2004) e J2SE 1.4.2 (desde junho 2003), ainda são consideradasativas. Já o J2SE 1.3.1 encerrou seu ciclo de vida e não deve ser usado para nenhum propósito.

O Tomcat 6.0 requer Java SE 5.0 ou superior. O Tomcat 5.5 suporta também J2SE 1.4.x, mas énecessário instalar um pacote adicional de compatibilidade.

Se você está iniciando um novo ambiente de desenvolvimento, a princípio o mais adequado é utilizar aversão mais recente, JDK 6, que inclui todas as melhorias e facilidades atuais para a tecnologia Javapadrão. O Java SE 6 é plenamente compatível com as versões anteriores, exceto raras exceções.Havendo impossibilidade de usar o Java SE 6, o Java SE 5 também funciona muito bem com Tomcat.

Considere optar por versão anterior de JDK somente se o Java SE mais recente ainda não está disponívelpara o seu sistema operacional, ou se há alguma restrição de suporte, compatibilidade com aplicaçõespré-existentes ou outro impedimento crítico.

Fim do ciclo de vida:

As versões de Java SE anteriores da Sun gradualmente atingem um período de transição para fimdo ciclo de vida (End of Life - EOL), que se encerra (End of Service Life - EOSL) normalmenteapós a disponibilização pública (General Availability - GA) de duas versões seguintes de Java SE.A transição para EOL do J2SE 5.0 iniciou em 2008-04-08 e vai até 2009-10-30. O Java SE forBusiness 5.0 oferece período de suporte estendido. A transição EOL do J2SE 1.4.2 foi de 2006-12-12 a 2008-10-30. E J2SE 1.3.1 encerrou seu período de 2004-10-25 a 2006-12-11, exceto naplataforma Solaris 8 onde o suporte ao J2SE 1.3.1 continua até o fim do Vintage Support de cincoanos do sistema operacional.

A plataforma Java SE (JRE e JDK) é disponibilizada nativa para cada sistema operacional suportado pelatecnologia Java. Desde o Java SE 5.0, a Sun Microsystems provê JDK para os sistemas operacionaisWindows, Linux e Solaris. A HP fornece JDK para seu HP-UX desde dezembro de 2004; a Appledisponibiliza o JDK 5.0 para seu Mac OS X desde abril de 2005, com suporte a 64-bits, e trouxe o JavaSE 6 (1.6.0_05) no Mac OS X 10.5 Update 1 em maio de 2008.

Quando este tutorial foi editado, a atualização mais recente de Java SE SDK disponibilizada pela SunMicrosystems era JDK 6.0 Update 13, para Windows, Linux e Solaris.

Para obter o Java SE SDK (JDK) e informações sobre a instalação em seu sistema operacional, acesseos links correspondentes a seguir:

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 3/22

Page 4: Tutorial Tomcat - Instalação e Configuração

Windows, Linux e Solaris, 32 e 64 bits - Sun

Download: http://java.sun.com/javase/downloads/ (JDK 6), ou anteriores JDK 5, J2SE1.4.2 SDK

Informação: Java Se 6 Update Release Notes (sumário das mudanças em todos oslançamentos de atualização da versão 1.6.0) - Java Runtime Environment WindowsInstallation for JavaSE 6u10, Java SE 6 Notas de Versão - Instalação da Plataforma; ouveja “Notas de Instalação” e “Configurações de Sistema Suportadas” para as versõesanteriores 5.0 ou 1.4.2

Mac OS X - Apple

Download: Apple - Java Downloads, Apple Downloads - Mac OS X Updates

Informação: Apple Developer Connection: Java, Java for Apple Mac OS X

HP-UX - HP

Download: Java technology software for HP-UX

Informação: HP Unix - Java Information Library

FreeBSD

Download: FreeBSD JDK Distributions

Informação: FreeBSD Java Project

Home-page: http://java.sun.com/javase/

Mais detalhes sobre convenções de nome e versão do ambiente Java padrão podem ser encontrados emJ2SE Code Names e Version 1.5.0 or 5.0.

Nota:

É possível haver várias versões de JDK/JRE instaladas no computador em locais distintos,convivendo sem problema. Neste caso, é importante ficar atento a qual versão será selecionadapara uso do Tomcat. A variável de ambiente padrão JAVA_HOME deve ser definida (e mantidaatualizada) indicando o local de instalação do J2SE preferencial (veja tópico 1.3 adiante). Estavariável é consultada pelo Tomcat e vários outros sistemas baseados em Java para determinar aJVM preferencial.

1.2. Instalação Passo-a-Passo do JDK

1.2.1. Instalar JDK para Windows

1.2.2. Instalar JDK para Solaris/Linux

1.3. JAVA_HOME

Complementando a instalação do Java 2 SDK, defina a variável de ambiente JAVA_HOME apontando paraseu local de instalação. Esta variável de ambiente padrão é usada pelo Tomcat e vários outros sistemasbaseados em Java, para determinar a JVM preferencial. Isto é muito importante se houver mais de umainstalação de J2SE no computador, mas a variável JAVA_HOME deve ser definida mesmo se houverapenas uma versão instalada.

Importante:

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 4/22

Page 5: Tutorial Tomcat - Instalação e Configuração

Modifique o caminho para JAVA_HOME de acordo com a versão e o local de instalação do JDKem seu computador.

Nota:

Quando instalar uma nova versão de Java, lembre-se de também atualizar a variável de ambienteJAVA_HOME.

Windows 2000 ou superior:Acesse "Painel de Controle" > Sistema > aba "Avançado". Pressione o botão "Variáveis deambiente" (ver imagem). No grupo "Variáveis do sistema" (recomendado, pois fica valendo paratodos os usuários), ou ainda "Variáveis de usuário" (se desejar apenas para seu usuário), crie umanova variável JAVA_HOME, ou edite se já existente, definindo como valor o caminho da pasta deinstalação, por exemplo C:\Arquivos de programas\Java\jdk1.6.0_13 (ver imagem).A nova configuração passa a valer imediatamente após o "OK", exceto para janelas de prompt decomando (console) já abertas.

Windows 9x / NT:Edite o arquivo autoexec.bat, para incluir a linha:set JAVA_HOME=C:\Arquivos de programas\Java\jdk1.6.0_13

Reinicie o sistema para a nova configuração ser efetivada.

Unix / Linux:Edite o profile do usuário (para sh: ~/.profile) ou global do sistema (/etc/profile), paraincluir a linha:JAVA_HOME=/opt/javase; export JAVA_HOME

Reinicie a sessão ou terminal para a nova configuração ser efetivada.No Linux, também é possível incluir a variável de ambiente no arquivo global de ambiente/etc/environment: JAVA_HOME=/opt/javase

Para mais informações sobre variáveis de ambiente recomendadas, veja também a seção 13 destetutorial.

2. Instalar Tomcat

2.1. Qual versão de Tomcat utilizar

O Tomcat tem evoluído paralelamente à evolução da Plataforma Java EE e suas especificações para web,especialmente Java Servlet e JavaServer Pages (JSP). O quadro a seguir relaciona as versões de Tomcatcom as respectivas versões de tecnologias suportadas.

Tomcat Servlet JSP Java EE

6.0 2.5 2.1 Java EE 5.0

5.5 2.4 2.0 J2EE 1.4

4.1 2.3 1.2 J2EE 1.3

Se você está iniciando o aprendizado e desenvolvimento Java para web, é recomendado utilizar a versãomais atualizada Tomcat 6.0, que é compatível com as especificações e tecnologias mais recentes e é ofoco principal de desenvolvimento do projeto Tomcat. A maior parte dos recursos atuais é compatívelcom versões anteriores. Para mais informações sobre as versões de Tomcat, veja Apache TomcatVersions.

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 5/22

Page 6: Tutorial Tomcat - Instalação e Configuração

A versão anterior 5.5 do Tomcat ainda é muito utilizada, pois a especificação J2SE 1.4 e suastecnologias, bem como os produtos baseados nelas, estão maduros e bem difundidos no mercado. Já oTomcat 4.1 está muito defasado e não é recomendado.

Para obter o Tomcat e informações sobre instalação e documentação, acesse o site Apache Tomcat, naApache Software Foundation:

Download: http://tomcat.apache.org/download-60.cgi

Informação: Tomcat 6.0 Setup e RUNNING.txt 6.0, Tomcat 5.5 Setup e RUNNING.txt 5.5,RUNNING.txt 4.1

Home-Page: tomcat.apache.org (antigo jakarta.apache.org/tomcat/)

Dica:

Fique atento às versões do Tomcat que corrigem vulnerabilidades de segurança e atualize seuTomcat regularmente. Veja: Apache Tomcat 6.x vulnerabilities e 5.x vulnerabilities.

Quando este tutorial foi editado, a versão estável mais recente era Tomcat 6.0.18 (APIs Servlet 2.5 eJSP 2.1, integrantes do Java EE 5.0). O download do instalador para Windows pode ser acessado nosite primário em apache-tomcat-6.0.18.exe (instalador com serviço Windows). A página principal dedownload apresenta todas as alternativas de versões de Tomcat e repositórios de download (mirrors).

Importante:

O Tomcat 6.0 requer Java SE 5.0 ou superior. O Tomcat 5.5 suporta também J2SE 1.4.x, mas énecessário baixar e descompactar o pacote adicional de compatibilidade com JDK 1.4(apache-tomcat-5.5.*-compat.zip).

Tomcat 4.1 e 5.0 exigiam um JDK instalado. O Tomcat 5.5 em diante necessita apenas do JRE, emborao JDK continue útil para o desenvolvedor. De qualquer forma, é interessante que esteja definida a variávelde ambiente JAVA_HOME apontando para o local de instalação do JDK mais atual. Importante - TomcatWindows: No passo "Java Virtual Machine path selection" do instalador, certifique-se de informar ocaminho correto do JDK.

Na instalação Windows, a seleção de componentes personalizada (Custom) permite instalar e ativar oTomcat como serviço no Windows NT/2000 ou superior, pelo item "Service". No Tomcat 5 em diante, oserviço é sempre instalado e o item "Service" apenas escolhe a sua ativação automática na inicialização doWindows.

O diretório principal (local de instalação) do Tomcat é referenciado posteriormente neste tutorial comoCATALINA_HOME. Na documentação e scripts do Tomcat, esse diretório é também referenciado assim,pois Catalina é o nome-código do projeto Tomcat e seu contêiner Servlet.

Importante:

O separador de diretórios mais usado aqui é a barra normal (/) do Unix e Linux; usuários doWindows devem substituir pela barra-invertida (\) quando apropriado. Note que a barra de Unix éaceita como separador de diretório mesmo em Windows nos arquivos de configuração do Tomcate pelos programas java e javac.

2.2. Instalação Passo-a-Passo do Tomcat

Siga o anexo correspondente à versão desejada, para um passo-a-passo do processo de instalação econfiguração inicial do Tomcat:

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 6/22

Page 7: Tutorial Tomcat - Instalação e Configuração

2.2.1. Instalar Tomcat 6.0 (ou 5.5) para Windows

[Obsoleto] Versões anteriores para Windows: 2.2.1A. Tomcat 5.0 e 2.2.1B. Tomcat 4.1

2.2.2. Instalar Tomcat em Unix/Linux

3. Iniciar e parar o Tomcat

Você pode executar o Tomcat instalando como serviço (Windows NT/2000 ou superior), cominicialização automática ou manual; ou executá-lo como processo isolado (qualquer sistema operacional),por um atalho no menu Iniciar do Windows ou por script shell (.bat/.sh). Veja a seguir a seçãocorrespondente à forma de inicialização desejada.

3.1. [Windows] Tomcat como serviço

Nota:

O Tomcat Monitor foi atualizado várias vezes durante a evolução do Tomcat 5. Os procedimentose ilustrações apresentados a seguir refletem o Apache Service Manager incluso no Tomcat 5.0.22em diante. Existem algumas diferenças nas versões anteriores.

[Windows] Para iniciar e parar o Tomcat (5 em diante) como serviço, o recomendo é usar oTomcat Monitor, que consiste na ferramenta Apache Service Manager (Procrun) fornecida como Tomcat:

1. Inicie o Tomcat Monitor utilizando o atalho em: Iniciar > Programas > Apache Tomcat >Monitor Tomcat. Deve surgir um pequeno ícone (ver imagem) na área de notificação dabarra de tarefas do Windows (ao lado do relógio). Este ícone indica o estado atual doserviço Tomcat (quadrado vermelho = parado, triângulo verde = iniciado).

2. Clique no ícone com o botão direito do mouse; no menu de contexto que se abre, escolha"Start service" ou "Stop service" (ver imagem).

Através da opção "Configure" do Tomcat Monitor, ou do ícone "Configure Tomcat" no menuiniciar, você acessa a caixa de Propriedades do Tomcat, onde pode configurar opções úteiscomo a gravação de log do servidor (aba Logging) e o runtime/JRE e Máquina Virtual Java autilizar (aba Java), entre outros (ver imagem).

[Windows] Alternativamente em Windows, também é possível usar os recursos do própriogerenciador de serviços do sistema operacional para iniciar, parar e reiniciar o serviço ApacheTomcat, através do Gerenciador de Serviços do Windows em: Iniciar > Configurações > Painel deControle > Ferramentas Administrativas > Serviços (ver imagem). Ou através do prompt decomandos, no console texto:

Tomcat 5 em dianteIniciar: net start "Apache Tomcat"

Parar: net stop "Apache Tomcat"

Tomcat 4.1Iniciar: net start "Apache Tomcat 4.1"

Parar: net stop "Apache Tomcat 4.1"

Para mais informações sobre como gerenciar e executar o Tomcat como serviço do Windows, o uso dosprogramas tomcat6w.exe (Procrun Service Manager) e tomcat6.exe (Service Runner) e seusrespectivos parâmetros de linha de comando, veja a página Apache Tomcat 6.0 - Windows serviceHOW-TO.

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 7/22

Page 8: Tutorial Tomcat - Instalação e Configuração

HOW-TO.

3.2. Tomcat como processo

Para iniciar e parar o Tomcat como processo pelo prompt de comandos (console ou shell) dosistema operacional:

1. defina as variáveis de ambiente JAVA_HOME e CATALINA_HOME, para apontar odiretório principal da instalação do Java SDK e do Tomcat, respectivamente. Orecomendado é criar o script [Windows] setenv.bat ou [Unix] setenv.sh dentro deCATALINA_HOME/bin, com estas configurações (veja seção 13 deste tutorial);

2. vá para o diretório bin do Tomcat:[Windows] cd %CATALINA_HOME%\bin

[Unix] cd $CATALINA_HOME/bin

3. execute o script desejado:Iniciar: [Windows] startup.bat  ou  catalina start    [Unix] startup.sh  ou  catalina.sh start

Parar: [Windows] shutdown.bat  ou  catalina stop    [Unix] shutdown.sh  ou  catalina.sh stop

[Windows] Para iniciar e parar o Tomcat 4.1 graficamente como processo, existem atalhos em:Iniciar > Programas > Apache Tomcat 4.1. Use o atalho "Start Tomcat" para iniciar o Tomcat; e"Stop Tomcat" para finalizar.

Observações importantes para a plataforma Windows:

Um erro comum é ter o Tomcat já iniciado como serviço e tentar iniciá-lo novamente, comoprocesso. A segunda execução não conseguirá ser iniciada, acusando que já existe algum servidorutilizando o seu porto (port 8080). Neste caso, obviamente seria necessário antes parar o serviço,se realmente fosse desejado iniciar o Tomcat como processo.

Quando o Tomcat é iniciado como processo console, abre-se uma janela console (ver imagem).Mantenha a janela aberta e não feche manualmente. A janela console fecha automaticamentequando é acionado o comando de encerrar o processo (Shutdown do Tomcat).

4. Testar Tomcat

Para testar se o Tomcat está rodando ok após iniciado, abra o browser e vá para o endereço:

http://localhost:8080/

Na home-page padrão do Tomcat, o link "Tomcat Documentation" dá acesso a toda a documentaçãonecessária, instalada localmente, inclusive a API Servlet/JSP da Sun, inclusa com o Tomcat.

O Tomcat inclui um contexto chamado Tomcat Manager, que provê uma interface web amigável paragerenciar as aplicações (contextos) — listar, parar, iniciar, recarregar, instalar (deploy), remover(undeploy) — e ver informações e estado do servidor e de suas conexões/threads. O instalador Windowssolicita o login de usuário (padrão é admin) e a senha para acesso a este recurso.

Para acessar o Tomcat Manager, siga o link respectivo no quadro "Administration" da home-pagepadrão do servidor, ou acesse diretamente o endereço http://localhost:8080/manager/html.

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 8/22

Page 9: Tutorial Tomcat - Instalação e Configuração

Atenção:

No Tomcat 5.5, a aplicação Administration não é mais instalada por padrão. É necessáriofazer download e instalação do pacote adicional apache-tomcat-5.5.*-admin.tar.gz parausá-la. Esta aplicação permite criar, excluir e configurar de forma gráfica itens correspondentesaos elementos e atributos disponíveis no arquivo de configuração server.xml.

Se você ainda não entende bem a estrutura e características da configuração de um servidor de aplicaçãoweb Java como o Tomcat, não altere nada sem saber. Você pode contudo acessar a ferramenta deGerenciamento (Tomcat Manager), fornecer o login e senha do usuário administrativo configurado nainstalação e visualizar o Estado do Servidor, que apresenta uma série de informações técnicas sobre ofuncionamento do servidor Tomcat.

Administração Avançada:

Uma poderosa ferramenta (de terceiros) para monitoramento e gerenciamento para o ApacheTomcat é o Lambda Probe, projeto de software livre. É uma alternativa avançada ao TomcatManager, oferecendo recursos adicionais. Lambda Probe é compatível com Tomcat 5.x e 6(Probe 1.7b) e roda como uma aplicação web (contexto) instalada no próprio Tomcat.

5. Criar contexto de desenvolvimento

Para executar seus servlets e JSPs, você precisa colocá-los dentro de um contexto de aplicação web(ServletContext). Cada contexto é uma unidade de aplicação web Java (servlet/JSP) que possui suaspróprias configurações.

Para organizar o desenvolvimento, é interessante criar um contexto novo e ativar sua opção reloadable(recarga automática das classes modificadas). Para isso, faça o seguinte:

5.1. Estrutura de diretórios

Crie um diretório que será a sua estrutura de desenvolvimento web Java. Uma organização simplessugerida é a seguinte:

dev/

src/ (os fontes .java ficam aqui, organizados em pacotes/diretórios)

web/ (arquivos do módulo web)WEB-INF/ (diretório obrigatório)

classes/ (os .class gerados devem ser direcionados para cá)lib/ (pacotes jar de bibliotecas utilizadas devem ficar aqui)web.xml (arquivo XML de configuração do contexto)

(aqui entram os JSPs; podem ser criados sub-diretórios)index.jsp (home-page do módulo Java web), ou um index.html

Supondo que seu diretório "dev" seja em C:\dir\dev\ (Windows), assim, o módulo web ficaria emC:\dir\dev\web.

Nota:

Esta estrutura, apesar de simples, costuma ser suficiente e adaptável ao modelo de organização damaioria das ferramentas (IDEs) de desenvolvimento Java (como Eclipse, NetBeans, JDeveloperetc.), ao menos para um único projeto. Para referências sobre modelos de organização de projeto

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 9/22

Page 10: Tutorial Tomcat - Instalação e Configuração

etc.), ao menos para um único projeto. Para referências sobre modelos de organização de projetoe código-fonte, veja a seção 16 - Mais informações deste tutorial.

5.2. Criar contexto de aplicação web

A tarefa aqui consiste em criar no Tomcat um novo contexto de aplicação web, para seu ambiente dedesenvolvimento. Existem basicamente três meios de se criar um contexto no Tomcat, cuja configuraçãocorresponde a um código XML com um elemento Context:

Usar um dos mecanismos de Deployment Automático de Aplicação do Host no Tomcat. Este é omeio mais recomendado, pois permite configuração automática do contexto na inicialização eatualização dinâmica da aplicação web durante a execução do Tomcat. Usaremos este meio naforma mais simples e direta, criando um arquivo XML separado com as configurações docontexto.

Editar o arquivo de configuração principal do servidor Tomcat. Consiste em criar um elementoContext diretamente no arquivo conf/server.xml, dentro de um elemento Host. Este meio,ainda muito usado até o Tomcat 4, não é mais recomendado a partir do Tomcat 5, em prol doDeployment Automático. A criação de um contexto pelo arquivo server.xml tem váriasdesvantagens: não é dinâmica pois atualizações neste arquivo só podem ser re-lidas reiniciando oTomcat, cria o risco de invalidar toda a configuração do servidor se for cometido um erro nasintaxe de uma tag de contexto, e mistura configurações de servidor com configurações decontexto.

Pela aplicação de Administração do Tomcat com interface web, quando instalada.

Existem ainda outras formas de criação e configuração automática de um contexto de aplicação web,como o uso de um pacote Web Application Archive (WAR) e o arquivo META-INF/context.xmldentro do WAR. Para mais informações, veja a documentação Deployer HOW-TO (apenas Tomcat 5) eContext Container na Referência de Configuração do Servidor Tomcat.

Criando o arquivo dev.xml:Criaremos um arquivo XML, para o novo contexto chamado "dev". O arquivo deve ficar em:

Tomcat 5+:CATALINA_HOME/conf/Catalina/localhost/dev.xml

Catalina é o mecanismo e localhost (máquina local) é o hostname padrão.

Tomcat 4:CATALINA_HOME/webapps/dev.xml

webapps é o diretório base de aplicações definido no atributo appBase do Host.

Crie o arquivo dev.xml na localização já descrita, com o conteúdo do quadro a seguir. Oconteúdo é a definição do Context, precedida pela tag de identificação de arquivo XML:

<?xml version="1.0" encoding="iso-8859-1"?>

<Context path="/dev" docBase="C:/dir/dev/web" reloadable="true" crossContext="true" debug="3"></Context>

Importante:

O principal atributo definido é o docBase do elemento Context, especificando o caminhocompleto para o diretório base dos arquivos desta aplicação web. Modifique este atributopara informar a localização do dev/web em seu computador.

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 10/22

Page 11: Tutorial Tomcat - Instalação e Configuração

Nota: No Tomcat 4.1, era possível configurar no Context um elemento aninhado Loggerpara opções de log do contexto. No Tomcat 5.5 em diante, o tratamento de logging foitotalmente reestruturado. Uma conseqüência importante é que o elemento Logger deixoude existir. Para detalhes sobre configurar e utilizar logs em sua aplicação, veja a seçãoo 12- Logs deste tutorial. Crédito: Agradeço ao Samuel Valerio, de Natal, RN, por me alertarsobre essa mudança.

Alternativa: Tomcat Administration Tool:

Atenção: Para ter a aplicação Administration no Tomcat 5.5, baixe e instale o pacoteadicional apache-tomcat-5.5.*-admin.tar.gz.

Apresentamos aqui uma alternativa à criação do arquivo dev.xml, caso você queira experimentar ouso da aplicação web de Administração do Tomcat. Neste caso, ao invés de criar o arquivo XML,siga estes passos:

1. Abra a ferramenta Tomcat Administrator via web e forneça o login (padrão: admin) e senhado usuário administrativo, conforme configurado durante a instalação.

2. No navegador em árvore do frame à esquerda, escolha: Tomcat Server > Service (Catalina)> Host (localhost).

3. No frame principal à direita: Host Actions > Create New Context.

4. Preencha os atributos do novo contexto conforme o quadro do tópico anterior, queapresenta o código do elemento Context.

5. Crie a seguir, dentro do novo contexto, um Logger para gerar arquivos de log separadospara sua aplicação. Considere os atributos também com base no mesmo quadro.

6. Configurar contexto: web.xml

O arquivo WEB-INF/web.xml é o descritor do contexto de aplicação web, segundo a especificação JavaServlet/J2EE. As informações nele contidas são as configurações específicas da aplicação.

Nosso contexto de desenvolvimento terá apenas as seguintes configurações:

informações textuais de título (elemento display-name, nome para exibição no Gerenciador) ecomentário de descrição (description) do contexto, úteis para identificação e documentação;

uma definição servlet associada à classe do invocador genérico InvokerServlet do Tomcat,usada para executar os servlets que você criar;

um mapeamento (elemento servlet-mapping) genérico associando o padrão de endereço URI/servlet/* à definição do invoker criada, indicando que qualquer nome dentro do caminho/servlet/ neste contexto deve ser reconhecido como servlet e portanto repassado ao invoker doTomcat para execução.

Crie o arquivo web.xml descritor para o novo contexto de aplicação web criado, dentro do diretóriodev/web/WEB-INF/. Um conteúdo mínimo para ele, com as configurações apresentadas, é listado aseguir.

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns "http://java.sun.com/xml/ns/javaee"

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 11/22

Page 12: Tutorial Tomcat - Instalação e Configuração

xmlns:xsi "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version "2.5"> <display-name>Desenvolvimento</display-name> <description> Descritor do contexto de desenvolvimento. </description>

<servlet> <servlet-name>dev-invoker</servlet-name> <servlet-class> org.apache.catalina.servlets.InvokerServlet </servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet>

<servlet-mapping> <servlet-name>dev-invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping></web-app>

Como se pode observar no XML anterior, ele se refere ao descritor de Aplicação Web da especificaçãoServlet 2.5 (integrante do Java EE 5). Para utilizar apenas recursos de uma versão anterior de descritorde Aplicação Web, substitua o cabeçalho do XML e a definição da tag raiz web-app pelo da respectivaversão. Eis a alteração de cabeçalho para Servlet 2.4:

<?xml version="1.0" encoding="ISO-8859-1"?><web-app xmlns "http://java.sun.com/xml/ns/j2ee" xmlns:xsi "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation "http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version "2.4"> ...</web-app>

E a seguir o cabeçalho para a especificação Servlet 2.3. Note que a estrutura do XML na versão 2.3 édefinida por um DTD definido na tag DOCTYPE, enquanto as versões mais recentes usam XML Schema(XSD), definido por atributos de namespace na própria tag web-app.

<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app> ...</web-app>

7. Ativar contexto

Para garantir a ativação do novo contexto criado, reinicie o Tomcat (stop/start).

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 12/22

Page 13: Tutorial Tomcat - Instalação e Configuração

Tomcat 5+:

Logo após a inicialização do Tomcat, o arquivo de log da saida padrão do servidor Tomcat, criadoem logs com o nome stdout.log, deve iniciar com um conteúdo similar ao trecho apresentado aseguir. Observe a mensagem (em destaque no quadro) que indica que o contexto configurado peloarquivo dev.xml foi processado.

12/09/2004 12:09:00 org.apache.coyote.http11.Http11Protocol initINFO: Initializing Coyote HTTP/1.1 on port 808012/09/2004 12:09:01 org.apache.catalina.startup.Catalina loadINFO: Initialization processed in 2234 ms(...)12/09/2004 12:09:06 org.apache.catalina.core.StandardHostDeployer installINFO: Processing Context configuration file URL file: .../Tomcat6.0/conf/Catalina/localhost/dev.xml

O Tomcat 5 em diante gera por padrão muito menos mensagens em log para os contextos do queo Tomcat 4, de forma que a inicialização não gera nenhuma mensagem no arquivo de log específicodo contexto dev. Por isso, não estranhe se você não encontrar inicialmente nenhum arquivolocalhost_dev_log.*.txt na pasta logs.

Tomcat 4:

Logo após a inicialização do Tomcat, o arquivo de log geral do host para o servidor Tomcat, que écriado em logs com nome no formato localhost_log.2004-09-12.txt, onde 2004-09-12corresponde ao ano, mês e dia atuais, deve iniciar com um conteúdo similar ao trecho apresentadoa seguir. Observe a mensagem (em destaque no quadro) que indica que o contexto configuradopelo arquivo dev.xml foi processado.

2004-... HostConfig[localhost]: Deploying configuration descriptor admin.xml2004-... HostConfig[localhost]: Deploying configuration descriptor dev.xml2004-... HostConfig[localhost]: Deploying configuration descriptor manager.xml2004-... WebappLoader[/manager]: Deploying class repositories to work directory(...)

E o arquivo de log do novo contexto, que é criado com nome no formatolocalhost_dev_log.*.txt, deve ter um conteúdo inicial similar ao seguinte:

2004-... WebappLoader[/dev]: Deploying class repositories to work directory .../Tomcat4.1/work/Standalone/localhost/dev2004-... WebappLoader[/dev]: Deploy class files /WEB-INF/classes to /dir/dev/web/WEB-INF/classes2004-... WebappLoader[/dev]: Reloading checks are enabled for this Context2004-... StandardManager[/dev]: Seeding random number generator class java.security.SecureRandom2004-... StandardManager[/dev]: Seeding of random number generator has been completed2004-... StandardWrapper[/dev:default]: Loading container servlet default2004-... StandardWrapper[/dev:invoker]: Loading container servlet invoker2004-... StandardWrapper[/dev:dev-invoker]: Loading container servlet dev-invoker

8. Testar contexto

Para testar o novo contexto, acesse o endereço:

http://localhost:8080/dev/

Se você criou um index.html no diretório de desenvolvimento (dev/web/), você deve ver esta página.Senão, verá apenas uma listagem do diretório gerada pelo Tomcat.

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 13/22

Page 14: Tutorial Tomcat - Instalação e Configuração

Se o Tomcat retornar a página de erro 404 - Não Encontrado, houve algum problema de forma que ocontexto não foi ativado. O problema mais comum é haver algum erro de sintaxe no elemento Contextno arquivo XML que define o contexto. Verifique os logs do Tomcat, conforme a seção 12 adiante, àprocura de erros. Você pode também usar algum dos muitos Validadores de XML existentes comoauxílo, como por exemplo o serviço on-line de Validação de XML do STG, que verifica um XML emarquivo, URI na web ou o texto copiado diretamente em um formulário.

9. Bibliotecas Servlet

Para compilar servlets, você precisa essencialmente importar os pacotes javax.servlet ejavax.servlet.http. As bibliotecas com estes pacotes também estão inclusas como JAR no Tomcate devem ser adicionadas ao CLASSPATH do compilador javac:

Tomcat 5+:CATALINA_HOME/common/lib/servlet-api.jarCATALINA_HOME/common/lib/jsp-api.jar

Tomcat 4:CATALINA_HOME/common/lib/servlet.jar

onde CATALINA_HOME é o diretório principal de instalação do Tomcat.

Se você tem o J2EE SDK da Sun instalado, pode alternativamente usar o j2ee.jar incluso com ele, quecontém todas as APIs do Java EE inclusive Servlet/JSP. Mas o mais simples é usar o(s) jar(s) do Tomcat.Isso garante total compatibilidade entre a versão das APIs Servlet/JSP usadas no desenvolvimento e noseu Tomcat.

Além disso, se o código Java de uma classe servlet sua importar pacotes ou classes de uma biblioteca deterceiros (que não seja parte das APIs J2SE e Servlet/JSP), o JAR com as classes compiladas destabiblioteca deve estar no diretório WEB-INF\lib\ para que o Tomcat encontre.

10. Testar seus servlets

O pacote ZIP com os arquivos deste tutorial (veja a Introdução) inclui o fonte de um servlet bem simplesAloMundoServ.java, que pode ser usado como primeiro teste, similar a:

view plain copy to c lipboard print ?

01. import java.io.*; 02. import javax.servlet.*; 03. import javax.servlet.http.*; 04. 05. public class AloMundoServ extends HttpServlet 06. { 07. public void doGet(HttpServletRequest request, HttpServletResponse response) 08. throws IOException, ServletException 09. { 10. String alo = "Alô Mundo!"; 11. PrintWriter out = response.getWriter(); 12. 13. out.println("<html>"); 14. out.println("<body><h1>" + alo + "</h1></body>"); 15. out.println("</html>"); 16. } // doGet 17. } // class AloMundoServ

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 14/22

Page 15: Tutorial Tomcat - Instalação e Configuração

Se o arquivo estiver em dev/src/, você pode abrir uma janela de comandos (prompt) neste local,certificar-se que o CLASSPATH está devidamente configurado conforme a seção 9 deste tutorial, eexecutar o compilador javac, direcionando o destino para ../web/WEB-INF/classes/:

javac -d ../../web/WEB-INF/classes AloMundoServ.java

Depois que um servlet for compilado e o .class resultante colocado em dev/web/WEB-INF/classes/,com as configurações de mapeamento servlet genérico que fizemos no contexto, você acessa seu servletcom o URI /dev/servlet/NomeDaClasseServlet (sem o .class). Para o exemplo compiladoAloMundoServ.class, acesse o servlet com o seguinte URL:

http://localhost:8080/dev/servlet/AloMundoServ

Podem ser criados, no web.xml, outros mapeamentos específicos para uma ou mais servlets. Para isso,você deve conhecer a sintaxe dos elementos <servlet> e <servlet-mapping>.

11. Testar seus JSPs

Os JSPs colocados em dev/web/ (exemplo: arquivo alomundo.jsp) são acessados assim:

http://localhost:8080/dev/alomundo.jsp

Podem ser criados sub-diretórios dentro do diretório principal do contexto, para organizar os arquivosJSP e arquivos estáticos (HTML, imagens etc.). Estes sub-diretórios se refletirão diretamente no URL(endereço) de uma página JSP neles contida. Uma página JSP em dev/web/subdir/pagina.jsp nestecontexto terá URL http://localhost:8080/dev/subdir/pagina.jsp. É recomendado não utilizar espaços nemcaracteres acentuados nos nomes de sub-diretório. Além disso, procure usar apenas letras minúsculas, oque é o mais comum em endereços web.

No Tomcat 5 ou inferior, se a configuração não estiver apontando para a localização correta do JDK(Java SDK) mas sim para a do JRE (Java Runtime), a tentativa de exibição de um novo JSP pode resultarno seguinte erro:

HTTP Status 500 - Exception report

exception org.apache.jasper.JasperException: Unable to compile class for JSP

No Java compiler was found to compile the generated source for the JSP.This can usually be solved by copying manually $JAVA_HOME/lib/tools.jar from the JDKto the common/lib directory of the Tomcat server, followed by a Tomcat restart.If using an alternate Java compiler, please check its installation and access path.

O JRE não inclui as ferramentas de compilação Java, necessárias para a compilação dinâmica de páginasJSP novas ou modificadas. Daí o erro. Para solucionar, re-configure ou re-instale o Tomcat informando ocaminho correto do Java SDK (JDK), ou então recorra à alternativa sugerida na mensagem de erro:copie manualmente o arquivo lib/tools.jar do JDK para o diretório common/lib do Tomcat e re-inicie o Tomcat (shutdown/start).

12. Logs

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 15/22

Page 16: Tutorial Tomcat - Instalação e Configuração

Para configurar a gravação de log (registro histórico) em sua aplicação, veja a página Logging in Tomcat6.0 (ou 5.5) para detalhes.

As opções e preferências de geração de log das aplicações rodando no Tomcat devem ser configuradasdiretamente no arquivo de configuração do mecanismo/framework de logging em uso:

Tomcat Juli e Java SE Logging: TOMCAT_HOME/conf/logging.properties;

Apache Log4j: TOMCAT_HOME/lib/log4j.properties.

Em Windows, lembre-se que a opção Configure Tomcat (veja tópico 3.1) permite definir o nível padrão,localização e prefixo dos arquivos de log do Tomcat.

Para ver logs de acesso, erro e depuração, leia os txt's gerados em: CATALINA_HOME\logs\

Quando existirem muitos arquivos de log no Tomcat de desenvolvimento e você quiser limpar o diretóriopara facilitar o rastreamento dos logs, pode:

1. Parar (stop) o Tomcat.

2. Remover todos os arquivos de log existentes em CATALINA_HOME\logs\, ou movê-los para umaárea de backup.

3. Iniciar (start) novamente o Tomcat.

Inspecionar as mensagens de saída informativas e de erro do Tomcat é importante para depurar e fazerdiagnóstico do servidor, como identificar problemas na inicialização do Tomcat, acompanhar oprocessamento dos arquivos de configuração (server.xml, web.xml) e da inicialização e finalização doTomcat, bem como visualizar quaisquer exceções Java levantadas. Estes são os arquivos de log doservidor, que devem ser inspecionados:

stdout.log: arquivo que recebe toda a saída padrão de mensagens informativas geradas naexecução do Tomcat e seus contextos (exceto quando o Tomcat é iniciado pelo prompt decomandos, quando as mensagens aparecem diretamente no console. Inclui também as mensagensde saída que, até o Tomcat 4.1 ficavam no arquivo separado localhost_log.

stderr.log: analogamente ao stdout, o stderr recebe toda a saída de erro gerada na execução doTomcat.

As saídas padrão (stdout) e de erro (stderr) podem ser exibidas de diversas formas, dependendo decomo o Tomcat foi inicializado:

Tomcat como Serviço Windows ou Processo com direcionamento de logPor padrão, as mensagens informativas (saída padrão) e de erro do servidor Tomcat sãodirecionadas para os arquivos stdout.log e stderr.log respectivamente, localizados emCATALINA_HOME\logs\.

Tomcat como Processo consoleNa janela de console são exibidas as mensagens da saída padrão (stdout) e de erro (stderr).

13. Variáveis de Ambiente

É útil deixar configuradas algumas variáveis de ambiente relacionadas a Java e ao Tomcat. A variávelJAVA_HOME foi abordada no tópico 1.3 deste tutorial. As variáveis de ambiente relacionadas são:

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 16/22

Page 17: Tutorial Tomcat - Instalação e Configuração

JAVA_HOMELocal de instalação do Kit de Desenvolvimento Java J2SE (JDK).

CATALINA_HOMELocal de instalação do Tomcat.

CLASSPATHCaminhos (pacotes e diretórios) de localizações de classes Java; o classpath deve incluir o(s) jar(s)dos pacotes Servlet e JSP do Tomcat.

PATHCaminhos (diretórios) de localizações de executáveis no sistema operacional, deve incluir odiretório bin das ferramentas do Java SDK.

Windows (Painel de Controle ou arquivo autoexec.bat), ou criar um script setenv.bat:

set JAVA_HOME=C:\Arquivos de programas\Java\jdk1.6.0_13set CATALINA_HOME=C:\Arquiv~1\Apache~1\Tomcat 6.0set CLASSPATH=%CATALINA_HOME%\common\lib\servlet-api.jar;.;%CLASSPATH%set CLASSPATH=%CATALINA_HOME%\common\lib\jsp-api.jar;%CLASSPATH%set PATH=%JAVA_HOME%\bin;%PATH%

Se decidir usar o JRE ao invés do JDK, substitua o JAVA_HOME anterior:set JAVA_HOME=C:\Arquivos de programas\Java\jre6

Unix/Linux (user/system profile), ou criar um script setenv.sh:

JAVA_HOME=/opt/javaseCATALINA_HOME=/opt/tomcatCLASSPATH=$CATALINA_HOME/common/lib/servlet-api.jar:.:$CLASSPATHCLASSPATH=$CATALINA_HOME/common/lib/jsp-api.jar:$CLASSPATHPATH=$JAVA_HOME/bin:$PATH

# Sintaxe Bourne shell (sh), Korn shell (ksh), Bash e similares:export JAVA_HOME CATALINA_HOME CLASSPATH PATH

Importante:

Modifique os caminhos JAVA_HOME e CATALINA_HOME de acordo com as versões e oslocais de instalação em seu computador. Para Tomcat 4.1, a biblioteca a ser incluída noCLASSPATH era apenas servlet.jar, conforme visto na seção 9 deste tutorial.

Mais informações sobre variáveis de ambiente:

Variável de ambiente, verbete em Wikipédia.

Guia Foca GNU/Linux - Personalização do Sistema, nível Intermediário - Capítulo 21, porGleydson Mazioli da Silva. Também como Capítulo 8 da Versão nível Avançado.

Conhecendo Variáveis de Ambiente (Sistema), por Alberto Leal, Microsoft TechNet Brasil.

JAVA Configurando Variáveis de Ambiente no Windows (PDF), por Cesar Rodrigo, .csegAutomation.

Java Environment Variables and Path (em inglês), documentação Sun Microsystems.

14. Material de referência

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 17/22

Page 18: Tutorial Tomcat - Instalação e Configuração

O Tomcat vem com material de referência completo, documentação e exemplos. Tudo pode seracessado localmente on-line (Tomcat iniciado) a partir dos links na home-page padrão do Tomcat, emhttp://localhost:8080/. Este material também está disponível no site do Projeto Apache Tomcat.

Documentação do Tomcat, acessível on-line em http://localhost:8080/tomcat-docs/, ou off-line(arquivos HTML em disco) em CATALINA_HOME\webapps\tomcat-docs\index.html

Configuration Reference, com toda a sintaxe do arquivo de configuração do servidorTomcat conf\server.xml: config/

Servlet/JSP Javadocs, inclui convenientemente toda a API Servlet e JavaServer Pages (JSP)da Sun correspondente à versão implementada pelo Tomcat: servletapi/ e, em separado apartir do Tomcat 5 (JSP 2.0), jspapi/.

Exemplos prontos para executar, com código-fonte

Tomcat 5+:JSP Examples: http://localhost:8080/jsp-examples/Servlet Examples: http://localhost:8080/servlets-examples/

Tomcat 4:Servlet Examples: http://localhost:8080/examples/servlets/JSP Examples: http://localhost:8080/examples/jsp/

15. E agora?

Terminada a instalação do software, está aberta a sua temporada de desenvolvimento Java para web. Atecnologia e as informações envolvidas na programação são assuntos muito mais abrangentes e não estãono escopo deste tutorial. Para desenvolver em Java para web, você deve ter bons fundamentos dosseguintes tópicos essenciais:

orientação a objetos;

linguagem de programação Java e APIs da plataforma Java SE;

arquitetura e mecanismos de sistemas web e o protocolo HTTP;

HTML, CSS e JavaScript;

Java Web = Servlets, JSP e JavaBeans.

Para fazer projetos bem estruturados, você também deve saber:

padrões de projeto/desenho/modelagem (design patterns);

bibliotecas de tag (taglibs) em JSP, em especial a JSP Standard Tag Library (JSTL);

E para fazer aplicações completas, você deverá conhecer e utilizar:

framework JavaServer Faces (JSF) — componentes de interface com usuário e fluxos denavegação — para aplicações web baseado no padrão Modelo-Visão-Controle (MVC); ou outroframework independente como Struts, Wicket, Tapestry, Mentawai etc.;

mapeamento objeto-relacional para persistência em banco de dados, seja com Java PersistenceAPI (JPA) ou frameworks como Hibernate ou Oracle TopLink;

Enterprise JavaBeans (EJB) ou outra arquitetura para componentes de negócio, como SpringFramework.

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 18/22

Page 19: Tutorial Tomcat - Instalação e Configuração

Se você ainda não tem domínio dos tópicos essenciais, recomendo um bom curso (ou cursos), em sala deaula, e a leitura de bons livros. O mesmo vale para os tópicos mais avançados. Há ainda muitasreferências disponíveis na web e uma boa quantidade de grupos de usuários e listas de discussão sobreJava, inclusive no Brasil.

Para produtividade, é importante também um bom ambiente integrado de desenvolvimento (IDE). Aferramenta mais usada, gratuita e livre, é o Eclipse. Há também os ótimos NetBeans (livre), BorlandJBuilder (gratuito e comercial), Oracle JDeveloper (gratuito) e IntelliJ IDEA (comercial), para citar alguns.Mas nenhuma ferramenta vai dispensar o conhecimento da arquitetura JEE e das tecnologias envolvidas.

Por fim, existem tópicos avançados sobre Tomcat não abordados por este tutorial, como:

distribuição e publicação (deployment) de aplicações web;

integração com servidores web/HTTP, como Apache httpd e Microsoft IIS;

administração, monitoramento, configuração e calibração do Tomcat para ambientes de produçãoe de alto desempenho.

16. Mais informações

GlossárioCatalina é o nome-código do Servlet Container do Tomcat, Jasper é seu processador JSP eCoyote (JK) é o sub-projeto que desenvolve os conectores do Tomcat a vários servidores web(httpd).

Outros Tutoriais

Tutoriais Tomcat: Instalação, Configuração e Integração com Apache; por Gleydson Lima,J2EE Brasil.

Apache HTTP server e Tomcat, o HowTo fácil sem o mod_jk; por Paulo Silveira, 2006-09-25, no blog da Caelum.

Tomcat 5 on Linux Step-By-Step, by Pascal Chong, junho 2004. [Em Inglês]

Configuring & Using Apache Tomcat: Um tutorial sobre instalação e uso de Tomcat 6 ouTomcat 5.5 para desenvolvimento de Servlet e JSP; por Marty Hall, Core Servlets. [EmInglês]

Java EE Tutorials, versões 5, 1.4 e 1.3; por Sun Microsystems, disponíveis on-line (HTML)e em PDF [Em inglês].

The Java EE 5 Tutorial, setembro 2007: a Parte II - Web Tier cobre Java Servlet(2.5), JavaServer Pages (JSP 2.1), JavaServer Pages Standard Tag Library (JSTL) eJavaServer Faces (JSF 1.2).

The J2EE 1.4 Tutorial, dezembro 2005: cobre introdução a aplicações web (Capítulo3), Java Servlet 2.4, JSP 2.0, JSTL e JSF 1.1 (Capítulos 11 a 22).

JSP Tutorial. [Em Inglês]

The Java Web Services Tutorial, for Java Web Services Developer's Pack, v2.0, 17 fev.2006: Getting Started with Tomcat, Tomcat Administration Tool, Tomcat Web ApplicationManager; por Eric Armstrong at all, Sun Developer Network. Web Services Tutorial 1.0.[Em Inglês]

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 19/22

Page 20: Tutorial Tomcat - Instalação e Configuração

YoLinux Tutorial: Java Servlets, JSP, Tomcat, Apache and Linux, por Greg Ippolito,YoLinux. [Em Inglês]

Java and Tomcat on Mac OS X, Part I, Apple Developer Connection. Part II. [Em Inglês]

HOWTO: Building Apache HTTPd + Tomcat on Linux, por John Turner. [Em Inglês]

Integrating Tomcat and Apache on Red Hat, por Mike Millson. [Em Inglês]

Using Apache Tomcat 4, Java Boutique. [Em Inglês]

Apache Tomcat

Projeto Apache Tomcat - Servlet/JSP Container e Tomcat Connectors

Apache Tomcat Wiki - Tomcat FAQ

Apache Commons - Daemon: daemons (jsvc para Unix) e serviços (Procrun para Win32)baseados em Java

Livros sobre Tomcat

Tomcat: The Definitive Guide, Segunda edição (e 1ª edição, junho 2003), por Jason Brittaine Ian F. Darwin; outubro 2007, O'Reilly Media, ISBN: 0-596-10106-6, 494 p. Leiatrechos no O'Reilly Safari - Tomcat.

Beginning JSP, JSF and Tomcat Web Development: From Novice to Professional, porGiulio Zambon, Michael Sekle; novembro 2007, Apress, ISBN-13: 978-1-59059-904-4,448 p.

Pro Apache Tomcat 6, por Matthew Moodie, Kunal Mittal (Ed.); março 2007, Apress,ISBN-13: 978-1-59059-785-9, 325 p.

Pro Apache Tomcat 5/5.5, por Matthew Moodie; dezembro 2004, Apress, ISBN: 1-59059-331-6, 379 p.

Professional Apache Tomcat 6, por Vivek Chopra, Sing Li, Jeff Genender; agosto 2007,Wrox (Programmer to Programmer), ISBN-13: 978-0-471-75361-2, 629 p.

Professional Apache Tomcat 5, por Vivek Chopra, Amit Bakore, Ben Galbraith, Sing Li,Chanoch Wiggers; maio 2004, Wrox (Programmer to Programmer), ISBN: 0-7645-5902-8, 624 p.

Sams Teach Yourself JavaServer Pages 2.0 with Apache Tomcat in 24 Hours, CompleteStarter Kit (PDF eBook), por Mark Wutka, Alan Moffet, Kunal Mittal; fevereiro 2004,Que Publishing, ISBN-13: 978-0-7686-6025-8, 552 p.

Tomcat 5 Unleashed, por Lajos Moczar; agosto 2004, Sams, ISBN: 0-672-32636-1, 768p.

Java Servlet & JSP - Java EE Web

Sun Java Servlet

Sun JavaServer Pages (JSP)

JavaServer Pages Standard Tag Library (JSTL)

Jakarta Taglibs: implementação livre de JSTL 1.1 (para JSP 2.0) e JSTL 1.0 (para JSP 1.2)

Java EE 5 Technologies - Web Application: JavaServer Faces 1.2, JavaServer Pages 2.1,JSP Standard Tag Library e Java Servlet 2.5; tecnologias, JSRs e especificações, por SunMicrosystems.

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 20/22

Page 21: Tutorial Tomcat - Instalação e Configuração

J2EE v1.4 Documentation, por Sun Microsystems.

Referências sobre JavaServer & J2EE, por Márcio d'Ávila.

Especificações Servlet, JSP e JSTL

Java Servlet 2.5 Specification (Maintenance Release 2), 11 set. 2007, JSR 154.

Java Servlet 2.4 Specification (Final Release), 24 nov. 2003, JSR 154.

JavaServer Pages 2.1 Specification (Final Release), 11 mai. 2006, JSR 245.

JavaServer Pages 2.0 Specification (Final Release), 24 nov. 2003, JSR 152.

Java Servlet 2.3 and JavaServer Pages 1.2 Specifications (Final Release), 25 set. 2001, JSR53.

JavaServer Pages Standard Tag Library (JSTL) Specification 1.2 (Maintenance Release 2),11 mai. 2006, JSR 52.

JavaServer Pages Standard Tag Library (JSTL) Specification 1.1 (Maintenance Release),24 nov. 2003, JSR 52.

JavaServer Pages Standard Tag Library (JSTL) Specification 1.0, 08 jul. 2002, JSR 52: AStandard Tag Library for JavaServer Pages.

Frameworks Web MVC para Java

JavaServer Faces (JSF) - Versões e Downloads. Por Sun Microsystems.

Projeto GlassFish Mojarra, implementação de referência JSF, em java.net.

JSF and JSP: What's New in Java EE 5. Uma conversa com Ed Burns (Sun Microsystems,líder da especificação JSF) e Jan Luehe, por Frank Sommers, 2006-05-17.

JSF - Java Server Faces Tutorials em RoseIndia, incluindo Installação de JSF em Tomcat.

Referências sobre Tecnologias Web em Java EE, por Márcio d'Ávila.

Organização de fontes de projeto Java

Guidelines, Patterns, and Code for End-to-End Java Applications. Java BlueprintsGuidelines: Project Conventions for Enterprise Applications. Sun Java Enterprise BluePrints.

Source Organization - Apache Tomcat 6.0 Application Developer's Guide.

Maven - Introduction to the Standard Directory Layout, Documentação do Projeto ApacheMaven. Maven encoraja o uso de uma estrutura de diretórios comum para projetos. Vejatambém An introduction to Maven 2, artigo pro John Ferguson Smart, dezembro 2005, JavaWorld.

Informação sobre Java

Java.Sun.com - A fonte para desenvolvedores Java. Sun Developer Network (SDN).

java.net - Portal de colaboração da comunidade sobre Tecnologia Java. Projetos open-source, fóruns, weblogs, artigos, notícias, wiki, Javapedia, grupos de usuários Java (JUGs).

Referências sobre Programação Java: links, grupos de usuários, ferramentas, APIs, livros,certificação.

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 21/22

Page 22: Tutorial Tomcat - Instalação e Configuração

© 2003-2009, Márcio d'Ávila, mhavila.com.br, direitos reservados. Otexto e código-fonte apresentados podem ser referenciados,distribuídos e utilizados, desde que expressamente citada esta fonte

e o crédito do(s) autor(es). A informação aqui apresentada, apesar de todo o esforçopara garantir sua precisão e correção, é oferecida "como está", sem quaisquergarantias explícitas ou implícitas decorrentes de sua utilização ou suas conseqüências diretas e indiretas.

14/05/2009 Tutorial Tomcat - Instalação e Config…

mhavila.com.br/topicos/…/tomcat.html 22/22