Tomcat est un projet central du projet Jakarta de l'Apache Software Foundation. Il est développé conjointement par Apache, Sun et d'autres sociétés et individus. Grâce à la participation et au soutien de Sun, les dernières spécifications Servlet et JSP peuvent toujours être reflétées dans Tomcat. Parce que Tomcat dispose d'une technologie avancée, de performances stables et qu'il est gratuit, il est profondément apprécié par les passionnés de Java et reconnu par certains développeurs de logiciels. Il est devenu un serveur d'applications Web populaire. La plupart des programmeurs l'apprécient car il prend peu de temps. ressources système lors de son exécution, a une bonne évolutivité et prend en charge les fonctions couramment utilisées dans les systèmes d'application de développement telles que l'équilibrage de charge et les services de messagerie ; et il est constamment amélioré et perfectionné. Toute personne intéressée par les programmeurs peut le modifier ou y ajouter de nouvelles fonctionnalités.
Apache TomcatVersion 6.0.20
Notes de version
=============================
PROBLEMES CONNUS DANS CETTE VERSION :
=============================
*Changements de dépendance
* Applications basées sur JNI
* API groupées
* Rechargement d'applications Web et champs statiques dans les bibliothèques partagées
* Tomcat sous Linux
* Activation du support SSI et CGI
* URL du gestionnaire de sécurité
* Lien symbolique des ressources statiques
* Activation du servlet d'invocation
* Affichage du journal des modifications Tomcat
* Quand tout le reste échoue
===================
Modifications des dépendances :
===================
Tomcat 6.0 est conçu pour fonctionner sur JSE 5.0 et versions ultérieures.
De plus, Tomcat 6.0 utilise le compilateur Java Eclipse JDT pour compiler
Pages JSP Cela signifie que vous n’avez plus besoin d’avoir l’intégralité des pages.
Kit de développement Java (JDK) pour exécuter Tomcat, mais un environnement d'exécution Java
(JRE) est suffisant. Le compilateur Java Eclipse JDT est fourni avec le
Les distributions binaires Tomcat peuvent également être configurées pour utiliser le.
compilateur du JDK pour compiler des JSP, ou tout autre compilateur Java pris en charge
par Apache Ant.
=======================
Applications basées sur JNI :
=======================
Les applications qui nécessitent des bibliothèques natives doivent s'assurer que les bibliothèques ont
été chargé avant utilisation. Généralement, cela se fait avec un appel tel que :
statique {
System.loadLibrary("chemin d'accès au fichier-bibliothèque");
}
dans certaines classes. Cependant, l'application doit également s'assurer que la bibliothèque est
pas chargé plus d'une fois si le code ci-dessus a été placé dans une classe à l'intérieur.
l'application web (ie sous /WEB-INF/classes ou /WEB-INF/lib), et le
l'application était rechargée, l'appel à loadLibrary() serait tenté une seconde
temps.
Pour éviter ce problème, placez les classes qui chargent les bibliothèques natives en dehors du
application Web et assurez-vous que l'appel loadLibrary() n'est exécuté qu'une seule fois
pendant la durée de vie d'une JVM particulière.
=============
API groupées :
=============
Une installation standard de Tomcat 6.0 rend toutes les API suivantes disponibles
à utiliser par les applications web (en les plaçant dans "lib") :
* annotations-api.jar (paquet d'annotations)
* catalina.jar (implémentation de Tomcat Catalina)
* catalina-ant.jar (tâches Tomcat Catalina Ant)
* catalina-ha.jar (Forfait haute disponibilité)
* catalina-tribes.jar (Communication de groupe)
* el-api.jar (API EL 2.1)
* jasper.jar (compilateur et runtime Jasper 2)
* jasper-el.jar (implémentation de Jasper 2 EL)
* jasper-jdt.jar (compilateur Java Eclipse JDT 3.3)
* jsp-api.jar (API JSP 2.1)
* servlet-api.jar (API Servlet 2.5)
* tomcat-coyote.jar (connecteurs Tomcat et classes utilitaires)
* tomcat-dbcp.jar (paquet renommé pool de connexions à la base de données basé sur Commons DBCP)
Vous pouvez rendre des API supplémentaires disponibles pour toutes vos applications Web en
placer les classes décompressées dans un répertoire "classes" (non créé par défaut),
ou en les plaçant dans des fichiers JAR dans le répertoire "lib".
Pour remplacer l'implémentation ou les interfaces de l'analyseur XML, utilisez le
mécanisme de la JVM. La configuration par défaut définit les JAR situés dans
"approuvé" comme approuvé.
=================================================== ==============
Rechargement d'applications Web et champs statiques dans les bibliothèques partagées :
=================================================== ==============
Certaines bibliothèques partagées (beaucoup font partie du JDK) conservent des références aux objets
instancié par l'application Web pour éviter les problèmes liés au chargement des classes.
(ClassCastExceptions, messages indiquant que le chargeur de classe
est arrêté, etc.), l'état des bibliothèques partagées doit être réinitialisé.
Une chose qui pourrait aider serait d'éviter de mettre des classes qui seraient
référencé par un champ statique partagé dans le chargeur de classe de l'application web,
et en les plaçant plutôt dans le chargeur de classe partagé (les JAR doivent être placés dans le
"lib" et les classes doivent être placées dans le dossier "classes").
================
Tomcat sous Linux :
================
Les utilisateurs de GLIBC 2.2 / Linux 2.4 doivent définir une variable d'environnement :
exporter LD_ASSUME_KERNEL=2.2.5
Les utilisateurs de Redhat Linux 9.0 doivent utiliser le paramètre suivant pour éviter
problèmes de stabilité :
exporter LD_ASSUME_KERNEL=2.4.1
Certains bogues Linux ont été signalés concernant le comportement du fichier d'envoi NIO, assurez-vous de
disposer d'un JDK à jour ou désactiver le comportement sendfile dans le connecteur.
6427312 : (fc) FileChannel.transferTo() renvoie IOException "appel système interrompu"
5103988 : (fc) FileChannel.transferTo devrait renvoyer -1 pour EAGAIN à la place, lance IOException
6253145 : (fc) FileChannel.transferTo sous Linux échoue lorsque la limite de 2 Go est dépassée
6470086 : (fc) FileChannel.transferTo(2147483647, 1, canal) provoque une exception "Valeur trop grande"
=============================
Activation de la prise en charge SSI et CGI :
=============================
En raison des risques de sécurité associés aux CGI et SSI disponibles
aux applications Web, ces fonctionnalités sont désactivées par défaut.
Pour activer et configurer la prise en charge CGI, veuillez consulter la page cgi-howto.html.
Pour activer et configurer la prise en charge SSI, veuillez consulter la page ssi-howto.html.
======================
URL du gestionnaire de sécurité :
======================
Afin d'accorder des autorisations de sécurité aux JAR situés à l'intérieur du
référentiel d'applications Web, utilisez des URL au format suivant
dans votre fichier de stratégie :
fichier :${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar
============================
Ressources statiques de liaison symbolique :
============================
Par défaut, les liens symboliques Unix ne fonctionneront pas lorsqu'ils sont utilisés dans une application Web pour créer un lien
ressources situées en dehors du répertoire racine de l’application Web.
Ce comportement est facultatif et l'indicateur « allowLinking » peut être utilisé pour désactiver
le chèque.
=========================
Activation du servlet d'invocation :
=========================
À partir de Tomcat 4.1.12, le servlet d'invocation n'est plus disponible par
par défaut dans toutes les applications Web. L'activer pour toutes les applications Web est possible en modifiant.
$CATALINA_HOME/conf/web.xml pour décommenter le mappage de servlet "/servlet/*"
définition.
L'utilisation du servlet invocateur dans un environnement de production n'est pas recommandée et
n'est pas pris en charge. Plus de détails sont disponibles sur la FAQ Tomcat à l'adresse.
http://tomcat.apache.org/faq/misc.html#invoker.
==============================
Affichage du journal des modifications Tomcat :
==============================
Voir changelog.html dans ce répertoire.
====================
Quand tout le reste échoue :
====================
Voir la FAQ
http://tomcat.apache.org/faq/
Développer