Crear filtros

El asistente de filtros ayuda a crear filtros de servlets Java™ guiándole a través del proceso de creación y proporcionando archivos de salida que puede utilizar o modificar para utilizarlos con la aplicación Web. Los filtros pueden ejecutarse en servidores Web compatibles con Java EE.

Para crear un filtro, siga estos pasos:

  1. En la perspectiva Java EE, amplíe el proyecto dinámico en la vista Explorador de proyectos.
  2. Pulse con el botón derecho de ratón en el icono Filtro y seleccione Nuevo > Filtro en el menú emergente. Aparecerá el asistente Crear filtro.
  3. Siga las instrucciones del asistente del proyecto.

Información general

Modificadores
La Especificación de Sun Microsystems Java Servlet 2.3 afirma que una clase de servlet debe ser public y no abstract. Por lo tanto, no puede cambiar estos modificadores. El único que puede cambiar es el modificador final.
Interfaces
Hay una interfaz obligatoria que las clases de filtro deben implementar: javax.servlet.Filter. Esta interfaz la proporciona el paquete javax.servlet y se utiliza para representar el ciclo de vida del filtro. Esta interfaz tiene tres métodos: init, doFilter y destroy.
  • El contenedor de servlet llama al método init una sola vez, cuando termina de crear una instancia del filtro.
  • Es en el método doFilter donde se lleva a cabo el filtrado y este método se llama cada vez que un usuario solicita un recurso, como por ejemplo un servlet, con el que se correlaciona el filtro.
  • El contenedor de servlet llama al método destroy para indicar el filtro que se sacará fuera de servicio.
Aunque la interfaz javax.servlet.Filter se proporciona en el campo Interfaces de forma predeterminada, puede añadir más interfaces mediante el botón Añadir.
Diálogo de selección de interfaces
Este diálogo aparece si selecciona añadir una interfaz al filtro. Cuando escribe el nombre de la interfaz que está añadiendo, la lista de interfaces disponibles incluidas en el recuadro de lista Elementos coincidentes se actualiza dinámicamente para mostrar sólo las interfaces que coincidan con el patrón. Elija una interfaz para ver el calificador y pulse Aceptar cuando haya terminado.
Correlaciones de filtro
Para que un filtro intercepte una petición a un servlet, debe:
  1. declarar el filtro con un elemento <filter> en el descriptor de despliegue
  2. correlacionar el filtro con un servlet mediante el elemento <filter-mapping>.
Algunas veces será deseable que un filtro funcione sobre varios servlets. Esto puede hacerse correlacionando un filtro con un patrón de modo que se filtre cualquier petición que coincida con ese patrón de URL. Todo esto se hace automáticamente si utiliza el campo Correlaciones de filtro.
Apéndices de método
Puesto que cada filtro debe vimplementar la interfaz javax.servlet.Filter, la opción Métodos abstractos heredados siempre está seleccionada y no puede cambiarse.
Conceptos relacionados
Filtros