Java filters

Solo disponible en BuenasTareas
  • Páginas : 7 (1591 palabras )
  • Descarga(s) : 7
  • Publicado : 19 de junio de 2010
Leer documento completo
Vista previa del texto
Java™ Filters en la Práctica
Igvir Ramírez
igvir@yahoo.com

Mayo 2005

Java Filters en la Práctica - Igvir Ramírez

1

Agenda
?¿Qué es un filtro? ?Usos comunes ?¿Cómo funcionan los filtros? ?Definir un filtro en el web.xml ?La cadena de filtros ?Reutilizar un filtro ?Ejemplo: Control de Credenciales
Mayo 2005 Java Filters en la Práctica - Igvir Ramírez 2

¿Qué es un filtro? (1 de2)
?Los filtros son componentes que pueden utilizarse para analizar y/o transformar tanto los datos solicitados como los enviados en una petición web. ?Pueden trabajar en conjunto con páginas jsp o servlets.

Mayo 2005

Java Filters en la Práctica - Igvir Ramírez

3

¿Qué es un filtro? (2 de 2)
?Son parte de la especificación de Servlets 2.3 lo que los hace portables entre losdiferentes contenedores disponibles en el mercado. ?Pueden trabajar “encadenados”. Un filtro realiza su trabajo y pasa el control al filtro siguiente.

Mayo 2005

Java Filters en la Práctica - Igvir Ramírez

4

Cadena de Filtros
Petición (Request) Respuesta (Response)

Filtro 1 Filtro n Recurso Web
HTML, JPS, Servlet, .jpg, etc

Mayo 2005

Java Filters en la Práctica - Igvir Ramírez

5 Ventajas
?Son componentes reutilizables ?Son parte del estándar ?Son fáciles de implementar ?Se pueden incorporar y retirar de forma sencilla ?Pueden ofrecer gran variedad de servicios

Mayo 2005

Java Filters en la Práctica - Igvir Ramírez

6

Usos Comunes
?Control de acceso a la aplicación ?Compresión de datos y Cache ?Transformaciones XML / HTML ?Procesamiento de imágenes?Auditoria/registro de actividades ?Virtualización de recursos ?Cifrado de datos
Mayo 2005 Java Filters en la Práctica - Igvir Ramírez 7

¿Cómo funcionan? (1 de 3)
? Un filtro debe implementar la interfaz javax.servlet.Filter que incluye los métodos:
? init() ?doFilter() ?destroy()

?La descripción del filtro se ubica en el archivo web.xml
Mayo 2005 Java Filters en la Práctica - Igvir Ramírez 8 ¿Cómo funcionan? (2 de 3)
? Cada filtro responde a un Servlet o un URL que represente uno o más recursos
http://miservidor.org/miPagina.jsp

Referencia única

Referencia por patrón

/miPagina.jsp

/*.jsp

Mayo 2005

Java Filters en la Práctica - Igvir Ramírez

9

¿Cómo funcionan? (3 de 3)
init() init() init()

Filtro 1

Filtro 2

Filtro 3

Request

RequestCliente Web
Response
doFilter(…) doFilter(…)

Servlet
Response
doFilter(…)

destroy()

destroy()

destroy()

Mayo 2005

Java Filters en la Práctica - Igvir Ramírez

10

La interfaz javax.servlet.FilterConfig
Define cuatro métodos:
? getFilterName() : Retorna el nombre asociado al filtro en la configuración en un String ? getInitParameter(String) : Retorna el valor de un parámetrode configuración ? getInitParameterNames() : Retorna los nombres de los parámetros de configuración. ? getServletContext() : Retorna la referencia al ServletContext en el que trabajará el filtro
Mayo 2005 Java Filters en la Práctica - Igvir Ramírez 11

La interfaz javax.servlet.FilterChain
?Define un único método:
? doFilter() throws ServletException ? El método doFilter recibe comoargumentos ServletRequest y ServletResponse.

?Es invocado por el contenedor cuando el filtro forma parte de la cadena creada ante la petición/respuesta de un recurso web.

Mayo 2005

Java Filters en la Práctica - Igvir Ramírez

12

Ejemplo de Filtro
? Crear la clase MiFiltro
public class MiFiltro implements Filter{ private FilterConfig filterConfig = null; public void init(FilterConfigfilterConfig) throws ServletExceptin { this.filterConfig = filterConfig; } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException { chain.doFilter(request,response); } public void destroy(){ FilterChain es el vinculo al siguiente filtro

this.filterConfig =null;
} }
Mayo 2005 Java Filters en la Práctica - Igvir Ramírez 13

Cambiar el...
tracking img