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
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
- Creamos una clase que implemente la interfaz javax.servlet.Filter
- Implementamos sus métodos
- Damos de alta el filtro en el fichero web.xml
estas entradas documentadas (con graficos) y con su contenido simplificado están muy bien!
ResponderEliminar