


Une introduction détaillée au filtre, au servlet et à l'écouteur en Java
Cet article présente principalement en détail le matériel d'apprentissage de Filter, Servlet et Listener. Il a une certaine valeur de référence. Les amis intéressés peuvent se référer à
Matériel d'apprentissage de Filter, Servlet et Listener, j'espère que vous. j'aime
1. Fonction de filtre
La fonction de filtre permet aux utilisateurs de modifier une requête et de modifier une réponse. Le filtre n'est pas un servlet, il ne peut pas générer. une réponse, il peut prétraiter une requête avant qu'elle n'atteigne le servlet, et il peut également traiter la réponse en quittant le servlet. En d'autres termes, le filtre est en fait un "chaînage de servlets" (chaîne de servlets).
Un filtre comprend :
1), intercepter avant l'appel du servlet
2), vérifier la demande du servlet avant l'appel du servlet
3), en fonction du besoin ; pour modifier l'en-tête de la requête et les données de la requête ;
4), modifier l'en-tête de la réponse et les données de la réponse si nécessaire
5), intercepter le servlet après son appel
Le serveur. appelle uniquement à chaque fois La méthode setFilterConfig prépare le filtre pour le traitement une fois ; la méthode doFilter est appelée plusieurs fois pour gérer différentes requêtes. L'interface FilterConfig dispose de méthodes pour trouver le nom du filtre et les informations sur les paramètres d'initialisation. Le serveur peut définir FilterConfig sur vide pour l'indiquer. que le filtre est terminé.
Chaque filtre obtient la requête et la réponse actuelles de la méthode doFilter(). Dans cette méthode, toute opération sur la requête et la réponse peut être effectuée (y compris la collecte de données, l'empaquetage des données, etc.). () donne le contrôle au filtre suivant. Un filtre se termine par la méthode doFilter(). Si un filtre veut arrêter le traitement de la requête et prendre le contrôle complet de la réponse, il n'a pas besoin d'appeler le filtre suivant
Exemple :
Créez d'abord un nouveau filtre
/** * */ package com.ee.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; /** * @author Administrator * */ public class LogFilter implements Filter { private FilterConfig filterConfig; public FilterConfig getFilterConfig() { System.err.println("...getFilterConfig..."); return filterConfig; } public void setFilterConfig(FilterConfig filterConfig) { System.err.println("...setFilterConfig..."); this.filterConfig = filterConfig; } /* (non-Javadoc) * @see javax.servlet.Filter#destroy() */ @Override public void destroy() { System.err.println("...filter destroy..."); } /* (non-Javadoc) * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) */ @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.err.println("...doFilter..."); chain.doFilter(request, response);//看到这没,这只要是传递下一个Filter } /* (non-Javadoc) * @see javax.servlet.Filter#init(javax.servlet.FilterConfig) */ @Override public void init(FilterConfig filterConfig) throws ServletException { System.err.println("...init Filter..."); this.filterConfig = filterConfig; } }
Configurez-le dans web.xml
<filter> <filter-name>LogFilter</filter-name> <filter-class>com.ee.filter.LogFilter</filter-class> </filter> <filter-mapping> <filter-name>LogFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
Démarrer et exécuter
Vous pouvez voir...init Filter... est imprimé pour la première fois au démarrage de TOMCAT, puis vous pouvez voir...doFilter... .is imprimé.
2. Fonction servlet
1). Qu'est-ce qu'une servlet ?
Servlet est un programme Java qui utilise l'interface de programmation d'application (API) Java Servlet et les classes et méthodes associées. En plus de l'API Java Servlet, les servlets peuvent également utiliser des packages de classes Java qui étendent et complètent l'API. Les servlets s'exécutent sur un serveur Web ou un serveur d'applications compatible Java et étendent les capacités de ce serveur. Les servlets Java sont aux serveurs Web ce que les applets Java sont aux navigateurs Web. Les servlets sont chargés dans le serveur Web et exécutés dans le serveur Web, tandis que les applets sont chargés dans le navigateur Web et exécutés dans le navigateur Web. L'API Java Servlet définit une interface standard entre un servlet et un serveur compatible Java, ce qui fait des servlets une plate-forme multi-serveurs.
Les servlets étendent les capacités d'un serveur en créant un cadre pour fournir des services de requête et de réponse sur le Web. Lorsqu'un client envoie une requête au serveur, le serveur peut envoyer les informations de requête au servlet et laisser le servlet créer la réponse que le serveur renvoie au client. Les servlets peuvent être chargés automatiquement au démarrage d'un serveur Web ou lorsqu'un client demande un service pour la première fois. Après le chargement, le servlet continue de s'exécuter jusqu'à ce que d'autres clients fassent des demandes. Les servlets ont un large éventail de fonctions. Par exemple, Servlet peut remplir les fonctions suivantes :
(1) Créer et renvoyer une page HTML complète contenant du contenu dynamique en fonction de la nature de la demande du client.
(2) Créez une partie d'une page HTML (fragment HTML) qui peut être intégrée dans une page HTML existante.
(3) Communiquez avec d'autres ressources du serveur (y compris les bases de données et les applications basées sur Java).
(4) Utilisez plusieurs clients pour gérer les connexions, recevoir les entrées de plusieurs clients et diffuser les résultats à plusieurs clients. Par exemple, une servlet pourrait être un serveur de jeu multi-participant.
(5) Lorsque la transmission de données en mode connexion unique est autorisée, ouvrez une nouvelle connexion du serveur vers l'applet du navigateur et maintenez la connexion
ouverte. Les applets peuvent également initier des connexions entre le navigateur du client et le serveur, permettant au client et au serveur d'effectuer des sessions de manière simple et efficace. La communication peut se faire via des protocoles personnalisés ou des normes telles que IIOP.
(6) Utilisez les données de filtrage de type MIME pour des traitements spéciaux, tels que la conversion d'images et les inclusions côté serveur (SSI).
(7) Une routine standard qui fournit un traitement personnalisé à tous les serveurs. Par exemple, une servlet peut modifier la manière dont les utilisateurs sont authentifiés.
2). Le cycle de vie d'un Servlet
Le cycle de vie d'un Servlet commence lorsqu'il est chargé dans la mémoire du serveur Web et se termine lorsque le Servlet est terminé ou rechargé.
(1) Initialisation
Chargez le Servlet aux moments suivants :
Si l'option de chargement automatique a été configurée, elle sera automatiquement chargée au démarrage du serveur
Après le serveur démarre, lorsque le client fait une requête au servlet pour la première fois
Lors du rechargement du servlet Après avoir chargé le servlet, le serveur crée une instance du servlet et appelle la méthode init() du servlet. Pendant la phase d'initialisation, les paramètres d'initialisation du servlet sont transmis à l'objet de configuration du servlet.
(2) Traitement des requêtes
Pour une requête client arrivant au serveur, le serveur crée un objet "requête" et un objet "réponse" spécifique à la requête. Le serveur appelle la méthode service() du servlet, qui permet de transmettre les objets « requête » et « réponse ». La méthode service() obtient les informations de demande de l'objet "request", traite la demande et utilise les méthodes de l'objet "response" pour renvoyer la réponse au client. La méthode service() peut appeler d'autres méthodes pour gérer la requête, telles que doGet(), doPost() ou d'autres méthodes.
(3) Résiliation
Lorsque le serveur n'a plus besoin du Servlet, ou recharge une nouvelle instance du Servlet, le serveur appellera la méthode destroy() du Servlet.
3) API Java Servlet
L'outil 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. 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 qui utilise des méthodes spécialisées pour gérer les tableaux HTML. Les formulaires HTML sont définis par les balises

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Guide du générateur de nombres aléatoires en Java. Nous discutons ici des fonctions en Java avec des exemples et de deux générateurs différents avec d'autres exemples.

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Guide de TimeStamp to Date en Java. Ici, nous discutons également de l'introduction et de la façon de convertir l'horodatage en date en Java avec des exemples.

Les capsules sont des figures géométriques tridimensionnelles, composées d'un cylindre et d'un hémisphère aux deux extrémités. Le volume de la capsule peut être calculé en ajoutant le volume du cylindre et le volume de l'hémisphère aux deux extrémités. Ce tutoriel discutera de la façon de calculer le volume d'une capsule donnée en Java en utilisant différentes méthodes. Formule de volume de capsule La formule du volume de la capsule est la suivante: Volume de capsule = volume cylindrique volume de deux hémisphères volume dans, R: Le rayon de l'hémisphère. H: La hauteur du cylindre (à l'exclusion de l'hémisphère). Exemple 1 entrer Rayon = 5 unités Hauteur = 10 unités Sortir Volume = 1570,8 unités cubes expliquer Calculer le volume à l'aide de la formule: Volume = π × r2 × h (4
