Web.xml Filtri kaardistamine JSP Servletis koos näitega

Lang L: none (table-of-contents):

Anonim

Mis on JSP-filter?

  • Filtrid kasutatakse Java veebirakenduse funktsionaalsuse filtreerimiseks.
  • Nad püüavad kliendi taotlusi kinni enne, kui nad ressursile juurde pääsevad
  • Nad manipuleerivad serverilt saadud vastustega ja saadetakse kliendile.

Filtrite tüübid JSP-s

  • Autentimisfiltrid
  • Andmete tihendamise filtrid
  • Krüptofiltrid
  • MIME ahelfiltrid
  • Filtrite logimine
  • Filtrite märgistamine

Filtrid on määratletud failis web.xml ja need on kaart servleti või JSP-le. Kui JSP konteiner algab veebirakendusega, loob see iga juurutamise kirjelduses deklareeritud filtri eksemplari.

Filtrimeetodid on järgmised:

  • Avalik void doFilter (ServletRequest, ServletResponse, FilterChain)

    Seda nimetatakse alati, kui päring / vastus edastatakse igalt kliendilt, kui seda ressursilt küsitakse.

  • Avalik tühine init (FilterConfig)

    See näitab, et filter on kasutusele võetud

  • Avalik tühine hävitamine ()

    See näitab, et filter on teenusest eemaldatud.

Näide:

Selles näites oleme loonud filtri ja kaardistanud saidi web.xml

Gurufilter.java

paketi demotest;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;importige Javax.servlet.http.HttpServletRequest;avaliku klassi GuruFilter rakendab filtrit {public void doFilter (ServletRequesti taotlus, ServletResponse'i vastus, Filterchaini kett) viskab IOException, ServletException {// TODO Automaatselt loodud meetodi tüviHttpServletRequest req = (HttpServletRequest) taotlus;String ipAddress = req.getRemoteAddr ();System.out.println ("IP-aadress" + ipAadress + ", aeg on"+ uus kuupäev (). toString ());// edastage päring mööda filtrikettikett.doFilter (taotlus, vastus);}/ *** @see Filter # init (FilterConfig)* /public void init (FilterConfig fConfig) viskab ServletException {Stringi guruparam = fConfig.getInitParameter ("guru-param");// Prindi parameeter initSystem.out.println ("Test Param: + guruparam);}}

Veeb.xml

test GuruFilter  GuruFilter  demotest.GuruFilter 
 guru-param 
 See on guru parameeter  GuruFilter  / GuruFilter 

Koodi selgitus:

Gurufilter.java

Koodirida 17-32 : siin kasutame meetodit "doFilter", kus saame päringuobjekti (meie näites on päringuobjekt req (HttpServletRequest objekt)) ja kliendi kaugaadress ning konsoolile printimine ja printimine kuupäev ja kellaaeg konsoolis.

Koodirida 33-37 : siin kasutame init-meetodit, kus võtame konsooli init-parameetri ja printime init-parameetri.

Veeb.xml

Koodirida 10-11 - GuruFilteri kaardistamine klassi nimega GuruFilter.java, kus meil on filtri nimi GuruFilter ja filtriklass, mis on klassi GuruFilter kataloogitee

Koodirida 13-15 - algparameetri guru-param kaardistamine ja selle väärtuse saamine, mis asetatakse filtrimärgendi alla, nii et see init-param on gurufiltrile määratletud

Väljund:

Ülaltoodud koodi käivitamisel saate järgmise väljundi:

  • Väljundiks on parameetri init parameeter Test Test
  • Ja tooma IP-aadressi, selle kuupäeva ja kellaaja.