Professional Documents
Culture Documents
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:
Sumário
Introdução
Introdução
O Tomcat é um servidor de aplicações Java para web. É software livre e de código aberto, surgido
dentro do conceituado projeto Apache Jakarta e que teve apoio e endosso oficial da Sun Microsystems
como 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 Apache
Software Foundation. O Tomcat é robusto e eficiente o suficiente para ser utilizado mesmo em um
ambiente 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, a
implementação de referência (RI) destas tecnologias passou a ser o servidor de aplicações Java EE
5.0 completo (Web e EJB) Sun Java System Application Server Platform Edition 9, baseado no
projeto 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, incluindo
tecnologias de apoio relacionadas como Realms e segurança, JNDI Resources e JDBC DataSources. O
Tomcat tem a capacidade de atuar também como servidor web/HTTP autônomo, ou pode funcionar
integrado a um servidor web dedicado, como Apache httpd ou Microsoft IIS, ou ainda como parte
integrante de um servidor de aplicações mais amplo, como JBoss AS, provendo os recursos de Java
Servlet 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 EE
completo, 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 SDK
que 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 em
instalações do Tomcat 4.1, 5.0, 5.5 e 6.0 em Windows, Unix e Linux. As configurações aqui propostas
são para criar um ambiente de desenvolvimento bem simples e independente de qualquer ambiente
integrado de desenvolvimento (IDE), suficiente para um primeiro contato com o Tomcat e as tecnologias
Java para web. O tutorial, porém, não cobre o aprendizado da linguagem Java ou das tecnologias Servlet
e JSP em si, nem tampouco o desenvolvimento de aplicações para web. Para mais informações sobre
esses 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 e
contêiner Servlet Java, também software livre. Jetty 6 suporta as mais recentes especificações
Servlet 2.5 e JSP 2.1 da plataforma Java EE 5.0.
mhavila.com.br/topicos/…/tomcat.html 2/22
14/05/2009 Tutorial Tomcat - Instalação e Config…
Java Runtime Engine (JRE) — Mecanismo de Execução Java: inclui a JVM, bibliotecas e outros
componentes necessários para executar aplicações ou applets escritas em linguagem Java. É o
produto adequado para quem é apenas usuário da tecnologia Java.
Software Development Kit (SDK) — Kit de Desenvolvimento de Software — do Java SE, mais
conhecido como Java Development Kit (JDK): inclui todo o JRE, mais ferramentas de linha de
comando como compilador, debugador e outros componentes necessários para construir
aplicações Java.
Tomcat 4.1 e 5.0 necessitavam do JDK, para compilar as páginas JSP. O Tomcat 5.5 em diante traz
embutido e usa o complilador Java Eclipse JDT para compilar JSP. Assim, o Tomcat a partir da versão
5.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.
A versão mais atual da plataforma Java SE é a 6, lançada em dezembro de 2006. As duas versões
anteriores, Java SE 5 (desde setembro 2004) e J2SE 1.4.2 (desde junho 2003), ainda são consideradas
ativas. 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 a
versão mais recente, JDK 6, que inclui todas as melhorias e facilidades atuais para a tecnologia Java
padrã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ível
para o seu sistema operacional, ou se há alguma restrição de suporte, compatibilidade com aplicações
pré-existentes ou outro impedimento crítico.
A plataforma Java SE (JRE e JDK) é disponibilizada nativa para cada sistema operacional suportado pela
tecnologia Java. Desde o Java SE 5.0, a Sun Microsystems provê JDK para os sistemas operacionais
Windows, Linux e Solaris. A HP fornece JDK para seu HP-UX desde dezembro de 2004; a Apple
disponibiliza o JDK 5.0 para seu Mac OS X desde abril de 2005, com suporte a 64-bits, e trouxe o Java
SE 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 Sun
Microsystems 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, acesse
os links correspondentes a seguir:
mhavila.com.br/topicos/…/tomcat.html 3/22
14/05/2009 Tutorial Tomcat - Instalação e Config…
Mac OS X - Apple
HP-UX - HP
FreeBSD
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 em
J2SE 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á selecionada
para uso do Tomcat. A variável de ambiente padrão JAVA_HOME deve ser definida (e mantida
atualizada) indicando o local de instalação do J2SE preferencial (veja tópico 1.3 adiante). Esta
variável é consultada pelo Tomcat e vários outros sistemas baseados em Java para determinar a
JVM preferencial.
1.3. JAVA_HOME
Complementando a instalação do Java 2 SDK, defina a variável de ambiente JAVA_HOME apontando para
seu local de instalação. Esta variável de ambiente padrão é usada pelo Tomcat e vários outros sistemas
baseados em Java, para determinar a JVM preferencial. Isto é muito importante se houver mais de uma
instalação de J2SE no computador, mas a variável JAVA_HOME deve ser definida mesmo se houver
apenas uma versão instalada.
Importante:
mhavila.com.br/topicos/…/tomcat.html 4/22
14/05/2009 Tutorial Tomcat - Instalação e Config…
Modifique o caminho para JAVA_HOME de acordo com a versão e o local de instalação do JDK
em seu computador.
Nota:
Quando instalar uma nova versão de Java, lembre-se de também atualizar a variável de ambiente
JAVA_HOME.
Para mais informações sobre variáveis de ambiente recomendadas, veja também a seção 13 deste
tutorial.
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 Tomcat
com as respectivas versões de tecnologias suportadas.
Se você está iniciando o aprendizado e desenvolvimento Java para web, é recomendado utilizar a versão
mais atualizada Tomcat 6.0, que é compatível com as especificações e tecnologias mais recentes e é o
foco principal de desenvolvimento do projeto Tomcat. A maior parte dos recursos atuais é compatível
com versões anteriores. Para mais informações sobre as versões de Tomcat, veja Apache Tomcat
Versions.
mhavila.com.br/topicos/…/tomcat.html 5/22
14/05/2009 Tutorial Tomcat - Instalação e Config…
A versão anterior 5.5 do Tomcat ainda é muito utilizada, pois a especificação J2SE 1.4 e suas
tecnologias, bem como os produtos baseados nelas, estão maduros e bem difundidos no mercado. Já o
Tomcat 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, na
Apache 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 seu
Tomcat 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 e
JSP 2.1, integrantes do Java EE 5.0). O download do instalador para Windows pode ser acessado no
site primário em apache-tomcat-6.0.18.exe (instalador com serviço Windows). A página principal de
download 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, embora
o JDK continue útil para o desenvolvedor. De qualquer forma, é interessante que esteja definida a variável
de ambiente JAVA_HOME apontando para o local de instalação do JDK mais atual. Importante - Tomcat
Windows: No passo "Java Virtual Machine path selection" do instalador, certifique-se de informar o
caminho correto do JDK.
O diretório principal (local de instalação) do Tomcat é referenciado posteriormente neste tutorial como
CATALINA_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 do
Windows 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 Tomcat
e pelos programas java e javac.
mhavila.com.br/topicos/…/tomcat.html 6/22
14/05/2009 Tutorial Tomcat - Instalação e Config…
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
[Windows] Para iniciar e parar o Tomcat (5 em diante) como serviço, o recomendo é usar o
Tomcat Monitor, que consiste na ferramenta Apache Service Manager (Procrun) fornecida com
o 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 da
barra de tarefas do Windows (ao lado do relógio). Este ícone indica o estado atual do
serviç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).
Tomcat 5 em diante
Iniciar: net start "Apache Tomcat"
Parar: net stop "Apache Tomcat"
Tomcat 4.1
Iniciar: 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 dos
programas tomcat6w.exe (Procrun Service Manager) e tomcat6.exe (Service Runner) e seus
respectivos parâmetros de linha de comando, veja a página Apache Tomcat 6.0 - Windows service
HOW-TO.
mhavila.com.br/topicos/…/tomcat.html 7/22
14/05/2009 Tutorial Tomcat - Instalação e Config…
HOW-TO.
Um erro comum é ter o Tomcat já iniciado como serviço e tentar iniciá-lo novamente, como
processo. A segunda execução não conseguirá ser iniciada, acusando que já existe algum servidor
utilizando 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 automaticamente
quando é 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/
O Tomcat inclui um contexto chamado Tomcat Manager, que provê uma interface web amigável para
gerenciar 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 Windows
solicita 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-page
padrão do servidor, ou acesse diretamente o endereço http://localhost:8080/manager/html.
mhavila.com.br/topicos/…/tomcat.html 8/22
14/05/2009 Tutorial Tomcat - Instalação e Config…
Atenção:
No Tomcat 5.5, a aplicação Administration não é mais instalada por padrão. É necessário
fazer download e instalação do pacote adicional apache-tomcat-5.5.*-admin.tar.gz para
usá-la. Esta aplicação permite criar, excluir e configurar de forma gráfica itens correspondentes
aos 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ção
web Java como o Tomcat, não altere nada sem saber. Você pode contudo acessar a ferramenta de
Gerenciamento (Tomcat Manager), fornecer o login e senha do usuário administrativo configurado na
instalação e visualizar o Estado do Servidor, que apresenta uma série de informações técnicas sobre o
funcionamento do servidor Tomcat.
Administração Avançada:
Uma poderosa ferramenta (de terceiros) para monitoramento e gerenciamento para o Apache
Tomcat é o Lambda Probe, projeto de software livre. É uma alternativa avançada ao Tomcat
Manager, 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.
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:
Crie um diretório que será a sua estrutura de desenvolvimento web Java. Uma organização simples
sugerida é a seguinte:
dev/
Supondo que seu diretório "dev" seja em C:\dir\dev\ (Windows), assim, o módulo web ficaria em
C:\dir\dev\web.
Nota:
Esta estrutura, apesar de simples, costuma ser suficiente e adaptável ao modelo de organização da
maioria das ferramentas (IDEs) de desenvolvimento Java (como Eclipse, NetBeans, JDeveloper
etc.), ao menos para um único projeto. Para referências sobre modelos de organização de projeto
mhavila.com.br/topicos/…/tomcat.html 9/22
14/05/2009 Tutorial Tomcat - Instalação e Config…
etc.), ao menos para um único projeto. Para referências sobre modelos de organização de projeto
e código-fonte, veja a seção 16 - Mais informações deste tutorial.
A tarefa aqui consiste em criar no Tomcat um novo contexto de aplicação web, para seu ambiente de
desenvolvimento. Existem basicamente três meios de se criar um contexto no Tomcat, cuja configuração
corresponde a um código XML com um elemento Context:
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.xml
dentro do WAR. Para mais informações, veja a documentação Deployer HOW-TO (apenas Tomcat 5) e
Context Container na Referência de Configuração do Servidor Tomcat.
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.
Importante:
O principal atributo definido é o docBase do elemento Context, especificando o caminho
completo para o diretório base dos arquivos desta aplicação web. Modifique este atributo
para informar a localização do dev/web em seu computador.
mhavila.com.br/topicos/…/tomcat.html 10/22
14/05/2009 Tutorial Tomcat - Instalação e Config…
Nota: No Tomcat 4.1, era possível configurar no Context um elemento aninhado Logger
para opções de log do contexto. No Tomcat 5.5 em diante, o tratamento de logging foi
totalmente reestruturado. Uma conseqüência importante é que o elemento Logger deixou
de 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 alertar
sobre essa mudança.
Atenção: Para ter a aplicação Administration no Tomcat 5.5, baixe e instale o pacote
adicional apache-tomcat-5.5.*-admin.tar.gz.
Apresentamos aqui uma alternativa à criação do arquivo dev.xml, caso você queira experimentar o
uso 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 senha
do 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, que
apresenta o código do elemento Context.
5. Crie a seguir, dentro do novo contexto, um Logger para gerar arquivos de log separados
para sua aplicação. Considere os atributos também com base no mesmo quadro.
Crie o arquivo web.xml descritor para o novo contexto de aplicação web criado, dentro do diretório
dev/web/WEB-INF/ . Um conteúdo mínimo para ele, com as configurações apresentadas, é listado a
seguir.
mhavila.com.br/topicos/…/tomcat.html 11/22
14/05/2009 Tutorial Tomcat - Instalação e Config…
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ção
Servlet 2.5 (integrante do Java EE 5). Para utilizar apenas recursos de uma versão anterior de descritor
de Aplicação Web, substitua o cabeçalho do XML e a definição da tag raiz web-app pelo da respectiva
versão. Eis a alteração de cabeçalho para Servlet 2.4:
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.
<web-app>
...
</web-app>
7. Ativar contexto
Para garantir a ativação do novo contexto criado, reinicie o Tomcat (stop/start).
mhavila.com.br/topicos/…/tomcat.html 12/22
14/05/2009 Tutorial Tomcat - Instalação e Config…
Tomcat 5+:
Logo após a inicialização do Tomcat, o arquivo de log da saida padrão do servidor Tomcat, criado
em logs com o nome stdout.log, deve iniciar com um conteúdo similar ao trecho apresentado a
seguir. Observe a mensagem (em destaque no quadro) que indica que o contexto configurado pelo
arquivo dev.xml foi processado.
O Tomcat 5 em diante gera por padrão muito menos mensagens em log para os contextos do que
o Tomcat 4, de forma que a inicialização não gera nenhuma mensagem no arquivo de log específico
do contexto dev. Por isso, não estranhe se você não encontrar inicialmente nenhum arquivo
localhost_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-12
corresponde ao ano, mês e dia atuais, deve iniciar com um conteúdo similar ao trecho apresentado
a seguir. Observe a mensagem (em destaque no quadro) que indica que o contexto configurado
pelo arquivo dev.xml foi processado.
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.
mhavila.com.br/topicos/…/tomcat.html 13/22
14/05/2009 Tutorial Tomcat - Instalação e Config…
Se o Tomcat retornar a página de erro 404 - Não Encontrado, houve algum problema de forma que o
contexto não foi ativado. O problema mais comum é haver algum erro de sintaxe no elemento Context
no 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 como
auxílo, como por exemplo o serviço on-line de Validação de XML do STG, que verifica um XML em
arquivo, 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 e
javax.servlet.http. As bibliotecas com estes pacotes também estão inclusas como JAR no Tomcat
e devem ser adicionadas ao CLASSPATH do compilador javac:
Tomcat 5+:
CATALINA_HOME/common/lib/servlet-api.jar
CATALINA_HOME/common/lib/jsp-api.jar
Tomcat 4:
CATALINA_HOME/common/lib/servlet.jar
Se você tem o J2EE SDK da Sun instalado, pode alternativamente usar o j2ee.jar incluso com ele, que
conté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 no
seu Tomcat.
Além disso, se o código Java de uma classe servlet sua importar pacotes ou classes de uma biblioteca de
terceiros (que não seja parte das APIs J2SE e Servlet/JSP), o JAR com as classes compiladas desta
biblioteca deve estar no diretório WEB-INF\lib\ para que o Tomcat encontre.
mhavila.com.br/topicos/…/tomcat.html 14/22
14/05/2009 Tutorial Tomcat - Instalação e Config…
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, e
executar o compilador javac, direcionando o destino para ../web/WEB-INF/classes/:
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>.
http://localhost:8080/dev/alomundo.jsp
Podem ser criados sub-diretórios dentro do diretório principal do contexto, para organizar os arquivos
JSP 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 neste
contexto terá URL http://localhost:8080/dev/subdir/pagina.jsp. É recomendado não utilizar espaços nem
caracteres acentuados nos nomes de sub-diretório. Além disso, procure usar apenas letras minúsculas, o
que é 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 resultar
no seguinte erro:
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 JDK
to 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áginas
JSP novas ou modificadas. Daí o erro. Para solucionar, re-configure ou re-instale o Tomcat informando o
caminho 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
mhavila.com.br/topicos/…/tomcat.html 15/22
14/05/2009 Tutorial Tomcat - Instalação e Config…
Para configurar a gravação de log (registro histórico) em sua aplicação, veja a página Logging in Tomcat
6.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 configuradas
diretamente no arquivo de configuração do mecanismo/framework de logging em uso:
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ório
para facilitar o rastreamento dos logs, pode:
Inspecionar as mensagens de saída informativas e de erro do Tomcat é importante para depurar e fazer
diagnóstico do servidor, como identificar problemas na inicialização do Tomcat, acompanhar o
processamento dos arquivos de configuração (server.xml, web.xml) e da inicialização e finalização do
Tomcat, bem como visualizar quaisquer exceções Java levantadas. Estes são os arquivos de log do
servidor, que devem ser inspecionados:
stdout.log: arquivo que recebe toda a saída padrão de mensagens informativas geradas na
execução do Tomcat e seus contextos (exceto quando o Tomcat é iniciado pelo prompt de
comandos, quando as mensagens aparecem diretamente no console. Inclui também as mensagens
de 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 do
Tomcat.
As saídas padrão (stdout) e de erro (stderr) podem ser exibidas de diversas formas, dependendo de
como o Tomcat foi inicializado:
mhavila.com.br/topicos/…/tomcat.html 16/22
14/05/2009 Tutorial Tomcat - Instalação e Config…
JAVA_HOME
Local de instalação do Kit de Desenvolvimento Java J2SE (JDK).
CATALINA_HOME
Local de instalação do Tomcat.
CLASSPATH
Caminhos (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.
PATH
Caminhos (diretórios) de localizações de executáveis no sistema operacional, deve incluir o
diretório bin das ferramentas do Java SDK.
JAVA_HOME=/opt/javase
CATALINA_HOME=/opt/tomcat
CLASSPATH=$CATALINA_HOME/common/lib/servlet-api.jar:.:$CLASSPATH
CLASSPATH=$CATALINA_HOME/common/lib/jsp-api.jar:$CLASSPATH
PATH=$JAVA_HOME/bin:$PATH
Importante:
Modifique os caminhos JAVA_HOME e CATALINA_HOME de acordo com as versões e os
locais de instalação em seu computador. Para Tomcat 4.1, a biblioteca a ser incluída no
CLASSPATH era apenas servlet.jar, conforme visto na seção 9 deste tutorial.
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. A
tecnologia e as informações envolvidas na programação são assuntos muito mais abrangentes e não estão
no escopo deste tutorial. Para desenvolver em Java para web, você deve ter bons fundamentos dos
seguintes 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.
Se você ainda não tem domínio dos tópicos essenciais, recomendo um bom curso (ou cursos), em sala de
aula, e a leitura de bons livros. O mesmo vale para os tópicos mais avançados. Há ainda muitas
referências disponíveis na web e uma boa quantidade de grupos de usuários e listas de discussão sobre
Java, inclusive no Brasil.
Por fim, existem tópicos avançados sobre Tomcat não abordados por este tutorial, como:
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 ou
Tomcat 5.5 para desenvolvimento de Servlet e JSP; por Marty Hall, Core Servlets. [Em
Inglê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) e
JavaServer Faces (JSF 1.2).
The J2EE 1.4 Tutorial, dezembro 2005: cobre introdução a aplicações web (Capítulo
3), 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 Application
Manager; por Eric Armstrong at all, Sun Developer Network. Web Services Tutorial 1.0.
[Em Inglês]
mhavila.com.br/topicos/…/tomcat.html 19/22
14/05/2009 Tutorial Tomcat - Instalação e Config…
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
Tomcat: The Definitive Guide, Segunda edição (e 1ª edição, junho 2003), por Jason Brittain
e Ian F. Darwin; outubro 2007, O'Reilly Media, ISBN: 0-596-10106-6, 494 p. Leia
trechos no O'Reilly Safari - Tomcat.
Beginning JSP, JSF and Tomcat Web Development: From Novice to Professional, por
Giulio 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, Complete
Starter 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, 768
p.
mhavila.com.br/topicos/…/tomcat.html 20/22
14/05/2009 Tutorial Tomcat - Instalação e Config…
J2EE v1.4 Documentation, por Sun Microsystems.
Referências sobre JavaServer & J2EE, por Márcio d'Ávila.
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, JSR
53.
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: A
Standard Tag Library for JavaServer Pages.
Guidelines, Patterns, and Code for End-to-End Java Applications. Java Blueprints
Guidelines: 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 Apache
Maven. Maven encoraja o uso de uma estrutura de diretórios comum para projetos. Veja
também An introduction to Maven 2, artigo pro John Ferguson Smart, dezembro 2005, Java
World.
mhavila.com.br/topicos/…/tomcat.html 21/22
14/05/2009 Tutorial Tomcat - Instalação e Config…
© 2003-2009, Márcio d'Ávila, mhavila.com.br, direitos reservados. O
texto 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ço
para garantir sua precisão e correção, é oferecida "como está", sem quaisquer
garantias explícitas ou implícitas decorrentes de sua utilização ou suas conseqüências diretas e indiretas.
mhavila.com.br/topicos/…/tomcat.html 22/22