Mostrando entradas con la etiqueta Filtros. Mostrar todas las entradas
Mostrando entradas con la etiqueta Filtros. Mostrar todas las entradas

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