„Web.xml“ filtrų atvaizdavimas JSP servletuose su pavyzdžiu

Turinys:

Anonim

Kas yra JSP filtras?

  • Filtrai naudojami filtruojant „Java“ žiniatinklio programos funkcionalumą.
  • Jie perima kliento užklausas prieš bandydami pasiekti šaltinį
  • Jie manipuliuoja atsakymais iš serverio ir siunčiami klientui.

Filtrų tipai JSP

  • Autentifikavimo filtrai
  • Duomenų glaudinimo filtrai
  • Šifravimo filtrai
  • MIME grandinės filtrai
  • Prisijungti filtrai
  • Tokenizing filtrai

Filtrai yra apibrėžti „web.xml“ ir jie yra servleto arba JSP žemėlapis. Kai JSP sudėtinis rodinys prasideda žiniatinklio programoje, jis sukuria kiekvieno filtro, kuris buvo paskelbtas diegimo apraše, egzempliorių.

Toliau pateikiami filtravimo metodai:

  • „Public void doFilter“ („ServletRequest“, „ServletResponse“, „FilterChain“)

    Tai vadinama visada, kai užklausa / atsakymas perduodamas iš kiekvieno kliento, kai to prašoma iš išteklių.

  • Vieša niekinė inicijavimas („FilterConfig“)

    Tai reiškia, kad filtras pradėtas naudoti

  • Viešas niekinis sunaikinimas ()

    Tai reiškia, kad filtras buvo paimtas iš eksploatacijos.

Pavyzdys:

Šiame pavyzdyje mes sukūrėme filtrą ir susiejame su web.xml

Gurufilter.java

paketo demotest;importuoti java.io.IOException;importuoti java.util.Date;importuoti javax.servlet.Filter;importuoti javax.servlet.FilterChain;importuoti javax.servlet.FilterConfig;importuoti javax.servlet.ServletException;importuoti javax.servlet.ServletRequest;importuoti javax.servlet.ServletResponse;importuoti „Javax.servlet.http.HttpServletRequest“;viešosios klasės „GuruFilter“ įdiegia filtrą {public void „doFilter“ („ServletRequest“ užklausa, „ServletResponse“ atsakymas, „Filterchain“ grandinė) išmeta IOException, ServletException {// TODO Automatiškai sugeneruotas metodas„HttpServletRequest req“ = („HttpServletRequest“) užklausa;Eilutė „ipAddress“ = req.getRemoteAddr ();System.out.println ("IP adresas" + ipAddress + ", laikas yra"+ nauja data (). toString ());// perduokite užklausą palei filtro grandinęchain.doFilter (prašymas, atsakymas);}/ *** @ See Filter # init („FilterConfig“)* /public void init („FilterConfig fConfig“) išmeta „ServletException“Styginių guruparam = fConfig.getInitParameter ("guru-param");// Atspausdinkite init parametrąSystem.out.println ("Testo parametras: + guruparamas);}}

Žiniatinklis.xml

testas „GuruFilter“  GuruFilter  demotest.GuruFilter 
 guru-param 
 Tai yra guru parampar  GuruFilter  / GuruFilter 

Kodo paaiškinimas:

Gurufilter.java

Kodo eilutė 17-32 : Čia mes naudojame "doFilter" metodą, kai gauname užklausos objektą (mūsų pavyzdyje užklausos objektas yra req (HttpServletRequest objektas)) ir gauname nuotolinį kliento adresą ir spausdiname ant konsolės, taip pat spausdiname data ir laikas konsolėje.

Kodo eilutė 33-37 : Čia mes naudojame init metodą, kuriame imame init parametrą ir spausdiname init parametrą konsolėje.

Žiniatinklis.xml

Kodo eilutė 10-11 - „GuruFilter“ susiejimas su klasės pavadinimu „GuruFilter.java“, kur turime filtro pavadinimą kaip „GuruFilter“ ir filtro klasę, kuri yra „GuruFilter“ klasės katalogo kelias

Kodo eilutė 13-15 - „Init“ parametro, pavadinto „guru-param“, susiejimas ir jo vertės, kuri dedama po filtro žyma, gavimas, kad šis „init-param“ būtų apibrėžtas gurufilter

Išvestis:

Vykdydami pirmiau nurodytą kodą gausite šį išvestį:

  • Išėjimas yra „Parametras“ iš parametro „init“
  • Ir gaunamas IP adresas, jo data ir laikas.