Mappatura del filtro Web.xml nel servlet JSP con esempio

Sommario:

Anonim

Cos'è il filtro JSP?

  • I filtri vengono utilizzati per filtrare la funzionalità dell'applicazione Web Java.
  • Intercettano le richieste del client prima di tentare di accedere alla risorsa
  • Manipolano le risposte dal server e le inviano al client.

Tipi di filtri in JSP

  • Filtri di autenticazione
  • Filtri di compressione dei dati
  • Filtri di crittografia
  • Filtri a catena MIME
  • Filtri di registrazione
  • Filtri di tokenizzazione

I filtri sono definiti in web.xml e sono una mappa per servlet o JSP. Quando il contenitore JSP inizia con l'applicazione web, crea l'istanza di ogni filtro che è stato dichiarato nel descrittore di distribuzione.

Di seguito sono riportati i metodi di filtro:

  • Public void doFilter (ServletRequest, ServletResponse, FilterChain)

    Viene chiamato ogni volta che una richiesta / risposta viene passata da ogni client quando viene richiesta da una risorsa.

  • Public void init (FilterConfig)

    Questo per indicare che il filtro è stato messo in servizio

  • Public void destroy ()

    Questo per indicare che il filtro è stato tolto dal servizio.

Esempio:

In questo esempio, abbiamo creato il filtro e mappato in web.xml

Gurufilter.java

demotest pacchetto;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 implementa Filter {public void doFilter (ServletRequest request, ServletResponse response, Filterchain chain) genera IOException, ServletException {// TODO Stub del metodo generato automaticamenteHttpServletRequest req = (HttpServletRequest) richiesta;String ipAddress = req.getRemoteAddr ();System.out.println ("IP Address" + ipAddress + ", Time is"+ nuova data (). toString ());// passa la richiesta lungo la catena del filtrochain.doFilter (richiesta, risposta);}/ *** @see Filter # init (FilterConfig)* /public void init (FilterConfig fConfig) genera ServletException {String guruparam = fConfig.getInitParameter ("guru-param");// Stampa il parametro initSystem.out.println ("Test Param: + guruparam);}}

Web.xml

test GuruFilter  GuruFilter  demotest.GuruFilter 
 guru-param 
 Questo è il parametro del guru  GuruFilter  / GuruFilter 

Spiegazione del codice:

Gurufilter.java

Riga di codice 17-32 : qui stiamo usando il metodo "doFilter" dove otteniamo l'oggetto richiesta (nel nostro esempio l'oggetto richiesta è req (oggetto HttpServletRequest)) e otteniamo l'indirizzo remoto del client e stampiamo sulla console e stampiamo anche data e ora sulla console.

Riga di codice 33-37 : qui stiamo usando il metodo init dove stiamo prendendo il parametro init e stampando il parametro init nella console.

Web.xml

Riga di codice 10-11 - Mappatura del GuruFilter con il nome della classe GuruFilter.java dove abbiamo il nome del filtro come GuruFilter e la classe del filtro che è il percorso della directory della classe GuruFilter

Riga di codice 13-15 - Mappatura del parametro init denominato guru-param e ottenerne il valore che è posto sotto il tag filter, quindi questo init-param è stato definito per gurufilter

Produzione:

Quando esegui il codice sopra, ottieni il seguente output:

  • L'output è Test Param dal parametro init
  • E il recupero dell'indirizzo IP, della data e dell'ora.