Servlet (Server Applet) est l'abréviation de Java Servlet. On l'appelle un petit programme de service ou connecteur de service. Il s'agit d'un programme côté serveur écrit en Java. la fonction principale est de parcourir et de générer des données de manière interactive pour générer du contenu Web dynamique.
Servlet au sens étroit fait référence à une interface implémentée par le langage Java. Servlet au sens large fait référence à toute classe qui implémente cette interface Servlet. De manière générale, les gens comprennent. Servlet comme ce dernier. Les servlets s'exécutent sur des serveurs d'applications compatibles Java. En principe, les Servlets peuvent répondre à tout type de requête, mais dans la plupart des cas, les Servlets ne sont utilisés que pour étendre les serveurs Web basés sur le protocole HTTP.
Le premier à prendre en charge le standard Servlet a été le serveur Web Java de JavaSoft. Depuis lors, d'autres serveurs Web basés sur Java ont commencé à prendre en charge les servlets standard.
Le cycle de vie du servlet
Le cycle de vie du servlet est contrôlé par le conteneur de servlet. Il est principalement divisé en trois étapes : l'initialisation, l'exécution et la destruction. Le conteneur de servlet charge le servlet, après l'instanciation, appelle la méthode init() pour l'initialisation, exécute la méthode service() lorsque la requête arrive, appelle la méthode doget ou dopost selon la requête correspondante et appelle la méthode destroy() lorsque le serveur décide de détruire l'instance (libérer les ressources occupées par la servlet : fermer la connexion à la base de données, fermer le flux d'entrée et de sortie du fichier), pendant tout le cycle de vie, l'initialisation et la destruction de la servlet n'auront lieu qu'une seule fois, et le nombre de le nombre de fois où la méthode de service est exécutée dépend du nombre de fois où le client accède au servlet.
Caractéristiques du servlet
Le servlet est une instance unique multithread. Il crée uniquement un objet servlet, mais chaque requête démarrera un thread et le stockera dans son propre. mémoire de pile de threads. Exécutez la méthode de service.
Une instance de Servlet n'exécutera le constructeur sans paramètre et la méthode init() qu'une seule fois, et elle sera exécutée au premier accès.
Chaque fois que l'utilisateur soumet une requête pour le servlet actuel, la méthode service() sera exécutée.
Une instance de Servlet n'exécutera la méthode destroy() qu'une seule fois, lorsque l'application s'arrêtera.
Le Servlet étant une instance unique et multithread, afin d'assurer la sécurité de ses threads, il est généralement déconseillé de définir des variables membres modifiables dans la classe Servlet, car chaque thread peut modifier cette variable membre, thread des problèmes de sécurité surgiront.
Par défaut, le Servlet ne sera pas instancié au démarrage du conteneur Web.
package com.ntqn.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class IndexServlet */ @WebServlet("/IndexServlet.php") public class IndexServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * Default constructor. */ public IndexServlet() { // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.getWriter().append("<h1>Hello,Sevlet</h1>"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
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!