Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Apache Tomcat — Wikipédia
Apache Tomcat — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.
Page d’aide sur l’homonymie

Pour les articles homonymes, voir Tomcat.

Apache Tomcat
Description de l'image Apache Tomcat logo.svg.
Description de cette image, également commentée ci-après
Page d'accueil de Tomcat 8.0.8
Informations
Développé par Apache Software FoundationVoir et modifier les données sur Wikidata
Première version 1999[1] et 27 janvier 2006[2]Voir et modifier les données sur Wikidata
Dernière version 10.1.45 (8 septembre 2025)[3]
11.0.11 (5 septembre 2025)[4]Voir et modifier les données sur Wikidata
Dépôt https://github.com/apache/tomcat
Écrit en JavaVoir et modifier les données sur Wikidata
Système d'exploitation GNU/Linux, Microsoft Windows, BSD et macOSVoir et modifier les données sur Wikidata
Environnement Machine virtuelle JavaVoir et modifier les données sur Wikidata
Type Serveur d'applicationsVoir et modifier les données sur Wikidata
Licence Licence Apache 2.0Voir et modifier les données sur Wikidata
Site web tomcat.apache.orgVoir et modifier les données sur Wikidata

modifier - modifier le code - voir Wikidata (aide)

Apache Tomcat ou simplement Tomcat est un serveur d'applications, plus précisément un conteneur web libre de servlets et JSP. Issu du projet Jakarta, c'est un des nombreux projets de l’Apache Software Foundation. Il implémente les spécifications des servlets et des JSP du Java Community Process[5], est paramétrable par des fichiers XML et des propriétés, et inclut des outils pour la configuration et la gestion. Il comporte également un serveur HTTP.

Environnement

[modifier | modifier le code]

Tomcat est un serveur HTTP à part entière[6]. De plus, il gère les servlets et les JSP (par un compilateur Jasper compilant les pages JSP pour en faire des servlets). Tomcat a été écrit en langage Java. Il peut donc s'exécuter via la machine virtuelle Java sur n'importe quel système d'exploitation la supportant.

Catalina est le conteneur de servlets utilisé par Tomcat. Il est conforme aux spécifications servlet de Oracle Corporation et les JavaServer Pages (JSP). Coyote est le connecteur HTTP de Tomcat, compatible avec le protocole HTTP 1.1 pour le serveur web ou conteneur d'application. Jasper est le moteur JSP d'Apache Tomcat. Tomcat 9.x utilise Jasper 2, qui est une implémentation de la spécification JavaServer Pages 2.3 de Oracle. Jasper parse les fichiers JSP afin de les compiler en code Java en tant que servlets (gérés par Catalina). Pendant son exécution, Jasper est capable de détecter et recompiler automatiquement les fichiers JSP modifiés.

État de développement

[modifier | modifier le code]
Architecture de Tomcat
Concepts architecturaux de Tomcat.

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.

L'architecture du logiciel se compose ainsi[7] :

  • Un serveur (server), soit tomcat en cours d'exécution ;
    • Des services, intermédiaires collectant différents canaux de transmissions vers un traitement ;
      • Un moteur (engine), qui pour chaque service traite les requêtes des collecteurs et renvoie les réponses ;
    • Des hôtes (host), qui relient une adresse réseau avec le serveur ;
    • Des connecteurs (connector), qui interprètent un canal et protocole de communication réseau à disposition des clients. Le connecteur HTTP est le plus typique ;
    • Des contextes (context), qui sont les applications web.

Le contexte est le lieu privilégié pour situer un service informatique que l'on veut rendre sur un réseau. Les autres modules sont mis en œuvre par le logiciel Tomcat lui-même.

Principe de fonctionnement

[modifier | modifier le code]

Tomcat est souvent utilisé en association avec un autre serveur web plus généraliste[6], en général Apache, mais ce peut être aussi IIS :

  • Le serveur web s'occupe des pages web traditionnelles (.html, .php par exemple)
  • Il délègue à Tomcat les pages relevant spécifiquement d'une application web Java (Servlet, JSP...).

On peut utiliser le module mod jk pour réaliser la communication entre Apache et Tomcat. Techniquement, Apache communique alors avec Tomcat sur le port 8009 (via le protocole ajp13).

Pour l'administration à distance, Tomcat inclut des applications accessibles par HTTP[8].

Arborescence de répertoires

[modifier | modifier le code]

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

  • bin : scripts et exécutables pour différentes tâches comme le démarrage et l'arrêt, notamment le fichier catalina.sh qui permet le lancement et l'arrêt du serveur tomcat.
  • 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.
  • lib : le répertoire contenant les bibliothèques logicielles (fichiers .jar).
  • logs : journaux des applications Web et de Catalina, notamment le fichier catalina.out.
  • server : classes utilisées seulement par Catalina.
  • shared : classes partagées par toutes les applications Web.
  • webapps : répertoire contenant les applications web (fichiers .war).
  • work : fichiers et répertoires temporaires (le cache).

Historique

[modifier | modifier le code]

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 (« matou ») car cet animal représentait quelque chose qui peut prendre soin de lui-même [9]. Son souhait de voir une couverture d'animal s'est finalement concrétisé lorsque O'Reilly a publié un livre sur Tomcat avec un félin en couverture[10].

Bien qu'étant une implémentation de JEE moins complète que la plupart de ses concurrents, et même grâce à cette légèreté, Tomcat domine rapidement le marché des serveurs Java[11]. Il représentait en 2014 la moitié des utilisations de tels serveurs, plus précisément 59 % des sondés[12], loin devant JBoss et Jetty. En 2016, son utilisation baisse à 42 %, ce qui s'explique par la baisse du nombre de serveur d'application en production[13].

Fonctionnalités des versions

[modifier | modifier le code]

Tomcat 3.x (version initiale)

[modifier | modifier le code]
  • implémente les spécifications Servlet 2.2 et JSP 1.1 ;
  • rechargement des servlets ;
  • fonctionnalités HTTP de base.

Tomcat 4.x

[modifier | modifier le code]
  • 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.

Tomcat 5.x

[modifier | modifier le code]
  • implémente les spécifications Servlet 2.4 et JSP 2.0 ;
  • ramasse-miettes réduit, performances et extensibilité améliorées ;
  • wrappers natifs Windows et Unix ;
  • analyse JSP plus rapide.

Tomcat 6.x

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

Tomcat 7.x

[modifier | modifier le code]
  • implémente les spécifications Servlet 3.0, JSP 2.2 et EL 2.2;
  • support de Java 6 ;
  • amélioration de la détection et de la prévention des fuites de mémoire
  • mode hébergé simplifié

Tomcat 8.x

[modifier | modifier le code]
  • implémente les spécifications Servlet 3.1, JSP 2.3, EL 3.0 et WebSocket 1.0;
  • support de Java 7 ;
  • amélioration des performances: la version par défaut des connecteurs est désormais basée sur des entrées/sorties Java non bloquantes (Asynchronous I/O) à la place des versions bloquantes (Blocking I/O)
  • amélioration de la sécurité

Tomcat 9.x

[modifier | modifier le code]

Sont annoncés par la fondation Apache :

  • implémente Servlet 4.0 et WebSocket 1.1
  • support de Java SE 8 et + WebSocket 1.1
  • Améliorations de la stabilité de nombreuses API (javax, EL 3.0, Jasper 2, JSP 2.3...)

Voir aussi

[modifier | modifier le code]

Sur les autres projets Wikimedia :

  • Apache Tomcat, sur Wikimedia Commons
  • Apache Tomcat, sur Wikibooks

Articles connexes

[modifier | modifier le code]
  • Apache Maven : outil d'automatisation d'intégration continue d'un projet Java qui permet le déploiement vers un serveur Tomcat
  • Apache HTTP Server : autre logiciel serveur HTTP
  • WAR (format de fichier) : Le type de fichier utilisé pour déployer une application
  • JOnAS : ce produit inclut un tomcat

Liens externes

[modifier | modifier le code]
  • (en) Site officiel
  • (en) Wiki d'Apache Tomcat

Notes et références

[modifier | modifier le code]
  1. ↑ (en) « Heritage » (consulté le 24 juillet 2018)
  2. ↑ « https://projects.apache.org/json/projects/tomcat.json » (consulté le 8 avril 2020)
  3. ↑ « Tomcat 10.1.45 (schultz) », 8 septembre 2025 (consulté le 10 septembre 2025)
  4. ↑ « Tomcat 11.0.11 (markt) », 5 septembre 2025 (consulté le 10 septembre 2025)
  5. ↑ Site officiel, « Apache Tomcat ».
  6. ↑ a et b (en) « Tomcat in the enterprise », sur javaworld.com, 22 janvier 2008 (consulté le 11 avril 2015)
  7. ↑ Site officiel, « Apache Tomcat Architecture ».
  8. ↑ « Utilisez le Tomcat Manager pour déployer vos projets web sur serveur Tomcat », sur java-hoster.com, 15 novembre 2010 (consulté le 11 avril 2015)
  9. ↑ Wiki Tomcat, « How did Tomcat get its name? ».
  10. ↑ livre sur Tomcat (en)
  11. ↑ (en) « Research Report Confirms Shift to Apache Tomcat », sur mulesoft.org, 18 décembre 2009 (consulté le 11 avril 2015)
  12. ↑ (en) « Java Tools and Technologies Landscape for 2014 », sur zeroturnaround.com, 21 mai 2014 (consulté le 11 avril 2015)
  13. ↑ Java Tools and Technologies Landscape Report 2016
v · m
Apache Software Foundation
Projets principaux
  • Accumulo
  • Ant
  • APR
  • Camel
  • Cassandra
  • Cocoon
  • Commons
  • Continuum
  • Cordova
  • Apache ZooKeeper
  • CouchDB
  • CXF
  • DB
  • Apache Drill
  • Flex
  • Flink
  • Geronimo
  • HBase
  • Hadoop
  • HTTP Server
  • JMeter
  • Karaf
  • Kafka
  • Logging
  • Lucene
  • Mahout
  • Maven
  • MyFaces
  • Nutch
  • OFBiz
  • OpenJPA
  • OpenOffice
  • mod_perl
  • POI
  • Portals
  • River
  • SpamAssassin
  • ServiceMix
  • Spark
  • Struts
  • Subversion
  • Tapestry
  • Thrift
  • Tika
  • Tomcat
  • Velocity
  • Web Services
  • Wicket
  • Xerces
  • Apache Beam
  • Apache Metron
  • Apache Fineract
  • Apache Ctakes
  • Apache RocketMQ
  • Apache Juneau
  • Apache Mesos
  • Apache Apex
  • Apache NiFi
  • Apache Pulsar
  • Apache Samza
  • Apache Sentry
  • Apache ORC
  • Apache Parquet
  • Apache Avro
  • Apache Airflow
ASF logo
Incubateur Apache
en cours d'incubation
  • Derby
  • Ivy
  • Apache Livy
  • Log4net
  • Solr
  • Apache Zeppelin
  • Apache Druid
  • Apache MXNet
  • Apache SINGA
  • Apache Superset
incubation finie
  • Wave
Autres projets
  • Axis
  • BCEL
Projets en fin de vie
  • Jakarta
  • iBATIS
  • Lenya
  • XAP
Personnalités
  • Brian Behlendorf
  • Roy Fielding
Divers
  • JServ
  • Licence Apache
  • mod_jk
  • .htaccess
v · m
Serveurs web
C
  • Apache
  • Cherokee
  • Hiawatha
  • lighttpd
  • Monkey web server
  • NGINX
  • Zeus
  • Abyss Web Server
C++ & C# ZMWS : ZazouMiniWebServer
ASP.NET IIS
Java
  • Tomcat
  • GlassFish
  • WildFly
  • Jetty
  • JOnAS
JavaScript/TypeScript
  • Node.js
  • Deno
  • Bun
Python
  • Gunicorn
  • Zope
Pike Caudium
Ruby
  • WEBrick
  • Mongrel
Erlang Yaws
  • icône décorative Portail de l’informatique
  • icône décorative Portail des logiciels libres
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Apache_Tomcat&oldid=212322462 ».
Catégories :
  • Logiciel écrit en Java
  • Apache Software Foundation
  • Java (langage)
  • Serveur web
  • Plateforme Java
  • Logiciel libre sous licence Apache
Catégories cachées :
  • Image locale différente de celle de Wikidata
  • Image locale correspondant à celle de Wikidata
  • Page utilisant P178
  • Page utilisant P571
  • Page utilisant P348
  • Page utilisant P277
  • Logiciel catégorisé automatiquement par langage d'écriture
  • Page utilisant P306
  • Page utilisant P400
  • Page utilisant P31
  • Page utilisant P275
  • Page utilisant P856
  • Article utilisant une Infobox
  • Catégorie Commons avec lien local identique sur Wikidata
  • Portail:Informatique/Articles liés
  • Portail:Technologies/Articles liés
  • Portail:Logiciels libres/Articles liés
  • Portail:Logiciel/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id