Maison  >  Article  >  Java  >  Quel est le cycle de vie des servlets

Quel est le cycle de vie des servlets

清浅
清浅original
2019-04-29 10:04:078198parcourir

Le cycle de vie du Servlet représente le processus de la création à la destruction. Il est divisé en quatre étapes : l'étape d'initialisation, l'étape de réponse à la demande du client, l'étape de terminaison et l'étape de récupération de place

Le cycle de vie du Servlet fait référence à l'ensemble du processus du Servlet, de la création à la destruction. Ensuite, je présenterai ce processus en détail dans l'article, qui a un certain effet de référence et j'espère qu'il sera utile à tout le monde.

Quel est le cycle de vie des servlets

[Tutoriel recommandé : Tutoriel Servlet]

Cycle de vie du servlet

Le programme Servlet est un programme Java exécuté côté serveur, et le cycle de vie est contrôlé par le conteneur Web. Le processus de la naissance à la mort d'un Servlet est divisé en quatre étapes suivantes :

(1) Méthode de construction : Cette méthode n'est appelée que lors de la création d'un objet servlet et n'est appelée qu'une seule fois. Le but est de prouver que l'objet servlet est une instance unique dans le serveur Tomcat

(2) méthode init : utilisée dans la phase d'initialisation, c'est-à-dire appelée après la création de l'objet servlet, et appelée une seule fois .

(3) Méthode de service : utilisée dans la phase de réponse aux demandes des clients, c'est-à-dire appelée à chaque fois que la servlet est demandée, appelée n fois.

(4) méthode destroy : appelée pendant la phase de terminaison, c'est-à-dire appelée lorsque l'objet servlet est détruit. Appelé une seule fois. La

Quel est le cycle de vie des servlets

phase d'initialisation

méthode init est appelée lorsque le serveur Tomcat est arrêté ou l'application web est redéployée. La méthode init() est appelée après l'instanciation du servlet. Pendant tout le cycle de vie du servlet, la méthode init() n'est exécutée qu'une seule fois. La phase d'initialisation comprend l'établissement d'une connexion à la base de données, la lecture des informations du fichier source, etc. Si la phase d'initialisation échoue, le servlet sera directement désinstallé (attention, pas directement détruit, mais directement désinstallé).

Réponse à la phase de demande du client

Lorsqu'une demande est soumise, la servlet appelle la méthode service() pour le traitement. La méthode service() est au cœur de Servlet. Cette méthode peut être appelée plusieurs fois, et à chaque fois qu'un thread est créé pour l'appel. Pour la méthode de service, il n'est généralement pas nécessaire de la réécrire, car elle est implémentée dans HttpServlet. Elle appellera doGet/doPost selon la méthode de requête, ce qui signifie que le service est utilisé pour la redirection, donc on écrit généralement un servlet et. il suffit de réécrire doGet ou doPost.

Phase de terminaison

Lorsque le conteneur WEB est fermé ou qu'il est détecté qu'un Servlet doit être supprimé du conteneur, la méthode destroy() va être automatiquement appelé pour libérer les ressources occupées. Notez que la méthode destroy() ne peut être appelée qu’une seule fois. Normalement, l'arrêt et le redémarrage du conteneur Servlet entraîneront la destruction de l'objet Servlet. Le redéploiement du projet entraînera également la destruction de l'objet Servlet et la méthode destroy sera appelée.

Garbage Collection

Après destruction, l'instance attendra d'être recyclée par le garbage collector. Si cette servlet est à nouveau utilisée avant d'être recyclée, elle. sera réutilisé. initialisation de la méthode init()

Résumé : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à tout le monde.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn