Un ou une[1],[2],[3]servlet est uneclasseJava qui permet de créer dynamiquement des données au sein d'unserveur HTTP. Ces données sont le plus généralement présentées auformatHTML, mais elles peuvent également l'être au formatXML ou tout autre format destiné auxnavigateurs web. Les servlets utilisent l'APIJava Servlet (packagejavax.servlet
).
Un ou une servlet s'exécute dynamiquement sur le serveur web et permet l'extension des fonctions de ce dernier, par exemple : l'accès à desbases de données, transactions decommerce en ligne, etc. Un ou une servlet peut être chargé automatiquement lors du démarrage du serveur web ou lors de la première requête du client. Une fois chargés, les servlets restent actifs dans l'attente d'autres requêtes du client.
L'utilisation de servlets se fait par le biais d'unconteneur de servlets (framework) côté serveur. Celui-ci constitue l'environnement d'exécution de le/la servlet et lui permet depersister entre les requêtes des clients. L'API définit les relations entre le conteneur et le/la servlet. Le conteneur reçoit la requête du client, et sélectionne le/la servlet qui aura à la traiter. Le conteneur fournit également tout un ensemble de services standards pour simplifier la gestion des requêtes et des sessions.
Un ou une ou plusieurs servlets constituent lesapplications web Java, leur principe de fonctionnement (architecture, fonctionnalités, configuration, déploiement) est décrit suivant une spécification officielle, menée parSun Microsystems et à laquelle toute personne peut contribuer par le biais desJava Specification Requests (Java Community Process). La version actuelle des spécifications servlet est la4.0.
Il existe plusieursconteneurs de servlets, dontApache Tomcat ou encoreJetty. Le serveur d'applicationJBoss Application Server utiliseApache Tomcat.
importjavax.servlet.*;importjava.io.*;publicclassHelloServletextendsGenericServlet{publicvoidservice(HttpServletRequestrequest,HttpServletResponseresponse){try{PrintWriterout=response.getWriter();out.println("<!DOCTYPE html>");out.println("<title>Bonjour tout le monde !</title>");out.println("<p>Hello world!</p>");}catch(IOExceptione){e.printStackTrace();}}}
Sortie générée après déploiement :
<!DOCTYPE html><title>Bonjour tout le monde !</title><p>Hello world!</p>
Version | Date de sortie | Plateforme |
---|---|---|
Servlet 4.0 | JavaEE 8 | |
Servlet 3.1 | JavaEE 7 | |
Servlet 3.0 | JavaEE 6, JavaSE 6 | |
Servlet 2.5 | JavaEE 5, JavaSE 5 | |
Servlet 2.4 | J2EE 1.4, J2SE 1.3 | |
Servlet 2.3 | Aout 2001 | J2EE 1.3, J2SE 1.2 |
Servlet 2.2 | Aout 1999 | J2EE 1.2, J2SE 1.2 |
Servlet 2.1 | -- | |
Servlet 2.0 | -- | -- |
Servlet 1.0 | -- |
Technologie | |
---|---|
Général | |
Framework | |
Techniques | |
Langages de programmation |
Côté serveur |
| ||||||||
---|---|---|---|---|---|---|---|---|---|
Côté client |
| ||||||||
Sujets |