Le kit de développement de servlets Java (JSDK) fournit plusieurs packages logiciels nécessaires lors de l'écriture de servlets. Ceux-ci incluent deux packages de base pour tous les servlets : javax.Servlet et javax.Servlet.http. Les outils de développement Java Servlet peuvent être téléchargés à partir du site Web de Sun.
Cours recommandé : Tutoriel Java.
Ce qui suit présente principalement l'interface de programmation d'application HTTP Servlet fournie par javax.Servlet.http.
HTTP Servlet utilise un formulaire HTML pour envoyer et recevoir des données. Pour créer un servlet HTTP, étendez la classe HttpServlet, qui est une sous-classe de GenericServlet avec des méthodes spécialisées pour gérer les tableaux HTML. Les formulaires HTML sont définis par les balises et. Les formulaires contiennent généralement des champs de saisie (tels que des champs de saisie de texte, des cases à cocher, des boutons radio et des listes de sélection) et des boutons pour soumettre des données. Lors de la soumission des informations, ils précisent également quel servlet (ou autre programme) le serveur doit exécuter. La classe HttpServlet comprend init(), destroy(), service() et d'autres méthodes. Les méthodes init() et destroy() sont héritées.
Méthodes courantes de l'API Servlet :
(1) Méthode Init() de l'API Servlet
Dans le cycle de vie de Servlet, la méthode init() n'est exécutée qu'une seule fois. Il est exécuté lorsque le serveur charge le servlet. Vous pouvez configurer le serveur pour charger un 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() n'est jamais exécuté de manière répétée.
La méthode init() par défaut est généralement adéquate, mais elle peut être remplacée par une méthode init() personnalisée, généralement pour gérer les ressources côté serveur. Par exemple, vous pouvez écrire un init() personnalisé pour charger une image GIF une seule fois, améliorant ainsi les performances d'un servlet renvoyant une image GIF et contenant plusieurs requêtes client. Un autre exemple est l'initialisation d'une connexion à une base de données. La méthode init() par défaut définit les paramètres d'initialisation du servlet et utilise ses paramètres d'objet ServletConfig pour démarrer la configuration, donc toutes les servlets qui remplacent la méthode init() doivent appeler super.init() pour garantir que ces tâches sont toujours effectuées. Avant d'appeler la méthode service(), vous devez vous assurer que la méthode init() est terminée.
(2) Méthode Service() de l'API Servlet
La méthode service() est le cœur de Servlet. 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 la requête HTTP. Par exemple, si la méthode de requête HTTP est GET, doGet() est appelée par défaut. Les servlets doivent remplacer la fonctionnalité do pour les méthodes HTTP prises en charge par le servlet. Étant donné que la méthode HttpServlet.service() vérifie si la méthode de requête appelle le gestionnaire approprié, il n'est pas nécessaire de remplacer la méthode service(). Remplacez simplement la méthode do correspondante et vous avez terminé.
◆Lorsqu'un client effectue une requête HTTP POST via un formulaire HTML, la méthode doPost() est appelée. Les paramètres associés à la requête POST sont envoyés du navigateur au serveur sous la forme d'une requête HTTP distincte. Lorsque vous devez modifier des données côté serveur, vous devez utiliser la méthode doPost().
◆Lorsqu'un client émet une requête HTTP GET via un formulaire HTML ou demande directement une URL, la méthode doGet() est appelée. Les paramètres liés à la requête GET sont ajoutés à la fin de l'URL et envoyés avec cette requête. La méthode doGet() doit être utilisée lorsque les données côté serveur ne seront pas modifiées.
La réponse du servlet peut être des types suivants :
◆Un flux de sortie, que le navigateur interprète en fonction de son type de contenu (tel que texte/HTML).
◆Une réponse d'erreur HTTP, rediriger vers une autre URL, Servlet, JSP.
(3) La méthode destroy() de l'API Servlet
La méthode destroy() n'est exécutée qu'une seule fois, c'est-à-dire que lorsque le serveur s'arrête et que le Servlet est désinstallé, cette méthode est exécutée. En règle générale, le servlet est arrêté dans le cadre du processus serveur. La méthode destroy() par défaut est généralement adéquate, mais elle peut être remplacée, généralement pour gérer les ressources côté serveur. Par exemple, si votre servlet accumule des statistiques lors de son exécution, vous pouvez écrire une méthode destroy() qui enregistre les statistiques dans un fichier lorsque la servlet n'est pas chargée. Un autre exemple est la fermeture d'une connexion à une base de données.
Lorsque le serveur décharge un servlet, la méthode destroy() sera appelée une fois tous les appels de la méthode service() terminés, ou après qu'un intervalle de temps spécifié se soit écoulé. Un servlet peut générer d'autres threads lors de l'exécution de la méthode service(), veuillez donc confirmer que ces threads ont été terminés ou terminés lorsque la méthode destroy() est appelée.
(4) Méthode GetServletConfig() de l'API Servlet
La méthode GetServletConfig() renvoie un objet ServletConfig, qui est utilisé pour renvoyer les paramètres d'initialisation et ServletContext. L'interface ServletContext fournit des informations environnementales sur le servlet.
(5) Méthode GetServletInfo() de l'API Servlet
La méthode GetServletInfo() est une méthode facultative qui fournit des informations sur le servlet, telles que l'auteur, la version et le droit d'auteur.
Lorsque le serveur appelle les trois méthodes Service(), doGet() et doPost() du sevlet, les objets "request" et "response" sont requis comme paramètres. L'objet « request » fournit des informations sur la demande et l'objet « response » fournit un chemin de communication pour renvoyer les informations de réponse au navigateur. Les classes pertinentes du package javax.Servlet sont ServletResponse et ServletRequest, tandis que les classes pertinentes du package javax.Servlet.http sont HttpServletRequest et HttpServletResponse. Les servlets communiquent avec le serveur et finalement avec le client via ces objets. La servlet peut obtenir l'environnement client, les informations sur l'environnement serveur et toutes les informations fournies par le client en appelant la méthode de l'objet "request". Un servlet peut appeler des méthodes sur l'objet Response pour envoyer une réponse prête à être renvoyée au client.
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!