Apache Tomcat

Un article de Wikipédia, l'encyclopédie libre.

Apache Tomcat
Serveur d'applications
Développeur Fondation Apache
Dernière version 6.0.16 (le 1er janvier 2008)
Environnement Multiplate-forme
Type Serveur d'applications
Licence Licence Apache
Site web tomcat.apache.org/

Apache Tomcat est un conteneur de servlet J2EE. Issu du projet Jakarta, Tomcat est désormais un projet principal de la fondation Apache. Tomcat implémente les spécifications des servlets et des JSP de Sun Microsystems. Il inclut des outils pour la configuration et la gestion, mais peut également être configuré en éditant des fichiers de configuration XML. Comme Tomcat inclut un serveur HTTP interne, il est aussi considéré comme un serveur HTTP.

Sommaire

[modifier] Environnement

Tomcat est un serveur Web qui gère les servlets et les JSP. C'est le compilateur Jasper qui compile les pages JSP pour en faire des servlets. Le moteur de servlet Tomcat est souvent employé en combinaison avec un serveur Web Apache ou d'autres serveurs Web.

Tomcat a été écrit en langage Java, il peut donc s'exécuter via la JVM (machine virtuelle java) sur n'importe quel système d'exploitation.

[modifier] Etat de développement

Les membres de la fondation Apache et des volontaires indépendants développent et maintiennent Tomcat. Les utilisateurs ont accès au code source et aux binaires sous la Apache Software License. La première version de Tomcat était la 3.0. En 2005, la version 5.x est sortie, implémentant les servlets 2.4 et les JSP 2.0. Depuis sa version 4.x, Tomcat utilise le serveur de conteneur Catalina.

[modifier] Arborescence de répertoires

L'installation par défaut de Tomcat comprend les répertoires suivants :

  • bin : Scripts et exécutables pour différentes tâches : démarrage (startup), arrêt, etc. ;
  • common : Classes communes que Catalina et les applications Web utilisent ;
  • conf : Fichiers de configuration au format XML et les DTD que ces fichiers XML utilisent ;
  • logs : Journaux des applications Web et de Catalina ;
  • server : Classes utilisées seulement par Catalina ;
  • shared : Classes partagées par toutes les applications Web ;
  • webapps : Répertoire contenant les applications web ;
  • work : Fichiers et répertoires temporaires.

[modifier] Principe de Fonctionnement

Tomcat est souvent utilisé en association avec un autre serveur web, en général Apache. Apache s'occupe de toutes les pages web traditionnelles, et Tomcat uniquement des pages d'une application web Java.

On peut utiliser le module mod_jk pour paramétrer la communication entre Apache et Tomcat. Techniquement, Apache communique avec Tomcat sur le port 8009 (via le protocole ajp13), mais Tomcat peut aussi être atteint via son propre port (8080 par défaut).

[modifier] Fonctionnalités des versions

[modifier] Tomcat 3.x (version initiale)

  • implémente les spécifications Servlet 2.2 et JSP 1.1 ;
  • rechargement des servlets ;
  • fonctionnalités HTTP de base.

[modifier] Tomcat 4.x

  • implémente les spécifications Servlet 2.3 et JSP 1.2 ;
  • nouveau conteneur de servlets Catalina ;
  • nouveau moteur JSP Jasper ;
  • connecteur Coyote ;
  • Java Management Extensions (JMX), JSP et administration Struts.

[modifier] Tomcat 5.x

[modifier] Tomcat 6.x

  • implémente les spécifications Servlet 2.5 et JSP 2.1 ;
  • support de Java 5 ;
  • amélioration de l'utilisation mémoire.

[modifier] Historique

Le projet Tomcat a été lancé comme implémentation de référence des servlets par James Duncan Davidson, architecte logiciel chez Sun. Il a contribué à rendre le projet libre et a joué un rôle majeur dans sa donation par Sun à la fondation Apache.

Davidson aspirait dès le départ à rendre le projet libre. Comme la plupart des projets libres sont associés à un livre O'Reilly avec un animal en couverture, il a souhaité donner un nom d'animal au projet. Il a choisi le nom Tomcat (litt. matou) car cet animal représentait quelque chose dont il pouvait prendre soin par lui-même. Son souhait de voir une couverture d'animal s'est finalement concrétisé lorsque O'Reilly a publié un livre sur Tomcat (en) avec un félin en couverture.

[modifier] Liens externes