Mapa de filtrosping en Web.xml
⚡ Resumen inteligente
Mapa de filtrosping en Web.xml define cómo los filtros JSP interceptan las solicitudes del cliente y las respuestas del servidor en un Java Aplicación web. Registra cada filtro en el descriptor de despliegue, lo que permite la autenticación, el registro, la compresión y el cifrado antes de acceder a los recursos.

¿Qué son los filtros JSP?
- Los filtros en web.xml se utilizan para filtrar la funcionalidad del Java Aplicación web.
- Interceptan las solicitudes del cliente antes de que intenten acceder al recurso.
- Manipulan las respuestas del servidor y las envían al cliente.
Los filtros se definen en web.xml y son un mapa para servlet o JSP. Cuando el contenedor JSP comienza con la aplicación web, crea la instancia de cada filtro en web.xml que se ha declarado en el descriptor de implementación.
Tipos de filtros en JSP
JSP admite varios tipos de filtros, cada uno de los cuales gestiona una cuestión específica en el ciclo de solicitud-respuesta:
- Filtros de autenticación
- Filtros de compresión de datos
- Filtros de cifrado
- Filtros de cadena MIME
- Filtros de registro
- Filtros de tokenización
Métodos de filtro JSP
Una vez que conozca los tipos de filtro, le resultará útil comprender los métodos que controlan el ciclo de vida de un filtro. A continuación se muestran los métodos de filtro:
Vacío público doFilter(ServletRequest, ServletResponse, FilterChain)
Esto se llama cada vez que se pasa una solicitud/respuesta de cada cliente cuando se solicita desde un recurso.
Inicio de anulación pública (FilterConfig)
Esto indica que el filtro en JSP se ha puesto en servicio.
Destruir vacío público ()
Esto para indicar que el filtro ha sido retirado de servicio.
Ejemplo
En este ejemplo, hemos creado un filtro y lo hemos asignado en Java Filtro web.xml.
Gurufiltro.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>
Explicación del código
Gurufiltro.java
Code Línea 17-32: Aquí estamos usando el método "doFilter" donde obtenemos el objeto de solicitud (en nuestro ejemplo el objeto de solicitud es req (objeto HttpServletRequest)) y obtenemos la dirección remota del cliente y la imprimimos en la consola, así como también imprimimos la fecha y la hora en la consola.
Code Línea 33-37: Aquí estamos utilizando el método init donde tomamos el parámetro init y lo imprimimos en la consola.
Web.xml
Code Línea 10-11: Mapa de filtrosping en web.xml para GuruFiltrar con el nombre de la clase GuruFilter.java donde tenemos filter-name como GuruFiltro y clase de filtro que es la ruta del directorio de GuruClase de filtro.
Code Línea 13-15: Mapearping El parámetro de inicialización llamado guru-param y la obtención de su valor que se encuentra debajo de la etiqueta filter, por lo que este init-param se ha definido para gurufilter.
Salida:
Cuando ejecuta el código anterior, obtiene el siguiente resultado:
- La salida es Test Param del parámetro de inicio.
- Y obteniendo la dirección IP, fecha y hora de la misma.

