Maison >Java >javaDidacticiel >Partagez des informations sur le cycle de vie des servlets en Java
Cet article présente principalement en détail les informations pertinentes sur le cycle de vie des servlets, qui ont une certaine valeur de référence. Les amis intéressés peuvent s'y référer
Cet article partage avec vous les informations pertinentes sur le cycle de vie des servlets. votre référence, le contenu spécifique est le suivant
1 Cycle de vie du servlet : Chargement du servlet--->instanciation--->service--->destruction.
2.init() : Dans le cycle de vie du Servlet, la méthode init() n'est exécutée qu'une seule fois. Il est exécuté lorsque le serveur charge le Servlet et est responsable de l'initialisation de l'objet Servlet. Le serveur peut être configuré pour charger le servlet au démarrage du serveur ou lorsqu'un client accède au servlet pour la première fois. Quel que soit le nombre de clients accédant au servlet, init() ne sera pas exécuté de manière répétée.
3.service() : C'est le cœur de Servlet et est chargé de répondre aux demandes des clients. Chaque fois qu'un client demande un objet HttpServlet, la méthode Service() de l'objet est appelée et un objet « requête » (ServletRequest) et un objet « réponse » (ServletResponse) sont transmis à cette méthode en tant que paramètres. La méthode Service() existe déjà dans HttpServlet. La fonction de service par défaut consiste à appeler la fonction do correspondant à la méthode de requête HTTP.
4.destroy() : Exécutée une seule fois, cette méthode est exécutée lorsque le serveur s'arrête et que le Servlet est désinstallé. Lorsque l'objet Servlet sort du cycle de vie, il est chargé de libérer les ressources occupées. Un servlet peut générer d'autres threads lors de l'exécution de la méthode service(), vous devez donc confirmer que ces threads ont été terminés ou terminés lorsque la méthode destroy() est appelée.
Comment fonctionnent Tomcat et Servlet :
Étapes :
1 .Web Le client envoie une requête Http au conteneur Servlet (Tomcat)
2. Le conteneur Servlet reçoit la requête du client Web
3. Le conteneur Servlet crée un objet Request et encapsule les informations demandées par le client Web dans celui-ci. objet.
4. Le conteneur Servlet crée un objet Response
5. Le conteneur Servlet appelle la méthode de service de l'objet HttpServlet et transmet l'objet Request et l'objet Response en tant que paramètres à l'objet Servlet.
6.Servlet appelle les méthodes pertinentes de l'objet Request pour obtenir les informations de la requête Http.
7.HttpServlet appelle les méthodes pertinentes de l'objet Response pour générer des données de réponse.
8. Le conteneur Servlet transmet le résultat de la réponse de HttpServlet au client Web.
Principe de fonctionnement du Servlet :
1. Tout d'abord, expliquez brièvement le processus de réception et de réponse du Servlet aux demandes des clients. Tout d'abord, le client envoie. une requête, Servlet La méthode service() est appelée pour répondre à la requête. Le code source montre que la méthode service() correspond à la méthode request, choisit d'appeler doGet, doPost et d'autres méthodes, puis entre le méthode correspondante pour appeler la couche logique. Méthodes pour implémenter les réponses aux clients. Il n'y a pas de méthodes doGet(), doPost(), etc. dans l'interface Servlet et GenericServlet. Ces méthodes sont définies dans HttpServlet, mais elles renvoient toutes des informations d'erreur. Par conséquent, chaque fois que nous définissons un Servlet, nous devons implémenter doGet Ou. doPost et d'autres méthodes.
2. Chaque Servlet personnalisé doit implémenter l'interface Servlet. L'interface Servlet définit cinq méthodes, dont les trois méthodes les plus importantes impliquent le cycle de vie du Servlet, à savoir init( mentionné ci-dessus) ), service(), destroy () méthodes. GenericServlet est un servlet général qui n'est spécifique à aucun protocole et implémente l'interface Servlet. HttpServlet hérite de GenericServlet, donc HttpServlet implémente également l'interface Servlet. Ainsi, lorsque nous définissons Servlet, il nous suffit d'hériter de HttpServlet.
3. L'interface Servlet et GenericServlet ne sont spécifiques à aucun protocole, alors que HttpServlet est une classe spécifique au protocole HTTP, donc la méthode service() est implémentée dans HttpServlet et les requêtes ServletRequest et ServletResponse sont forcées à HttpRequest et HttpResponse. .
Moment pour créer un objet Servlet :
1 Lorsque le conteneur Servlet démarre : lisez les informations dans le fichier de configuration web.xml et. construisez l'objet Servlet spécifié, créez un objet ServletConfig et utilisez l'objet ServletConfig comme paramètre pour appeler la méthode init de l'objet Servlet.
2. Après le démarrage du conteneur Servlet : le client fait une requête au Servlet pour la première fois. Le conteneur Servlet déterminera si l'objet Servlet spécifié existe dans la mémoire. Sinon, créez-le, puis créez le. Objets HttpRequest et HttpResponse selon la demande du client, appelant ainsi la méthode de service de l'objet Servlet.
3.Servlet Le conteneur de servlet crée automatiquement un servlet à son démarrage, ce qui est déterminé par l'attribut 4781e2cbaa93c386271b418d3a01af08 défini pour le servlet dans le fichier web.xml. À partir de là, nous pouvons également voir que les objets Servlet du même type existent sous forme de singletons dans le conteneur Servlet.
<servlet> <servlet-name>Init</servlet-name> <servlet-class>org.xl.servlet.InitServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet>
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!