Tomcat es un proyecto central en el proyecto de Yakarta de Apache Software Foundation. Es desarrollado conjuntamente por Apache, Sun y otras empresas e individuos. Gracias a la participación y el apoyo de Sun, las últimas especificaciones de Servlet y JSP siempre se pueden reflejar en Tomcat. Debido a que Tomcat tiene tecnología avanzada, rendimiento estable y es gratuito, es muy apreciado por los entusiastas de Java y reconocido por algunos desarrolladores de software. Tomcat es muy popular porque ocupa poco. recursos del sistema cuando se ejecuta, tiene buena escalabilidad y admite funciones comúnmente utilizadas en sistemas de aplicaciones de desarrollo, como equilibrio de carga y servicios de correo electrónico, y se mejora y perfecciona constantemente. Cualquier persona interesada puede cambiarlo o agregarle nuevas funciones.
Apache Tomcat Versión 6.0.20
Notas de la versión
==============================
PROBLEMAS CONOCIDOS EN ESTA VERSIÓN:
==============================
*Cambios de dependencia
* Aplicaciones basadas en JNI
* API incluidas
* Recarga de aplicaciones web y campos estáticos en bibliotecas compartidas.
*Tomcat en Linux
* Habilitación del soporte SSI y CGI
* URL del administrador de seguridad
* Enlace simbólico de recursos estáticos
* Habilitación del servlet invocador
* Ver el registro de cambios de Tomcat
* Cuando todo lo demás falla
====================
Cambios de dependencia:
====================
Tomcat 6.0 está diseñado para ejecutarse en JSE 5.0 y versiones posteriores.
Además, Tomcat 6.0 utiliza el compilador Java Eclipse JDT para compilar
Páginas JSP. Esto significa que ya no necesita tener las páginas completas.
Java Development Kit (JDK) para ejecutar Tomcat, pero un entorno de ejecución Java
(JRE) es suficiente. El compilador Java JDT de Eclipse se incluye con el.
Las distribuciones binarias de Tomcat también se pueden configurar para utilizar el
compilador del JDK para compilar JSP, o cualquier otro compilador de Java compatible
por la hormiga apache.
========================
Aplicaciones basadas en JNI:
========================
Las aplicaciones que requieren bibliotecas nativas deben garantizar que las bibliotecas tengan
cargado antes de su uso. Normalmente, esto se hace con una llamada como:
estático {
System.loadLibrary("ruta-al-archivo-biblioteca");
}
en alguna clase. Sin embargo, la aplicación también debe garantizar que la biblioteca esté
no cargado más de una vez si el código anterior se colocó en una clase dentro.
la aplicación web (es decir, en /WEB-INF/classes o /WEB-INF/lib) y la
Si se recargara la aplicación, la llamada loadLibrary() se intentaría por segunda vez.
tiempo.
Para evitar este problema, coloque las clases que cargan bibliotecas nativas fuera del
aplicación web y asegúrese de que la llamada loadLibrary() se ejecute solo una vez
durante la vida útil de una JVM en particular.
==============
API incluidas:
==============
Una instalación estándar de Tomcat 6.0 hace que todas las siguientes API estén disponibles
para uso de aplicaciones web (colocándolas en "lib"):
* annotations-api.jar (paquete de anotaciones)
* catalina.jar (implementación de Tomcat Catalina)
* catalina-ant.jar (tareas de Tomcat Catalina Ant)
* catalina-ha.jar (Paquete de alta disponibilidad)
* catalina-tribes.jar (Comunicación grupal)
* el-api.jar (API EL 2.1)
* jasper.jar (compilador y tiempo de ejecución de Jasper 2)
* jasper-el.jar (implementación de Jasper 2 EL)
* jasper-jdt.jar (compilador Java Eclipse JDT 3.3)
* jsp-api.jar (API JSP 2.1)
* servlet-api.jar (API de Servlet 2.5)
* tomcat-coyote.jar (conectores Tomcat y clases de utilidad)
* tomcat-dbcp.jar (paquete renombrado grupo de conexiones de base de datos basado en Commons DBCP)
Puede hacer que API adicionales estén disponibles para todas sus aplicaciones web al
poner clases descomprimidas en un directorio de "clases" (no creado de forma predeterminada),
o colocándolos en archivos JAR en el directorio "lib".
Para anular la implementación o las interfaces del analizador XML, utilice el método aprobado
mecanismo de la JVM. La configuración predeterminada define los JAR ubicados en
"respaldado" como respaldado.
==================================================== ===============
Recarga de aplicaciones web y campos estáticos en bibliotecas compartidas:
==================================================== ===============
Algunas bibliotecas compartidas (muchas son parte del JDK) mantienen referencias a objetos
instanciado por la aplicación web Para evitar problemas relacionados con la carga de clases.
(ClassCastExceptions, mensajes que indican que el cargador de clases
se detiene, etc.), se debe reinicializar el estado de las bibliotecas compartidas.
Algo que podría ayudar es evitar poner clases que serían
referenciado por un campo estático compartido en el cargador de clases de la aplicación web,
y ponerlos en el cargador de clases compartido en su lugar (los JAR deben colocarse en el
carpeta "lib", y las clases deben colocarse en la carpeta "clases").
=================
Tomcat en Linux:
=================
Los usuarios de GLIBC 2.2 / Linux 2.4 deben definir una variable de entorno:
exportar LD_ASSUME_KERNEL=2.2.5
Los usuarios de Redhat Linux 9.0 deben utilizar la siguiente configuración para evitar
problemas de estabilidad:
exportar LD_ASSUME_KERNEL=2.4.1
Se han informado algunos errores de Linux relacionados con el comportamiento del archivo de envío de NIO, asegúrese de
tener un JDK actualizado o desactivar el comportamiento de envío de archivos en el conector.
6427312: (fc) FileChannel.transferTo() arroja IOException "llamada al sistema interrumpida"
5103988: (fc) FileChannel.transferTo debería devolver -1 para EAGAIN en lugar de arrojar IOException
6253145: (fc) FileChannel.transferTo en Linux falla al superar el límite de 2 GB
6470086: (fc) FileChannel.transferTo(2147483647, 1, canal) causa la excepción "Valor demasiado grande"
==============================
Habilitación del soporte SSI y CGI:
==============================
Debido a los riesgos de seguridad asociados con CGI y SSI disponibles
Para aplicaciones web, estas funciones están deshabilitadas de forma predeterminada.
Para habilitar y configurar la compatibilidad con CGI, consulte la página cgi-howto.html.
Para habilitar y configurar la compatibilidad con SSI, consulte la página ssi-howto.html.
=======================
URL del administrador de seguridad:
=======================
Para otorgar permisos de seguridad a los JAR ubicados dentro del
repositorio de aplicaciones web, utilice URL del siguiente formato
en su archivo de póliza:
archivo:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar
=============================
Enlace simbólico de recursos estáticos:
=============================
De forma predeterminada, los enlaces simbólicos de Unix no funcionarán cuando se utilicen en una aplicación web para vincular
recursos ubicados fuera del directorio raíz de la aplicación web.
Este comportamiento es opcional y el indicador "allowLinking" se puede utilizar para desactivar
el cheque.
===========================
Habilitando el servlet invocador:
===========================
A partir de Tomcat 4.1.12, el servlet invocador ya no está disponible por
predeterminado en todas las aplicaciones web Es posible habilitarlo para todas las aplicaciones web editando.
$CATALINA_HOME/conf/web.xml para descomentar el mapeo de servlet "/servlet/*"
definición.
No se recomienda utilizar el servlet invocador en un entorno de producción y
no es compatible. Hay más detalles disponibles en las preguntas frecuentes de Tomcat en.
http://tomcat.apache.org/faq/misc.html#invoker.
===============================
Visualización del registro de cambios de Tomcat:
===============================
Consulte changelog.html en este directorio.
=====================
Cuando todo lo demás falla:
=====================
Ver las preguntas frecuentes
http://tomcat.apache.org/faq/
Expandir