Flux rss
Collection CommentÇaMarche.net
Bookmark Ajouter aux favoris / Partager

Le cycle de vie d'une servlet

Le cycle de vie d'une servlet est assuré par le conteneur de servlet. Ainsi afin d'être à même de fournir la requête à la servlet, récupérer la réponse ou bien tout simplement démarrer/arrêter la servlet, cette dernière doit possèder une interface (un ensemble de méthodes prédéfinies) déterminée par le JSDK afin de suivre le cycle de vie suivant :

  1. le serveur crée un pool de threads auxquels il va pouvoir affecter chaque requête
  2. La servlet est chargée au démarrage du serveur ou lors de la première requête
  3. La servlet est instanciée par le serveur
  4. La méthode init() est invoquée par le conteneur
  5. Lors de la première requête, le conteneur crée les objets Request et Response spécifiques à la requête
  6. La méthode service() est appelée à chaque requête dans une nouvelle thread. Les objets Request et Response lui sont passés en paramètre
  7. Grâce à l'objet Request, la méthode service() va pouvoir analyser les informations en provenance du client
  8. Grâce à l'objet Response, la méthode service() va fournir une réponse au client
  9. La méthode destroy() est appelée lors du déchargement de la servlet, c'est-à-dire lorsqu'elle n'est plus requise par le serveur. La servlet est alors signalée au garbage collector (communément francisé en ramasse-miette)

Interface d'une servlet

Pour créer une servlet il est indispensable de mettre en oeuvre l'interface javax.servlet.Servlet permettant au conteneur d'assurer le cycle de vie de la servlet.
La mise en place de l'interface (généralement réalisée en étendant javax.servlet.GenericServlet ou javax.servlet.HttpServlet) fait appel à cinq méthodes :

  • la méthode init()
  • la méthode service()
  • la méthode getServletConfig()
  • la méthode getServletInfo()
  • la méthode destroy()

la méthode init()

La méthode init() est appelée par le conteneur à chaque instanciation de la servlet

public void init(ServletConfig config) 
	throws ServletException
Lors de l'instanciation, le conteneur de servlet passe en argument à la méthode init() un objet ServletConfig permettant de charger des paramètres de configuration propres à la servlet.

En cas d'anomalie lors de l'appel de la méthode init(), celle-ci renvoie une exception de type ServletException et la servlet n'est pas initialisée.

la méthode getServletConfig()

La méthode getServletConfig()

public ServletConfig getservletConfig()

la méthode service()

La méthode service() est appelée à chaque requête d'un client.

public void service(ServletRequest req, ServletResponse res)
	throws ServletException, IOException
Les objets ServletRequest et ServletResponse sont automatiquement passés en paramètre à la méthode service() par le conteneur.

la méthode destroy()

La méthode destroy() est appelée par le conteneur lors de l'arrêt du serveur Web.

public void destroy()
La méthode destroy() attend la fin de tous les threads lancés par la méthode service() avant de mettre fin à l'exécution de la servlet.

Fournir des informations sur la servlet

Certaines applications (comme Java Web Server Administration Tool) permettent d'obtenir des informations sur la servlet et de les afficher.

La méthode getServletInfo() lorsqu'elle est surchargée permet de retourner cette information sous forme d'objet String (elle retourne null par défaut).

public String getServletInfo()

Voici un exemple d'utilisation de cette méthode :

public class CommentCaMarche extends HttpServlet {
		...
		public String getServletInfo() {
			return "écrites par Jean-Francois Pillou
			(webmaster@commentcamarche.net)";


Dernière modification le mardi 14 octobre 2008 à 17:40:39.Ce document intitulé « Cycle de vie des servlets » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Model de cycle de vie d'un logiciel Salut, J'esper trouver de l'aide. Voila les points essentiels que j'aimerais avoir : * Historique (cycle de vie en général ou modèles) * Modèles de cycle de vie 1- Boehm Spirale 2- V 3- Prototype 4- Incrémental * Inconvénients et avantages * Domaine... www.commentcamarche.net/forum/affich-2546451-model-de-cycle-de-vie-d-un-logiciel
Cycle de vie d'un logiciel Cycle de vie d'un logiciel Le « cycle de vie d'un logiciel » (en anglais software lifecycle), désigne toutes les étapes du développement d'un logiciel, de sa conception à sa disparition. L'objectif d'un tel découpage est de permettre de définir des... www.commentcamarche.net/contents/genie-logiciel/cycle-de-vie.php3
Plus Belle La Vie REDIFF . (Résolu)Bonjour, Je suis la serie Plus Belle La Vie sur France 3 chaque soir .. cependant je vais bientôt partir en vacances pendant le mois d'août à l'étranger, où pourrais-je trouver les rediffusions de cette serie sur internet ? Merci de votre aide.... www.commentcamarche.net/forum/affich-7456267-plus-belle-la-vie-rediff
Telecharger Cycling Manager (Résolu)Bonjour, Bonjour, c quoi lfp manager? et sinon(si c pas Cycling Manager) j'aimerais télécharger Cycling Manager 2008 gratuitement et si possible gratuitement www.commentcamarche.net/forum/affich-7627747-telecharger-cycling-manager
Jeux simulation de vie (Résolu)Bonjour, Connaissez vous des jeux de simulation de vie tel que les sims mais en ligne? Je joue actuellement à EA Land mais j'aurais voulu voire ailleurs, peut etre que je manque qqch de bien! =) Je ne cherche pas un truc super sérieux comme Second... www.commentcamarche.net/forum/affich-6146407-jeux-simulation-de-vie
"Plus belle la vie" devient un jeu vidéo(Paris - Relax news) - Le feuilleton de France 3, Plus belle la vie, va être adapté par Mindscape sur la DS sous la forme d'un jeu d'aventure, a annoncé l'éditeur lors du salon de l'IDEF à Cannes. Dans la peau de Chloé, le joueur devra mener l'enquête... www.commentcamarche.net/actualites/plus-belle-la-vie-devient-un-jeu-video-5846941-actualite.php3
Top des ventes PC : "Pro Cycling Manager 2007" conserve le maillot jaune(Paris - Relaxnews) - D'après le top 10 Micromania des meilleures ventes de jeux vidéo PC en France du 2 au 8 juillet 2007, Pro Cycling Manager 2007 reste en tête du classement.Command & Conquer 3 Les Guerres Du Tibérium profite de la sortie du kit... www.commentcamarche.net/actualites/top-des-ventes-pc-pro-cycling-manager-2007-conserve-le-maillot-jaune-3247098-actualite.php3
Introduction aux servletsIntroduction aux servlets Les servlets (on dit généralement une servlet) sont au serveur Web ce que les applets sont au navigateur pour le client. Les servlets sont donc des applications Java fonctionnant du côté serveur au même titre que les CGI... www.commentcamarche.net/contents/servlets/servintro.php3
Servlets - Gestion des formulairesIntroduction aux formulaires Les servlets rendent très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML, c'est-à-dire une interface graphique permettant à l'utilisateur de saisir des données. Grâce à la balise... www.commentcamarche.net/contents/servlets/servform.php3
Servlets - Première ServletPremiere servlet Voici un exemple simple de servlet dont le seul but est d'afficher du texte sur le navigateur du client : import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class PremiereServlet extends HttpServlet { ... www.commentcamarche.net/contents/servlets/servprem.php3