Tomcat est un serveur web fournissant certaines spécifications JEE : Servlet, JSP + expression language, WebSockets.
Tomcat ne peut pas être considéré comme serveur d'application JEE complet car il n'offre pas l'ensemble des composants définis dans les "profiles" strandards. Il manquent de nombreuses librairies, qui peuvent toutefois être embarquées par l'application à déployer.
Il manquera par exemple dans tomcat un moteur d'injection (Contexts and Dependency Injection), l'API standard permettant de réaliser des service REST facilement (JAX-RS), la définition de composant java (EJB), la gestion des transaction (JTA), la gestion de la persistance (JPA) ...
Nous embarquerons donc dans notre application web un ensemble de librairies implémentant certaines de ces fonctionnalités comme Spring, Spring-web-mvc ou Hibernate.
Les serveurs d'application Java EE tels que JBOSS, WebSphere, Glassfish, Oracle Application Server apportent toutes ces librairies (inutile des les embarquées avec l'application) et facilite leur usage.
Pourquoi Tomcat ?
C'est un serveur web java relativement facile à prendre en main, il est très répandu et éprouvé, relativement léger et plutôt performant. Il fournit un ensemble de fonctions suffisantes pour mettre en oeuvre des application web rapidement.
Lorsque vous décompressez tomcat vous trouverez la hiérarchie de répertoire suivante :
Pour lancer tomcat, rendez-vous dans "bin" et exécuter au choix :
startup.sh
: lance tomcat en "arrière plan". La sortie standard est visible dans "logs/catalina.out". C'est la manière normale de lancer tomcat sur un serveur. Il peut ensuite être arrêté avec la commande shutdown.sh
.
catalina.sh run
: lance tomcat dans la console actuellement lancée et affiche les sorties standard à cet endroit. Je vous recommande ce mode lorsque vous développé. Il suffira ce faire [CTRL]+C pour arrêter tomcat.
Votre serveur se lance par défaut sur le port 8080, pour deux raisons :