Web.xml filterkortlægning i JSP Servlet med eksempel

Indholdsfortegnelse:

Anonim

Hvad er JSP-filter?

  • Filtre bruges til filtrering af Java-webapplikationens funktionalitet.
  • De opfanger anmodningerne fra klienten, før de prøver at få adgang til ressourcen
  • De manipulerer svarene fra serveren og sendes til klienten.

Typer af filtre i JSP

  • Godkendelsesfiltre
  • Datakomprimeringsfiltre
  • Krypteringsfiltre
  • MIME-kædefiltre
  • Logning af filtre
  • Tokeniserende filtre

Filtre er defineret i web.xml, og de er et kort til servlet eller JSP. Når JSP-container starter med webapplikationen, opretter den forekomsten af ​​hvert filter, der er erklæret i installationsbeskrivelsen.

Følgende er filtermetoderne:

  • Offentligt ugyldigt doFilter (ServletRequest, ServletResponse, FilterChain)

    Dette kaldes hver gang, når en anmodning / svar sendes fra hver klient, når det anmodes om fra en ressource.

  • Offentlig ugyldig init (FilterConfig)

    Dette er for at indikere, at filteret tages i brug

  • Offentligt tomrum ødelægge ()

    Dette for at indikere, at filteret er taget ud af drift.

Eksempel:

I dette eksempel har vi oprettet filter og kortlagt i web.xml

Gurufilter.java

demotest pakke;importere java.io.IOException;importere java.util.Date;importere javax.servlet.Filter;importere javax.servlet.FilterChain;import javax.servlet.FilterConfig;importere javax.servlet.ServletException;import javax.servlet.ServletRequest;importere javax.servlet.ServletResponse;importer Javax.servlet.http.HttpServletRequest;offentlig klasse GuruFilter implementerer filter {public void doFilter (ServletRequest anmodning, ServletResponse svar, Filterchain kæde) kaster IOException, ServletException {// TODO Auto-genereret metodestubHttpServletRequest req = (HttpServletRequest) anmodning;String ipAddress = req.getRemoteAddr ();System.out.println ("IP-adresse" + ipAddress + ", tiden er"+ ny dato (). toString ());// send anmodningen langs filterkædenchain.doFilter (anmodning, svar);}/ *** @se Filter # init (FilterConfig)* /public void init (FilterConfig fConfig) kaster ServletException {String guruparam = fConfig.getInitParameter ("guru-param");// Udskriv init-parameterenSystem.out.println ("Testparameter: + guruparam);}}

Web.xml

test GuruFilter  GuruFilter  demotest.GuruFilter 
 guru-param 
 Dette er guru paramter  GuruFilter  / GuruFilter 

Forklaring af koden:

Gurufilter.java

Kodelinje 17-32 : Her bruger vi "doFilter" -metoden, hvor vi får anmodningsobjekt (i vores eksempel er anmodningsobjektet req (HttpServletRequest-objekt)) og får fjernadressen til klienten og udskriver på konsollen og udskriver også dato og klokkeslæt på konsollen.

Kodelinje 33-37 : Her bruger vi init-metoden, hvor vi tager init-parameteren og udskriver init-parameteren i konsollen.

Web.xml

Kodelinje 10-11 - Kortlægning af GuruFilter med klassenavnet GuruFilter.java, hvor vi har filternavn som GuruFilter og filterklasse, som er katalogstien til GuruFilter-klassen

Kodelinje 13-15 - Kortlægning af init-parameteren med navnet guru-param og hentning af værdien af ​​den, der er placeret under filtermærket, så denne init-param er defineret til gurufilter

Produktion:

Når du udfører ovenstående kode, får du følgende output:

  • Outputtet er Test Param fra init-parameteren
  • Og henter IP-adresse, dato og klokkeslæt for den.