Introduction aux servlets
Introduction aux servlets
-
Objectifs
- Connaitre les servlets
- comprendre le cycle de vie des servlets
-
Définitions
- Une servlet est un programme qui s’exécute côté serveur en tant qu’extension du serveur. Elle reçoit une requête du client, elle effectue des traitements et renvoie le résultat.
- Une servlet est une classe Java qui permet de créer dynamiquement des données au sein d’un serveur HTTP. Ces données sont le plus généralement présentées au format HTML, mais elles peuvent également l’être au format XML ou tout autre format destiné aux navigateurs web.
- Une servlet est un composant logiciel écrit en Java fonctionnant du coté serveur
- Au même titre nous trouvons
- CGI (Common Gateway Interface)
- Langages de script coté serveur PHP, ASP (Active Server Pages)
- Permet de gérer des requêtes HTTP et de fournir au client une réponse HTTP
- Une Servlet s’exécute dans un moteur de Servlet ou conteneur de Servlet permettant d’établir le lien entre la Servlet et le serveur Web
- Une Servlet s’exécute par l’intermédiaire d’une machine virtuelle
- Servlet : Server-side applet
- Applet est une classe s’exécutant chez le client alors que la servlet s’exécute chez server.
- Une servlet est une classe java s’exécutant coté serveur
- Elle reçoit et répond aux requêtes de clients web,
-
Environnement d’exécution
- Les servlets s’exécutent dans un conteneur de servlets, appelé conteneur web
- Conteneur web = serveur web + moteur de servlet
- Établit le lien entre le serveur web et la servlet
-
Cycle de vie d’une Servlet
- Une Servlet est une classe Java. Cette classe doit être chargée puis interprétée par une machine virtuelle Java (celle du serveur d’applications).
- La Servlet est alors prête à recevoir des requêtes et à renvoyer des réponses. Lorsque l’application ou le serveur s’arrête, la Servlet est détruite, puis son instance est nettoyée par le ramasse-miettes de la machine virtuelle.
- Lorsque la servlet est instancié, le conteneur appelle la méthode init() pour initialiser la servlet
- Sur demande du client, le conteneur appelle la méthode service()
- Avant la suppression de la servlet, le conteneur appelle la méthode destroy()
-
Etapes:
- Cycle de vie du servlet : Le cycle de vie du servlet passe principalement par quatre étapes:
- La servlet classe est chargée (Chargement du servlet):
- Lorsqu’un serveur démarre, le conteneur de servlet se déploie et charge tous les servlets.
- Le chargeur de classe est responsable de charger la classe de servlet . La classe servlet est chargée lorsque la première demande de la servlet est reçue par le conteneur Web.
- Création de l’instance Servlet (Initialisation du servlet) :
- Ensuite, un servlet est initialisé en appelant la
méthode init ()
. - La méthode
Servlet.init ()
est appelée par le conteneur Servlet pour notifier que cette instance Servlet est instanciée avec succès et est sur le point d’être mise en service. - Le conteneur Web crée l’instance d’une servlet après le chargement de la classe de servlet . L’instance servlet est créée seulement une fois dans le cycle de vie de la servlet.
- Le conteneur appelle la
méthode Init()
une seule fois après la création de l’instance servlet et crée les objets Request et Response spécifiques à la requête - La méthode Service() (Demande de traitement):
- Ensuite, le servlet appelle la
méthode service ()
pour traiter la demande d’un client et est appelé pour informer le servlet des demandes du client. - Le conteneur web appelle la méthode service() à chaque requête dans une nouvelle thread.
- La méthode Destroy() (Détruire le servlet):
- Enfin, une servlet se termine en appelant
destroy()
. - La méthode
destroy()
ne s’exécute qu’une seule fois pendant la durée de vie d’un servlet et signale la fin de l’instance de servlet. - La méthode
destroy()
est appelée juste avant que le serveur ne détruise la servlet, cela donne l’occasion libérer des ressources. - Enfin, une servlet est récupéré par le garbage collector de la JVM.
Bibliographie
- Livre:Java EE Guide de développement d’applications web en Java de Jérôme LAFOSSE