Tomcat é um projeto central do projeto Jakarta da Apache Software Foundation. É desenvolvido em conjunto pela Apache, Sun e outras empresas e indivíduos. Devido à participação e suporte da Sun, as especificações mais recentes de Servlet e JSP sempre podem ser refletidas no Tomcat. Como o Tomcat possui tecnologia avançada, desempenho estável e é gratuito, ele é profundamente apreciado pelos entusiastas de Java e reconhecido por alguns desenvolvedores de software. Ele se tornou um servidor de aplicativos da Web popular e muito popular. recursos do sistema durante a execução, tem boa escalabilidade e suporta funções comumente usadas no desenvolvimento de sistemas aplicativos, como balanceamento de carga e serviços de e-mail, e está em constante aprimoramento e aperfeiçoamento. Qualquer pessoa interessada pode alterá-lo ou adicionar novas funcionalidades a ele.
Apache Tomcat versão 6.0.20
Notas de versão
=============================
PROBLEMAS CONHECIDOS NESTA VERSÃO:
=============================
*Mudanças de Dependência
* Aplicativos baseados em JNI
* APIs agrupadas
* Recarregamento de aplicações web e campos estáticos em bibliotecas compartilhadas
*Tomcat no Linux
* Habilitando suporte SSI e CGI
* URLs do gerenciador de segurança
* Simbolizando recursos estáticos
* Habilitando servlet invocador
* Visualizando o log de alterações do Tomcat
* Quando tudo mais falhar
===================
Mudanças de dependência:
===================
O Tomcat 6.0 foi projetado para ser executado no JSE 5.0 e posterior.
Além disso, o Tomcat 6.0 usa o compilador Eclipse JDT Java para compilar
Páginas JSP Isso significa que você não precisa mais ter as páginas completas.
Java Development Kit (JDK) para executar o Tomcat, mas um Java Runtime Environment
(JRE) é suficiente. O compilador Eclipse JDT Java é fornecido com o pacote.
distribuições binárias do Tomcat também podem ser configuradas para usar o.
compilador do JDK para compilar JSPs ou qualquer outro compilador Java suportado
por Apache Ant.
=======================
Aplicativos baseados em JNI:
=======================
Os aplicativos que exigem bibliotecas nativas devem garantir que as bibliotecas tenham
foi carregado antes do uso. Normalmente, isso é feito com uma chamada como:
estático {
System.loadLibrary("caminho para o arquivo da biblioteca");
}
em alguma classe, no entanto, o aplicativo também deve garantir que a biblioteca esteja.
não carregado mais de uma vez Se o código acima foi colocado em uma classe dentro.
o aplicativo da web (ou seja, em /WEB-INF/classes ou /WEB-INF/lib) e o
aplicativo fosse recarregado, a chamada loadLibrary() seria tentada uma segunda vez
tempo.
Para evitar esse problema, coloque classes que carregam bibliotecas nativas fora do
aplicativo da web e certifique-se de que a chamada loadLibrary() seja executada apenas uma vez
durante a vida útil de uma JVM específica.
=============
APIs agrupadas:
=============
Uma instalação padrão do Tomcat 6.0 disponibiliza todas as APIs a seguir
para uso por aplicações web (colocando-as em "lib"):
* annotations-api.jar (pacote de anotações)
* catalina.jar (implementação do Tomcat Catalina)
* catalina-ant.jar (tarefas do Tomcat Catalina Ant)
* catalina-ha.jar (pacote de alta disponibilidade)
* catalina-tribes.jar (comunicação em grupo)
* el-api.jar (API EL 2.1)
* jasper.jar (compilador e tempo de execução Jasper 2)
* jasper-el.jar (implementação Jasper 2 EL)
* jasper-jdt.jar (compilador Eclipse JDT 3.3 Java)
* jsp-api.jar (API JSP 2.1)
* servlet-api.jar (API Servlet 2.5)
* tomcat-coyote.jar (conectores Tomcat e classes de utilitários)
* tomcat-dbcp.jar (pacote renomeado conjunto de conexões de banco de dados com base no Commons DBCP)
Você pode disponibilizar APIs adicionais para todos os seus aplicativos da web
colocar classes descompactadas em um diretório "classes" (não criado por padrão),
ou colocando-os em arquivos JAR no diretório "lib".
Para substituir a implementação ou interfaces do analisador XML, use o endossado
mecanismo da JVM A configuração padrão define JARs localizados em.
"endossado" como endossado.
================================================= ==============
Recarregamento de aplicativos da Web e campos estáticos em bibliotecas compartilhadas:
================================================= ==============
Algumas bibliotecas compartilhadas (muitas fazem parte do JDK) mantêm referências a objetos
instanciado pelo aplicativo da web para evitar problemas relacionados ao carregamento de classe.
(ClassCastExceptions, mensagens indicando que o carregador de classe
está parado, etc.), o estado das bibliotecas compartilhadas deve ser reinicializado.
Algo que pode ajudar é evitar colocar aulas que seriam
referenciado por um campo estático compartilhado no carregador de classe do aplicativo da web,
e colocá-los no carregador de classe compartilhado (os JARs devem ser colocados no
pasta "lib" e as classes devem ser colocadas na pasta "classes").
================
Tomcat no Linux:
================
Os usuários do GLIBC 2.2/Linux 2.4 devem definir uma variável de ambiente:
exportar LD_ASSUME_KERNEL=2.2.5
Os usuários do Redhat Linux 9.0 devem usar a seguinte configuração para evitar
problemas de estabilidade:
exportar LD_ASSUME_KERNEL=2.4.1
Existem alguns bugs do Linux relatados contra o comportamento do sendfile do NIO, certifique-se de
tenha um JDK atualizado ou desative o comportamento do sendfile no Connector.
6427312: (fc) FileChannel.transferTo() lança IOException "chamada de sistema interrompida"
5103988: (fc) FileChannel.transferTo deve retornar -1 para EAGAIN em vez disso, lança IOException
6253145: (fc) FileChannel.transferTo no Linux falha ao ultrapassar o limite de 2 GB
6470086: (fc) FileChannel.transferTo(2147483647, 1, canal) causa exceção "Valor muito grande"
=============================
Habilitando suporte SSI e CGI:
=============================
Devido aos riscos de segurança associados ao CGI e SSI disponíveis
para aplicativos da web, esses recursos estão desativados por padrão.
Para ativar e configurar o suporte CGI, consulte a página cgi-howto.html.
Para ativar e configurar o suporte SSI, consulte a página ssi-howto.html.
======================
URLs do gerenciador de segurança:
======================
Para conceder permissões de segurança aos JARs localizados dentro do
repositório de aplicativos da web, use URLs do seguinte formato
no seu arquivo de política:
arquivo:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar
============================
Link simbólico de recursos estáticos:
============================
Por padrão, os links simbólicos do Unix não funcionarão quando usados em uma aplicação web para vincular
recursos localizados fora do diretório raiz do aplicativo web.
Este comportamento é opcional e o sinalizador "allowLinking" pode ser usado para desabilitar
o cheque.
=========================
Ativando o servlet invocador:
=========================
A partir do Tomcat 4.1.12, o servlet invocador não está mais disponível por
padrão em todos os webapps É possível ativá-lo para todos os webapps editando.
$CATALINA_HOME/conf/web.xml para descomentar o mapeamento de servlet "/servlet/*"
definição.
Usar o servlet invocador em um ambiente de produção não é recomendado e
não é compatível. Mais detalhes estão disponíveis nas Perguntas frequentes do Tomcat em.
http://tomcat.apache.org/faq/misc.html#invoker.
==============================
Visualizando o log de alterações do Tomcat:
==============================
Consulte changelog.html neste diretório.
====================
Quando tudo mais falhar:
====================
Veja as perguntas frequentes
http://tomcat.apache.org/faq/
Expandir