Maison  >  Article  >  Comment comprendre le cycle de vie d'une servlet

Comment comprendre le cycle de vie d'une servlet

coldplay.xixi
coldplay.xixioriginal
2020-11-02 11:52:2037192parcourir

Cycle de vie du servlet : 1. Dans la phase d'initialisation, le conteneur Servlet créera une instance de servlet et appellera la méthode [init()] 2. Dans la phase de traitement de la demande client, chaque fois qu'une demande client est envoyée ; reçu, le serveur générera un nouveau thread pour le traitement ; 3. Dans la phase de terminaison, appelez la méthode destroy pour terminer.

Comment comprendre le cycle de vie d'une servlet

Cycle de vie des servlets :

Cycle de vie des servlets

Il existe trois méthodes principales :

  • phase d'initialisation init()

  • phase de traitement de la demande du client service()

  • Phase de terminaison destroy()

Phase d'initialisation :

Le conteneur Servlet charge le Servlet une fois le chargement terminé, le conteneur Servlet créera une instance de Servlet et appellera la méthode init(). La méthode init() ne sera appelée qu'une seule fois

Le conteneur Servlet chargera le Servlet dans les situations suivantes :

Le conteneur Servlet charge automatiquement certains éléments au démarrage du servlet, pour y parvenir vous devez en ajouter 1 dans le web 🎜>

Phase de traitement de la demande client :

À chaque fois qu'une demande client est reçue. reçu, le serveur générera un nouveau thread pour le traiter.

Pour la requête Servlet d'un utilisateur, le conteneur Servlet crée un ServletRequest et un ServletResponse spécifiques à la requête. Pour Tomcat, il placera les paramètres transmis dans une HashTable, qui est une carte clé-valeur de String–>String[]

Phase de terminaison :

Lorsque l'application Web est terminée, ou que le conteneur de servlet se termine, ou que le servlet recharge une nouvelle instance de servlet, le conteneur de servlet appellera la méthode destroy() du servlet

2, principe de fonctionnement de servlet

Le client envoie une requête et le servlet appelle la méthode service() pour répondre à la requête. La méthode service() correspondra à la méthode demandée, entrera dans la couche logique correspondante et compléter la réponse à la demande.

Cependant, il n'y a pas de méthodes doGet(), doPost() et autres dans l'interface Servlet et l'interface GenericServlet. Celles-ci sont définies dans HttpServlet, mais toutes les informations d'erreur sont renvoyées, ces méthodes doivent donc être réécrites à chaque fois. un Servlet est défini. Sertvlet et GenericServlet ne sont spécifiques à aucun protocole, tandis que HttpServlet est spécifique au protocole Http, donc la méthode service() dans HttpServlet force ServletRequest et ServletResponse à HttpRequest et HttpResponse, et appelle finalement sa propre méthode de service pour compléter la réponse.

Recommandations gratuites associées :

Cours vidéo de programmation

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