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
xml version = "1.0" encoding = "UTF-8"?>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.