Tomcat

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 :

Votre serveur est maintenant accessible à l'adresse http://localhost:8080/ (ou via n'importe quelle IP exposée par l'une de vos interface réseau LAN, WAN, VPN ...).
N'hésitez pas à consulter la documentation de tomcat si nécessaire.

Votre serveur se lance par défaut sur le port 8080, pour deux raisons :

Il reste évidemment possible de configurer tomcat pour le lancer sur le port 80 au besoin, mais en condition de "production" on place souvent un autre serveur web délivrant les fichiers "statiques" (images, js ...) permettant de décharger tomcat de ces traitements. Le lien pouvant se faire par le module "JK" ou par la mise en place d'un reverse proxy http... ces détails sont au delà de ce cours mais il vous serait utile de vous renseigner par vous-même.