jueves, 22 de enero de 2009

Filtros

¿QUÉ SON LOS FILTROS?

Los filtros son clases que nos permiten realizar ciertas operaciones sobre una petición (HttpServletRequest) antes de ser entregada al servlet destino y de la misma manera nos permite realizar ciertas operaciones sobre la respuesta (HttpServletResponse) de un servlet antes de ser entregada al cliente. La siguiente figura nos muestra dicho proceso:



Hay que tener en cuenta que:
  • Podemos tener más de un filtro para procesar la petición dispuestos en cadena
  • Un mismo filtro puede atender las peticiones de más de un servlet
  • Un filtro puede procesar únicamente la petición o únicamente la respuesta
¿QUÉ ACCIONES PODEMOS REALIZAR EN UN FILTRO?

Los filtros nos pueden permitir verificar los datos que el usuario envía a la aplicación, darle un formato determinado a esos datos, desviar la petición a otro servlet para que la procese antes de enviar la información al servlet destino, darle formato a la respuesta que envía el servlet, modificar convenientemente la respuesta de un servlet (por ejemplo una imagen, un fichero pdf, etc), etc. Hay dos importantes ventajas que nos ofrecen los filtros:
  • Descarga al servlet de realizar ciertas tareas relacionadas con la petición y la respuesta
  • Si está adecuadamente diseñado, nos permite reutilizar ese filtro en distintas aplicaciones
¿CÓMO SE CREA UN FILTRO?

  • Creamos una clase que implemente la interfaz javax.servlet.Filter
  • Implementamos sus métodos
  • Damos de alta el filtro en el fichero web.xml

1 comentario:

  1. estas entradas documentadas (con graficos) y con su contenido simplificado están muy bien!

    ResponderEliminar