Tutorial Tomcat - Instalação e Configuração Básica Márcio d'Ávila, 16 de dezembro de 2003. Revisão 12, 21 de agosto de 2004. Categoria: Programação: Java: Servidor Este tutorial foi inicialmente escrito e testado com base em uma instalação do Tomcat 4.1 em Windows. Posteriormente, tem sido expandido para cobrir também o Tomcat 5. Na medida do possível, as informações apresentadas contemplam também as plataformas Unix/Linux. As configurações aqui propostas são para criar um ambiente de desenvolvimento bem simples, suficiente para um primeiro contato com o Tomcat. Os arquivos de configuração e exemplos listados aqui estão também disponíveis para download, como um pacote ZIP: Tomcat 5: tomcat5_arqs.zip Tomcat 4: tomcat4_arqs.zip 1. Instalar JDK É necessário ter um Kit de Desenvolvimento de Software (SDK) Java 2 Platform Standard Edition (J2SE) previamente instalado. Para obter o J2SE SDK (também conhecido abreviadamente como JDK) e obter informações sobre a instalação em seu sistema operacional, acesse o site Sun Java: Download: http://java.sun.com/j2se/1.4/download.html para Windows, Solaris e Linux. Para outros sistemas operacionais, veja Portes da platforma Java Informação: Java 2 SDK Notas de Instalação para Solaris, Windows e Linux, 32 e 64 bits Home-page: http://java.sun.com/j2se/ Recomendado J2SE 1.4.2 ou superior. Quando este tutorial foi editado, a versão mais recente era J2SE 1.4.2_05 SDK. 1.1. JAVA_HOME Complementando a instalação do Java 2 SDK, defina a variável de ambiente apontando para seu local de instalação: Windows 2000 ou superior: Acesse "Painel de Controle" > Sistema > aba "Avançado". Pressione o botão "Variáveis de ambiente" (ver imagem). No grupo "Variáveis do sistema", crie uma nova variável JAVA_HOME, ou edite se já existente, definindo como valor o caminho da pasta de instalação C:\j2sdk1.4.2 (ver imagem). Windows 9x / NT: Edite o arquivo autoexec.bat, para incluir a linha: JAVA_HOME set JAVA_HOME=C:\j2sdk1.4.2 Linux / Unix: Edite o profile do usuário (para sh: ~/.profile) ou global do sistema (/etc/profile), para incluir a linha: JAVA_HOME=/usr/j2sdk1.4.2; export JAVA_HOME 2. Instalar Tomcat Obtenha e instale o Tomcat. Para obter o Tomcat, acesse o site do Projeto Apache Jakarta: Download: http://jakarta.apache.org/site/binindex.cgi Informação: Tomcat 5 Setup & RUNNING.txt: Tomcat 4 Instalação e Ativação Home-Page: http://jakarta.apache.org/tomcat/ Quando este tutorial foi editado, as versões estáveis mais recentes eram Tomcat 5.0.27 (APIs Servlet 2.4 e JSP 2.0, do J2EE 1.4) e Tomcat 4.1.30 (APIs Servlet 2.3 e JSP 1.2, integrantes do J2EE 1.3). O download do instalador para Windows pode ser acessado no site primário em jakarta-tomcat-5.0.27.exe e jakarta-tomcat4.1.30.exe, respectivamente. A página principal de download apresenta todas as alternativas de versões e mirrors (locais de download). O Tomcat exige um JDK instalado. Tomcat 5 Windows - Importante: Quando a variável de ambiente JAVA_HOME não está corretamente definida, o instalador costuma detectar incorretamente o JRE (Java Runtime, também instalado junto com o JDK), cuja localização padrão é similar a C:\Arquivos de programas\Java\j2re1.4\, ao invés de detectar o SDK completo, normalmente localizado em algo como C:\j2sdk1.4\, conforme o destino definido na instalação do JDK. No passo "Java Virtual Machine path selection" do instalador, certifique-se de informar o caminho correto do Java SDK. Na instalação Windows, a seleção de componentes personalizada (Custom) permite instalar e ativar o Tomcat como serviço no Windows NT/2000 ou superior, pelo item "Service". No Tomcat 5, o serviço é sempre instalado e o item "Service" apenas escolhe a sua ativação automática na inicialização do Windows. 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 servlet container. O separador de diretórios usado aqui é a barra-invertida padrão do Windows (\); para usuários Unix/Linux, deve-se substituir pela outra barra (/). 2.x. Instalação Passo-a-Passo do Tomcat Se desejar visualizar um passo-a-passo do processo de instalação do Tomcat, siga o anexo correspondente à versão desejada: 2.1. Instalar Tomcat 5 para Windows 2.2. Instalar Tomcat 4.1 para Windows 3. Iniciar e parar o Tomcat Você pode executar o Tomcat instalando como serviço (Windows NT/2000 ou superior), com inicialização automática ou manual; ou como processo isolado (qualquer sistema operacional), pelo atalhos no grupo de programa (Windows) ou por scripts shell (.bat/.sh). [Windows] Para iniciar, parar e reiniciar o Apache Tomcat, quando instalado como serviço, bem como configurar o tipo de ativação do serviço como Manual ou Automático, utilize o Gerenciador de Serviços do Windows em: Iniciar > Configurações > Painel de Controle > Ferramentas Administrativas > Serviços (ver imagem). Através do prompt de comandos, pode-se também iniciar e parar o serviço: Tomcat 5 o o Iniciar: net start "Apache Tomcat" Parar: net stop "Apache Tomcat" Tomcat 4.1 Iniciar: net start "Apache Tomcat 4.1" o Parar: net stop "Apache Tomcat 4.1" [Windows] Para iniciar e parar o Tomcat manualmente como processo, existem atalhos em: Iniciar > Programas > Apache Tomcat. Use o atalho "Start Tomcat" para iniciar o Tomcat; e "Stop Tomcat" para finalizar. Para iniciar e parar o Tomcat como processo pelo prompt de comandos (shell) do sistema operacional: 1. defina as variáveis de ambiente JAVA_HOME e CATALINA_HOME, para apontar o diretório principal da instalação do Java SDK e do Tomcat, respectivamente. O recomendado é criar o script setenv.bat [Windows] / setenv.sh [Unix] dentro de CATALINA_HOME\bin, com estas configurações (veja item 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 o Observações importantes para a plataforma Windows: Um erro comum é ter o Tomcat já iniciado como serviço e tentar iniciá-lo novamente, como processo. O processo não conseguirá ser iniciado, acusando que já existe algum servidor utilizando a sua porta. 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 (modo-texto). 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). No Tomcat 5, o processo iniciado pelo atalho "Start Tomcat" é gráfico e cria na área de notificação da barra de tarefas do Windows (ao lado do relógio) um pequeno ícone (ver imagem). Este ícone dá acesso a um menu de contexto com opções "Console Monitor", para visualizar mensagens informativas e de erro do servidor, e "Shutdown", para encerrar o Tomcat. Quando executado como serviço, o Tomcat não exibe este ícone. 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ção necessária, instalada localmente, inclusive a API Servlet/JSP da Sun, inclusa com o Tomcat. O Tomcat inclui ferramentas via interface Web para administrar e gerenciar o servidor, bem mais amigáveis do que editar arquivos de configuração. O instalador Windows solicita o login de usuário (padrão é admin) e a senha para acesso a estes recursos. Para utilizar estas ferramentas, acesse a home-page padrão do servidor e siga os seguintes links, no quadro "Administration": Tomcat Administration Permite criar, excluir e configurar Serviços e seus elementos internos (Connector, Host, Alias, Context, Logger, Valve) do Servidor Tomcat, bem como Recursos (Data Source etc.) e Autorizações (User, Group, Role). Estes itens correspondem aos elementos e atributos disponíveis no arquivo de configuração server.xml. Tomcat Manager Permite gerenciar as aplicações — iniciar, parar, re-iniciar, fazer deploy (distribuição) e undeploy — bem como monitorar o estado do servidor. 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. 5. Criar um 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 suas pró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 simples sugerida é a seguinte: dirdev\ o o o WEB-INF\ (diretório obrigatório) src\ (os fontes .java ficam aqui) classes\ (os .class gerados devem ser direcionados para aqui) 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 Vamos supor que seu "dirdev" é C:\dir\dev\. Nota: Quando se usa um IDE de desenvolvimento Java avançado (como Eclipse, NetBeans, JBuilder etc.) em projetos grandes, é comum ser definida uma estrutura mais complexa para cada projeto, em geral separando os fontes do módulo web. Este tutorial porém se baseia na estrutura simples sugerida. 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 de desenvolvimento. Você pode fazer isso pela ferramenta de Administração com interface Web do Tomcat, ou editando o arquivo de configuração. Existem ainda outras formas de configuração automática de um contexto de aplicação web, como o arquivo META-INF/context.xml de um Web Application Archive (WAR), ou com o Deployment Automático do Tomcat. Para mais informações, veja a documentação de Server Configuration Reference do Tomcat. Tomcat 5 - Criando o arquivo dev.xml: O arquivo deve ficar em: CATALINA_HOME\conf\Catalina\localhost\dev.xml A partir do Tomcat 5, não é mais recomendado criar tags de contexto dentro de um elemento Host diretamente no arquivo server.xml, embora este procedimento (como descrito para o Tomcat 4) continue funcionando. No Tomcat 5, você pode (e deve) armazenar configurações de contexto em arquivos individuais, com a extensão .xml, dentro de CATALINA_HOME/conf/Catalina/localhost/. Catalina é o mecanismo e localhost (máquina local), o hostname padrão. Este novo meio permite reconfiguração dinâmica da aplicação web, uma vez que o arquivo de configuração principal conf/server.xml não pode ser re-lido a não ser reiniciando o Tomcat. Além disso, um arquivo separado é mais simples e evita o risco de alterar incorretamente o server.xml. Crie o arquivo dev.xml na localização já descrita, com o conteúdo do quadro a seguir. O conteúdo é a definição do Context e seu Logger, precedida pela tag de identificação de arquivo XML: <?xml version="1.0" encoding="iso-8859-1"?> <Context path="/dev" docBase="C:\dir\dev" debug="0" reloadable="true" crossContext="true"> <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_dev_log." suffix=".txt" timestamp="true" /> </Context> Tomcat 4 - Editando diretamente o arquivo server.xml: O arquivo fica em: CATALINA_HOME\conf\server.xml Tenha cuidado ao editar diretamente o server.xml. Ele tem uma estrutura certa e muito bem definida. Uma tag inserida em local incorreto será ignorada pelo servidor, e um erro de sintaxe introduzido no arquivo pode tornar toda a configuração inválida e o servidor inoperante. É altamente recomendável fazer uma cópia de segurança do arquivo server.xml original, antes de editá-lo. Adicione no server.xml o código a seguir que define o novo contexto, no escopo dentro do elemento Host para localhost. No arquivo padrão instalado pelo Tomcat 4, para localizar um ponto adequado onde inserir esta definição, procure pelo comentário iniciado com "<!-- Define properties for each web application" (logo após a tag Logger da localhost) e crie seu contexto logo abaixo do fim desta tag de comentário ( --> ). ... <Host name="localhost" ...> ... <Context path="/dev" docBase="C:\dir\dev" debug="0" reloadable="true" crossContext="true"> <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_dev_log." suffix=".txt" timestamp="true" /> </Context> ... </Host> ... Tomcat 4/5 - Pela Tomcat Administration Tool: 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 da tag 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. 6. Configurar o contexto: web.xml O arquivo WEB-INF/web.xml é o descritor do contexto de aplicação web, segundo a especificação Java Servlet/J2EE. As informações nele contidas são as configurações específicas da aplicação. Crie o arquivo web.xml de configuração do novo contexto criado, dentro do diretório C:\dir\dev\WEB-INF\. Um conteúdo mínimo para ele é listado a seguir, de acordo com a versão. Tomcat 5: A configuração do servlet invoker no arquivo global conf/web.xml vem inicialmente comentada. Ao invés de descomentar esta definição, vamos ativá-la no web.xml de seu contexto, conforme a seguir. <?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> <display-name>Desenvolvimento</display-name> <description> Descritor do contexto de desenvolvimento. </description> <servlet> <servlet-name>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>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> </web-app> Tomcat 4: A configuração do servlet invoker já vem pronta no arquivo global conf/web.xml. No arquivo web.xml de seu contexto, basta mapeá-la para o caminho /servlet. <?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> <display-name>Desenvolvimento</display-name> <description> Descritor do contexto de desenvolvimento. </description> <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> </web-app> 7. Ativar contexto Para ativar o novo contexto criado, reinicie o Tomcat (stop/start). 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 (C:\dir\dev\), você deve ver esta página. Senão, verá apenas uma listagem do diretório gerada pelo Tomcat. 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 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, que contém todas as APIs do J2EE inclusive Servlet/JSP, claro. 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. 10. Testar seus servlets O pacote ZIP com os arquivos deste tutorial (veja a Introdução) inclui o fonte de um servlet bem simples AloMundoServ.java, que pode ser usado como primeiro teste, similar a: import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class AloMundoServ extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String alo = "Al&ocirc; Mundo!"; PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<body><h1>" + alo + "</h1></body>"); out.println("</html>"); } // doGet } // class AloMundoServ Se o arquivo estiver em C:\dir\dev\WEB-INF\src\, você pode abrir uma janela de comandos (prompt) neste local, certificar-se que o CLASSPATH está devidamente configurado conforme o item 9 deste tutorial, e executar o compilador javac, direcionando o destino para WEB-INF/classes: javac -d ../classes AloMundoServ.java Depois que um servlet for compilado e o .class resultante colocado em C:\dir\dev\WEB-INF\classes\, com as configurações de mapeamento servlet genérico que fizemos no contexto, você acessa seu servlet com o URI /dev/servlet/NomeDaClasseServlet AloMundoServ.class, (sem o .class). Para o exemplo compilado 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 C:\dir\dev\ (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 arquivos JSP e arquivos estáticos (HTML, imagens etc.). Estes subdiretórios se refletirão diretamente no URL (endereço) de uma página JSP neles contida. Uma página JSP em C:\dir\dev\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. Se a configuração do Tomcat 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: 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 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 Para ver logs de acesso, erro e depuração, leia os txt's gerados em: CATALINA_HOME\logs\ O seu contexto de desenvolvimento deve gerar os arquivos localhost_dev_log*.txt Quando existirem muitos arquivos de log no Tomcat de desenvolvimento e você quiser limpar o diretório para 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 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 levantadas. Tomcat 5 Windows como Processo gráfico O menu de contexto que se abre clicando-se (botão direito do mouse) no ícone do Tomcat na área de notificação do Windows (ver imagem) permite abrir o "Console Monitor", onde são exibidas as mensagens informativas e de erro do servidor (ver imagem). Tomcat como Processo console Na janela de console são exibidas as mensagens da saída padrão (stdout) e de erro (stderr). Tomcat como Serviço Windows ou com Arquivos de log Por padrão, as mensagens informativas (saída padrão) e de erro do servidor Tomcat são direcionadas para os arquivos stdout.log e stderr.log, respectivamente, localizados em CATALINA_HOME\logs\. 13. Variáveis de Ambiente É útil deixar configuradas as variáveis de ambiente principais relacionadas ao Java SDK e ao Tomcat. A variável para o SDK foi abordada no item 1.1 deste tutorial. As variáveis de ambiente envolvidas são: JAVA_HOME Local de instalação do Kit de Desenvolvimento (SDK) Java J2SE. CATALINA_HOME Local de instalação do Tomcat. CLASSPATH Caminhos (pacotes e diretórios) de localizações de classes Java, deve incluir o(s) jar(s) dos pacotes Servlet/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. Windows (Painel de Controle ou arquivo autoexec.bat), ou criar um script setenv.bat: set JAVA_HOME=C:\j2sdk1.4.2_05 set CATALINA_HOME=C:\Arquiv~1\Apache~1\Tomcat 5.0 set 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% Linux/Unix (user/system profile), ou criar um script setenv.sh: JAVA_HOME=/usr/j2sdk1.4.2_05 CATALINA_HOME=/usr/tomcat CLASSPATH=$CATALINA_HOME/common/lib/servlet-api.jar:.:$CLASSPATH CLASSPATH=$CATALINA_HOME/common/lib/jsp-api.jar:$CLASSPATH PATH=$JAVA_HOME/bin:$PATH # Sintaxe Bourne shell (sh), Korn shell (ksh), Bash e similares: export JAVA_HOME CATALINA_HOME CLASSPATH PATH Obs: Modifique os caminhos JAVA_HOME e CATALINA_HOME de acordo com os locais de instalação em seu computador. Para Tomcat 4.1, a biblioteca a ser incluída no CLASSPATH é apenas servlet.jar, conforme visto no item 9 deste tutorial. 14. Material de referência O Tomcat vem com material de referência completo, documentação e exemplos. Tudo pode ser acessado localmente on-line (Tomcat iniciado) a partir dos links na home-page padrão do Tomcat, em http://localhost:8080/. Este material também está disponível no site do Projeto Apache Jakarta. 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\tomcatdocs\index.html o Configuration Reference, com toda a sintaxe do arquivo de configuração do servidor Tomcat conf\server.xml: config/ o 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 a partir do Tomcat 5 (JSP 2.0), jspapi/. Exemplos prontos para executar, com código-fonte Tomcat 5: o o JSP Examples: http://localhost:8080/jsp-examples/ Servlet Examples: http://localhost:8080/servlets-examples/ Tomcat 4: o o 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; programação Java e API J2SE; arquitetura e mecanismos de sistemas web; HTML, CSS e JavaScript; Java Web = Servlets, JSP e JavaBeans (não-enterprise). Para fazer projetos bem estruturados, você também deve saber: padrões de modelagem (design patterns); taglibs em JSP; metodologia Modelo-Visão-Controle (MVC), Jakarta Struts; JavaServer Faces (JSF); Enterprise JavaBeans (EJB); mapeamento objeto-relacional. 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. Para produtividade, é importante também um bom ambiente integrado de desenvolvimento (IDE). A ferramenta mais usada, e gratuita, é o Eclipse. Mas há também os bons NetBeans, Borland JBuilder, Oracle JDeveloper e o IntelliJ IDEA, para citar alguns. Mas nenhuma ferramenta vai dispensar o conhecimento da arquitetura J2EE e da tecnologia envolvida. 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 e IIS; configuração e calibração do Tomcat para ambientes de produção e alto desempenho. 16. Mais informações Glossário Catalina é o nome-código do Servlet Container do Tomcat, Jasper é seu processador JSP e Coyote (JK2) é 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. Tomcat 5 on Linux & Tomcat 4 on Linux Step-By-Step, by Pascal Chong. Advanced Tomcat, by Pascal Chong. Configuring & Using Apache Tomcat: Um tutorial sobre instalação e uso de Tomcat 4 ou 5 para desenvolvimento de Servlet e JSP; por Marty Hall, Core Servlets. [Em Inglês] The Java Web Services Tutorial: 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] YoLinux Tutorial: Java Servlets, JSP, Jakarta-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 Jakarta: Tomcat Servlet/JSP Container Jakarta Commons - Daemon: daemons (jsvc para Unix) e serviços (Win32) baseados em Java Sun Java Servlet & JSP Sun Java Servlet Sun JavaServer Pages (JSP) JavaServer Pages Standard Tag Library (JSTL) Referências sobre JavaServer & J2EE Especificações Servlet/JSP JSR-154: Java Servlet 2.4 Specification JSR-152: JavaServer Pages 2.0 Specification JSR-053: Java Servlet 2.3 and JavaServer Pages 1.2 Specifications JSR-052: JavaServer Pages Standard Tag Library (JSTL) Specification 1.1 JSR-052: JavaServer Pages Standard Tag Library (JSTL) Specification 1.0 Informação sobre Java Referências sobre Programação Java: sites, grupos de usuários, ferramentas, APIs, livros, certificação