2012-03-21 13 views

Respuesta

10

A Filter intercepta las solicitudes HTTP que coinciden con su patrón de URL y le permite modificarlas. Ver también su javadoc:

Un filtro es un objeto que realiza tareas de filtrado ya sea en la solicitud a un recurso (un servlet o contenido estático), o en la respuesta de un recurso, o ambos.

Los filtros realizan el filtrado en el método doFilter. Cada Filter tiene acceso a un objeto FilterConfig desde el cual puede obtener sus parámetros de inicialización, y una referencia al ServletContext que puede usar, por ejemplo, para cargar los recursos necesarios para las tareas de filtrado.

Los filtros se configuran en el descriptor de implementación de una aplicación web.

ejemplos que se han identificado para este diseño son:

  • autenticación Filtros
  • de registro y auditoría Filtros
  • Conversión de imágenes Filtros
  • de compresión de datos Filtros
  • cifrado Filtros
  • Tokenización Filtros
  • Los filtros que desencadenan eventos de acceso a los recursos
  • XSL/T filtra
  • Mime de tipo filtro de cadena

A ServletContextListener intercepta en el arranque y el apagado de aplicación web y le permite ejecutar un código en el inicio y/o apagar. Ver también su javadoc:

interfaz para recibir eventos de notificación sobre ServletContext cambios de ciclo de vida.

Para recibir estos eventos de notificación, la clase de implementación debe declararse ya sea en el descriptor de despliegue de la aplicación web, anotado con WebListener, o registrada a través de uno de los métodos definidos en addListenerServletContext.

Las implementaciones de esta interfaz se invocan en su método contextInitialized(javax.servlet.ServletContextEvent) en el orden en que se han declarado, y en su método contextDestroyed(javax.servlet.ServletContextEvent) en orden inverso.

Cuándo utilizar uno u otro ahora debería ser obvio. Use un Filter si desea interceptar en solicitudes HTTP que trabajan en un patrón de URL específico porque desea verificar/modificar la solicitud/respuesta HTTP. Use un ServletContextListener si desea interceptar en el inicio y/o apagado de la aplicación.

Sepa dónde encontrar los javadocs y cómo interpretarlos. Contienen todas las respuestas a este tipo de preguntas triviales.

+0

Proporcionó mucha más información útil que la que se puede encontrar en los documentos de Java. Así que gracias. – BestPractices

Cuestiones relacionadas