Une servlet est un composant logiciel, utilisé dans un serveur web, tel que Tomcat, qui peut être invoqué par les navigateurs clients via une URL. Le protocole de communication est dans ce cas HTTP. Même si le web dynamique est l'utilisation majeure de l'API Servlet, elle permet théoriquement de couvrir d'autres domaines d'application.
Le principe de fonctionnement est très simple : ce composant logiciel reçoit une requête, et il envoie une réponse. Cette réponse est transmise au client, qui l’interprète enfin.
Techniquement, l’API Servlet est un ensemble d’interfaces et de classes Java, rangées dans les packages
javax.servlet
et
javax.servlet.http
. Le protocole HTTP a bien sûr un statut particulier parmi les protocoles utilisés par les servlets.
Dans la mesure où les servlets sont des composants programmés entièrement en Java, elles sont portables sur toutes les architectures munies d’une machine Java. Il est donc parfaitement possible de développer ces servlets dans un environnement Windows pour les déployer ensuite, c’est à dire les mettre en production, dans un environnement Unix.
L’API Servlet a subi de nombreuses évolutions et améliorations depuis qu’elle est apparue. La première de ces évolutions est maintenant placée dans l’API JSP (Java Server Pages). Une deuxième API est née à partir des évolutions de JSP : JSTL (Java Server Tag Libraries). L’API Servlet en est à la version 3.0, intégrée à JEE 6, et nous traitons ici la version 2.5, intégrée à JEE 5.