Térkép szűréseping a Web.xml fájlban
⚡ Okos összefoglaló
Térkép szűréseping A Web.xml definiálja, hogy a JSP szűrők hogyan fogják el az ügyfél kéréseit és a szerver válaszait egy Java webes alkalmazás. Minden szűrőt regisztrál a telepítési leíróban, lehetővé téve a hitelesítést, a naplózást, a tömörítést és a titkosítást az erőforrások elérése előtt.

Mi az a JSP szűrő?
- A web.xml-ben található szűrők a szűrési funkciókhoz használhatók Java webalkalmazás.
- Elfogják a kliens kéréseit, mielőtt azok megpróbálnák elérni az erőforrást.
- Manipulálják a szervertől érkező és a kliensnek küldött válaszokat.
A szűrők a web.xml-ben vannak definiálva, és a servlethez ill JSP. Amikor a JSP-tároló elindul a webalkalmazással, létrehozza a telepítésleíróban deklarált web.xml fájl minden szűrőjének példányát.
Szűrők típusai a JSP-ben
A JSP számos szűrőtípust támogat, amelyek mindegyike egy adott problémát kezel a kérés-válasz ciklusban:
- Hitelesítési szűrők
- Adattömörítési szűrők
- Titkosító szűrők
- MIME láncszűrők
- Naplózási szűrők
- Tokenizáló szűrők
JSP szűrőmódszerek
Ha már ismeri a szűrőtípusokat, hasznos megérteni azokat a metódusokat, amelyek a szűrő életciklusát szabályozzák. A következők a szűrőmetódusok:
Public void doFilter (ServletRequest, ServletResponse, FilterChain)
Ezt minden alkalommal meghívják, amikor minden ügyféltől kérést/választ küldenek, amikor egy erőforrástól kérik.
Nyilvános érvénytelen init (FilterConfig)
Ez azt jelzi, hogy a JSP-ben lévő szűrő üzembe helyezésre került.
Public void semmisít()
Ez azt jelzi, hogy a szűrőt kivették a szervizből.
Példa
Ebben a példában szűrőt hoztunk létre és leképeztünk Java web.xml szűrő.
Guruszűrő.java
package 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; import javax.servlet.http.HttpServletRequest; public class GuruFilter implements Filter { public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // TODO Auto-generated method stub HttpServletRequest req = (HttpServletRequest) request; String ipAddress = req.getRemoteAddr(); System.out.println("IP Address "+ipAddress + ", Time is" + new Date().toString()); // pass the request along the filter chain chain.doFilter(request, response); } /** * @see Filter#init(FilterConfig) */ public void init(FilterConfig fConfig) throws ServletException { String guruparam = fConfig.getInitParameter("guru-param"); //Print the init parameter System.out.println("Test Param: " + guruparam); } }
Web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name> test</display-name> <filter> <description> </description> <display-name> GuruFilter</display-name> <filter-name>GuruFilter</filter-name> <filter-class>demotest.GuruFilter</filter-class> <init-param> <param-name>guru-param</param-name> <param-value>This is guru paramter</param-value> </init-param> </filter> <filter-mapping> <filter-name>GuruFilter</filter-name> <url-pattern>/GuruFilter</url-pattern> </filter-mapping>
A kód magyarázata
Guruszűrő.java
Code 17-32. sor: Itt a „doFilter” metódust használjuk, ahol kérésobjektumot kapunk (példánkban a kérésobjektum a req (HttpServletRequest objektum)), és megkapjuk a kliens távoli címét, és kinyomtatjuk a konzolra, valamint a dátumot és az időt is.
Code 33-37. sor: Itt az init metódust használjuk, ahol az init paramétert vesszük, és kiírjuk az init paramétert a konzolba.
Web.xml
Code 10-11. sor: Térkép szűréseping a web.xml fájlban GuruSzűrés az osztály nevével GuruFilter.java, ahol a filter-name a következő GuruSzűrő és szűrőosztály, amely a könyvtár elérési útja GuruSzűrőosztály.
Code 13-15. sor: Térképping a guru-param nevű init paramétert, és annak értékét, amely a filter címke alá kerül, így ez az init-paraméter definiálva van a gurufilter számára.
output:
Amikor végrehajtja a fenti kódot, a következő kimenetet kapja:
- A kimenet a Test Param az init paraméterből
- És az IP-cím, a dátum és az idő lekérése.

