Qu'est-ce que le filtre JSP?
- Les filtres sont utilisés pour la fonctionnalité de filtrage de l'application Web Java.
- Ils interceptent les demandes du client avant d'essayer d'accéder à la ressource
- Ils manipulent les réponses du serveur et les envoient au client.
Types de filtres dans JSP
- Filtres d'authentification
- Filtres de compression de données
- Filtres de cryptage
- Filtres de chaîne MIME
- Filtres de journalisation
- Filtres de tokenisation
Les filtres sont définis dans web.xml et correspondent à un mappage vers un servlet ou JSP.Lorsque le conteneur JSP démarre avec l'application Web, il crée l'instance de chaque filtre qui a été déclaré dans le descripteur de déploiement.
Voici les méthodes de filtrage:
-
Public void doFilter (ServletRequest, ServletResponse, FilterChain)
Ceci est appelé à chaque fois qu'une demande / réponse est passée de chaque client lorsqu'elle est demandée à une ressource.
-
Public void init (FilterConfig)
Ceci pour indiquer que le filtre est mis en service
-
Public void destroy ()
Ceci pour indiquer que le filtre a été mis hors service.
Exemple:
Dans cet exemple, nous avons créé un filtre et mappé dans web.xml
Gurufilter.java
package demotest;import java.io.IOException;import java.util.Date;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import Javax.servlet.http.HttpServletRequest;public class GuruFilter implémente Filter {public void doFilter (requête ServletRequest, réponse ServletResponse, chaîne Filterchain) jette IOException, ServletException {// TODO Stub de méthode généré automatiquementRequête HttpServletRequest req = (HttpServletRequest);Chaîne ipAddress = req.getRemoteAddr ();System.out.println ("IP Address" + ipAddress + ", Time is"+ nouvelle Date (). toString ());// passe la requête le long de la chaîne de filtragechain.doFilter (requête, réponse);}/ *** @see Filter # init (FilterConfig)* /public void init (FilterConfig fConfig) jette une exception ServletException {Chaîne guruparam = fConfig.getInitParameter ("guru-param");// Affiche le paramètre initSystem.out.println ("Paramètre de test: + guruparam);}}
Web.xml
xml version = "1.0" encoding = "UTF-8"?>test GuruFilter GuruFilter demotest.GuruFilter guru-param Ceci est le paramètre guru GuruFilter / GuruFilter
Explication du code:
Gurufilter.java
Ligne de code 17-32 : Ici, nous utilisons la méthode "doFilter" où nous obtenons l'objet de requête (dans notre exemple, l'objet de requête est req (objet HttpServletRequest)) et obtenons l'adresse distante du client et imprimons sur la console et imprimons également date et heure sur la console.
Ligne de code 33-37 : Ici, nous utilisons la méthode init où nous prenons le paramètre init et imprimons le paramètre init dans la console.
Web.xml
Ligne de code 10-11 - Mappage du GuruFilter avec le nom de classe GuruFilter.java où nous avons le nom du filtre comme GuruFilter et la classe de filtre qui est le chemin du répertoire de la classe GuruFilter
Ligne de code 13-15 - Mappage du paramètre init nommé guru-param et obtention de la valeur de celui-ci qui est placée sous la balise de filtre de sorte que ce paramètre init a été défini pour gurufilter
Production:
Lorsque vous exécutez le code ci-dessus, vous obtenez la sortie suivante:
- La sortie est Test Param du paramètre init
- Et récupérer l'adresse IP, la date et l'heure de celui-ci.