Web.xml filterkartlegging i JSP Servlet med eksempel

Innholdsfortegnelse:

Anonim

Hva er JSP Filter?

  • Filtre brukes til å filtrere funksjonaliteten til Java-webapplikasjonen.
  • De fanger opp forespørslene fra klienten før de prøver å få tilgang til ressursen
  • De manipulerer svarene fra serveren og sendes til klienten.

Typer filtre i JSP

  • Autentiseringsfiltre
  • Datakomprimeringsfiltre
  • Krypteringsfiltre
  • MIME kjedefiltre
  • Logge filtre
  • Tokeniserende filtre

Filtre er definert i web.xml, og de er et kart til servlet eller JSP. Når JSP-container starter med webapplikasjonen, oppretter den forekomsten av hvert filter som er deklarert i distribusjonsbeskrivelsen.

Følgende er filtermetodene:

  • Offentlig ugyldig doFilter (ServletRequest, ServletResponse, FilterChain)

    Dette kalles hver gang en forespørsel / svar sendes fra hver klient når det blir forespurt fra en ressurs.

  • Offentlig ugyldig init (FilterConfig)

    Dette er for å indikere at filteret tas i bruk

  • Offentlig tomrom ødelegge ()

    Dette for å indikere at filteret er tatt ut av drift.

Eksempel:

I dette eksemplet har vi laget filter og kartlagt i web.xml

Gurufilter.java

demotest pakke;importere java.io.IOException;importere java.util.Date;importere javax.servlet.Filter;importere javax.servlet.FilterChain;importere javax.servlet.FilterConfig;importere javax.servlet.ServletException;importere javax.servlet.ServletRequest;importere javax.servlet.ServletResponse;importere Javax.servlet.http.HttpServletRequest;offentlig klasse GuruFilter implementerer filter {public void doFilter (ServletRequest-forespørsel, ServletResponse-svar, Filterchain-kjede) kaster IOException, ServletException {// TODO Auto-generert metodestubHttpServletRequest req = (HttpServletRequest) forespørsel;Streng ipAddress = req.getRemoteAddr ();System.out.println ("IP-adresse" + ipAddress + ", tiden er"+ ny dato (). toString ());// send forespørselen langs filterkjedenchain.doFilter (forespørsel, svar);}/ *** @se Filter # init (FilterConfig)* /public void init (FilterConfig fConfig) kaster ServletException {Strengguruparam = fConfig.getInitParameter ("guru-param");// Skriv ut init-parameterenSystem.out.println ("Test Param: + guruparam);}}

Web.xml

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

Forklaring av koden:

Gurufilter.java

Kodelinje 17-32 : Her bruker vi "doFilter" -metoden der vi får forespørselsobjekt (i vårt eksempel er forespørselsobjektet req (HttpServletRequest-objekt)) og får fjernadressen til klienten og skriver ut på konsollen og skriver også ut dato og klokkeslett på konsollen.

Kodelinje 33-37 : Her bruker vi init-metoden der vi tar init-parameteren og skriver ut init-parameteren i konsollen.

Web.xml

Kodelinje 10-11 - Kartlegging av GuruFilter med klassenavnet GuruFilter.java hvor vi har filternavn som GuruFilter og filterklasse som er katalogbanen til GuruFilter-klassen

Kodelinje 13-15 - Kartlegging av init-parameteren kalt guru-param og å få verdien av den som er plassert under filteretiketten, slik at denne init-parameteren er definert for gurufilter

Produksjon:

Når du utfører koden ovenfor, får du følgende utgang:

  • Utgangen er Test Param fra init-parameteren
  • Og henter IP-adresse, dato og klokkeslett for den.