Web.xml Cartografierea filtrelor în servletul JSP cu exemplu

Cuprins:

Anonim

Ce este JSP Filter?

  • Filtrele sunt utilizate pentru filtrarea funcționalității aplicației web Java.
  • Ei interceptează cererile de la client înainte de a încerca să acceseze resursa
  • Acestea manipulează răspunsurile de la server și trimise către client.

Tipuri de filtre în JSP

  • Filtre de autentificare
  • Filtre de compresie a datelor
  • Filtre de criptare
  • Filtre cu lanț MIME
  • Filtre de înregistrare
  • Filtre de tokenizare

Filtrele sunt definite în web.xml și sunt o hartă pentru servlet sau JSP. Când containerul JSP începe cu aplicația web, acesta creează instanța fiecărui filtru care a fost declarat în descriptorul de implementare.

Următoarele sunt metodele de filtrare:

  • Public void doFilter (ServletRequest, ServletResponse, FilterChain)

    Acesta este apelat de fiecare dată când o cerere / răspuns este transmisă de la fiecare client atunci când este solicitată de la o resursă.

  • Inițiere publică (FilterConfig)

    Aceasta indică faptul că filtrul este pus în funcțiune

  • Public nul distruge ()

    Aceasta pentru a indica faptul că filtrul a fost scos din service.

Exemplu:

În acest exemplu, am creat filtru și cartografiat în web.xml

Gurufilter.java

demotest pachet;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;clasa publică GuruFilter implementează Filter {public void doFilter (cerere ServletRequest, răspuns ServletResponse, lanț Filterchain) aruncă IOException, ServletException {// TODO Metoda generată automatHttpServletRequest req = (HttpServletRequest) cerere;String ipAddress = req.getRemoteAddr ();System.out.println („Adresă IP” + adresă ip + „, timpul este„+ data nouă (). toString ());// treceți cererea de-a lungul lanțului de filtrarechain.doFilter (cerere, răspuns);}/ *** @vezi filtru # init (FilterConfig)* /public vid init (FilterConfig fConfig) aruncă ServletException {String guruparam = fConfig.getInitParameter ("guru-param");// Imprimați parametrul initSystem.out.println ("Test Param: + guruparam);}}

Web.xml

test GuruFilter  GuruFilter  demotest.GuruFilter 
 guru-param 
 Acesta este parametrul guru  GuruFilter  / GuruFilter 

Explicația codului:

Gurufilter.java

Linia de cod 17-32 : Aici folosim metoda "doFilter" în care obținem obiectul request (în exemplul nostru obiectul request este req (obiect HttpServletRequest)) și obținem adresa la distanță a clientului și imprimăm pe consolă și imprimăm data și ora de pe consolă.

Linia de cod 33-37 : Aici folosim metoda init unde luăm parametrul init și imprimăm parametrul init în consolă.

Web.xml

Linia de cod 10-11 - Maparea GuruFilter cu numele clasei GuruFilter.java unde avem numele de filtru ca GuruFilter și clasa de filtrare care este calea directorului clasei GuruFilter

Linia de cod 13-15 - Cartografierea parametrului inițial numit guru-param și obținerea valorii acestuia care este plasată sub eticheta filtrului, astfel încât acest parametru inițial a fost definit pentru gurufilter

Ieșire:

Când executați codul de mai sus, obțineți următoarea ieșire:

  • Ieșirea este Test Param din parametrul init
  • Și preluând adresa IP, data și ora acesteia.