Mapiranje filtra Web.xml u JSP Servletu s primjerom

Sadržaj:

Anonim

Što je JSP filtar?

  • Filteri se koriste za filtriranje funkcionalnosti Java web aplikacije.
  • Presreću zahtjeve klijenta prije nego što pokušaju pristupiti resursu
  • Oni manipuliraju odgovorima s poslužitelja i šalju ih klijentu.

Vrste filtera u JSP-u

  • Filteri za provjeru autentičnosti
  • Filtri za kompresiju podataka
  • Filtri za šifriranje
  • MIME lančani filtri
  • Filteri za bilježenje
  • Tokeniziranje filtera

Filteri su definirani u web.xml, a oni su mapa za servlet ili JSP. Kada JSP spremnik započne s web aplikacijom, on stvara instancu svakog filtra koji je deklariran u deskriptoru implementacije.

Slijede metode filtriranja:

  • Javna void doFilter (ServletRequest, ServletResponse, FilterChain)

    To se naziva svaki put kada se zahtjev / odgovor prosljeđuje od svakog klijenta kada se traži od resursa.

  • Javna void init (FilterConfig)

    To znači da je filtar pušten u rad

  • Javna praznina uništiti ()

    To znači da je filtar uklonjen iz servisa.

Primjer:

U ovom smo primjeru stvorili filtar i mapirali u web.xml

Gurufilter.java

demotest paketa;import java.io.IOException;import java.util.Date;uvoz javax.servlet.Filter;uvoz javax.servlet.FilterChain;uvoz javax.servlet.FilterConfig;uvoz javax.servlet.ServletException;uvoz javax.servlet.ServletRequest;uvoz javax.servlet.ServletResponse;uvoz Javax.servlet.http.HttpServletRequest;javna klasa GuruFilter provodi Filter {javna void doFilter (zahtjev za ServletRequest, odgovor ServletResponse, lanac filtra) baca IOException, ServletException {// TODO Automatski generirani kvar metodeHttpServletRequest req = (HttpServletRequest) zahtjev;Niz ipAddress = req.getRemoteAddr ();System.out.println ("IP adresa" + ipAddress + ", Vrijeme je"+ novi datum (). toString ());// prosljeđivanje zahtjeva duž lanca filtrachain.doFilter (zahtjev, odgovor);}/ *** @see Filter # init (FilterConfig)* /javna void init (FilterConfig fConfig) baca ServletException {Niz guruparam = fConfig.getInitParameter ("guru-param");// Ispis parametra initSystem.out.println ("Test Param: + guruparam);}}

Web.xml

test GuruFilter  GuruFilter  demotest.GuruFilter 
 guru-param 
 Ovo je guru paramter  GuruFilter  / GuruFilter 

Objašnjenje koda:

Gurufilter.java

Redak koda 17-32 : Ovdje koristimo metodu "doFilter" gdje dobivamo objekt zahtjeva (u našem primjeru objekt zahtjeva je req (objekt HttpServletRequest)) i dobivamo udaljenu adresu klijenta i ispis na konzoli te ispis datum i vrijeme na konzoli.

Linija koda 33-37 : Ovdje koristimo metodu init gdje uzimamo parametar init i ispisujemo parametar init u konzoli.

Web.xml

Redak koda 10-11 - Mapiranje GuruFiltera s imenom klase GuruFilter.java gdje imamo naziv filtra kao GuruFilter i klasu filtra koja je put do direktorija klase GuruFilter

Redak koda 13-15 - Mapiranje init parametra nazvanog guru-param i dobivanje njegove vrijednosti koja se stavlja ispod oznake filtra tako da je ovaj init-param definiran za gurufilter

Izlaz:

Kada izvršite gornji kod, dobit ćete sljedeći izlaz:

  • Izlaz je Test Param iz parametra init
  • I dohvaćanje IP adrese, datuma i vremena.