Web.xml Filter Mapping a JSP Servletben példával

Tartalomjegyzék:

Anonim

Mi az a JSP szűrő?

  • A szűrőket a Java webalkalmazás funkcionalitásának szűrésére használják.
  • Elfogják az ügyfél kéréseit, mielőtt megpróbálnának hozzáférni az erőforráshoz
  • Manipulálják a szerver válaszait, és elküldik őket az ügyfélnek.

A JSP szűrők típusai

  • Hitelesítési szűrők
  • Adattömörítési szűrők
  • Titkosítási szűrők
  • MIME láncszűrők
  • Szűrők naplózása
  • Tokenizáló szűrők

A szűrők a web.xml fájlban vannak meghatározva, és ezek a szervlet vagy a JSP térképei. Amikor a JSP tároló elindul a webalkalmazással, létrehozza az egyes szűrők példányát, amelyeket a telepítési leíróban deklaráltak.

A következők a szűrési módszerek:

  • Public void doFilter (ServletRequest, ServletResponse, FilterChain)

    Ezt hívjuk minden alkalommal, amikor minden ügyféltől kérés / válasz érkezik, amikor egy erőforrástól kérik.

  • Nyilvános érvénytelen init (FilterConfig)

    Ez azt jelzi, hogy a szűrő üzembe van helyezve

  • Nyilvános érvénytelenítés ()

    Ez azt jelzi, hogy a szűrőt kivették a forgalomból.

Példa:

Ebben a példában létrehoztunk egy szűrőt és feltérképeztük a web.xml fájlt

Gurufilter.java

csomag demotest;import java.io.IOException;import java.util.Date;import javax.servlet.Filter;importálja a javax.servlet.FilterChain;importálja a javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;importálja a Javax.servlet.http.HttpServletRequest;nyilvános osztály GuruFilter implementálja a Filter {public void doFilter (ServletRequest kérés, ServletResponse válasz, Filterchain lánc) dobja az IOException, ServletException {// TODO Automatikusan létrehozott módszercsonkHttpServletRequest req = (HttpServletRequest) kérés;Karakterlánc ipAddress = req.getRemoteAddr ();System.out.println ("IP-cím" + ipCím + ", az idő"+ új dátum (). toString ());// továbbítja a kérést a szűrőlánc menténchain.doFilter (kérés, válasz);}/ *** @see Filter # init (FilterConfig)* /public void init (FilterConfig fConfig) dobja a ServletException {Karakterlánc guruparam = fConfig.getInitParameter ("guru-param");// Nyomtassa ki az init paramétertSystem.out.println ("Tesztparam: + guruparam);}}

Web.xml

teszt GuruFilter  GuruFilter  demotest.GuruFilter 
 guru-param 
 Ez a guru paramter  GuruFilter  / GuruFilter 

A kód magyarázata:

Gurufilter.java

Kódsor 17-32 : Itt "doFilter" módszert használunk, ahol lekérési objektumot kapunk (példánkban a kérés objektuma a req (HttpServletRequest objektum)), és megkapjuk az ügyfél távoli címét, és a konzolra nyomtatunk, valamint nyomtatunk dátum és idő a konzolon.

Kódsor 33-37 : Itt az init metódust alkalmazzuk, ahol az init paramétert és az init paramétert nyomtatjuk a konzolba.

Web.xml

Kódsor 10-11 - A GuruFilter leképezése a GuruFilter.java osztálynévvel, ahol szűrőnév van GuruFilter néven, és filter osztály, amely a GuruFilter osztály könyvtárútja

Kódsor 13-15 - A guru-param nevű init paraméter feltérképezése és értékének megszerzése, amely a szűrőcímke alá kerül, így ez az init-param meg van határozva a gurufilter számára

Kimenet:

A fenti kód végrehajtásakor a következő kimenetet kapja:

  • A kimenet a Paraméter paraméter az init paraméterből
  • És az IP-cím, a dátum és az idő lekérése.