2012-03-21 12 views

risposta

10

A Filter intercetta su richieste HTTP corrispondenti al proprio pattern URL e consente di modificarle. Vedere anche la sua javadoc:

Un filtro è un oggetto che esegue operazioni di filtro sia sulla richiesta di una risorsa (un servlet o contenuto statico), o sulla risposta da una risorsa, o entrambi.

I filtri eseguono il filtraggio nel metodo doFilter. Ogni Filter ha accesso a un oggetto FilterConfig da cui è possibile ottenere i parametri di inizializzazione e un riferimento allo ServletContext che può utilizzare, ad esempio, per caricare le risorse necessarie per le attività di filtro.

I filtri sono configurati nel descrittore di distribuzione di un'applicazione Web.

esempi che sono stati identificati per questo disegno sono:

  • Filtri di autenticazione
  • Registrazione e controllo Filtri
  • filtri di conversione Immagine
  • filtri di compressione dei dati
  • Filtri di crittografia
  • creazione di token Filtri
  • Filtri che scatenano gli eventi di accesso alle risorse
  • XSL/filtra T
  • Mime-tipo a catena Filtro

A ServletContextListener intercetta su avvio e lo spegnimento del webapp e consente di eseguire del codice all'avvio e/o spegnimento. Vedi anche la sua javadoc:

interfaccia per la ricezione di eventi di notifica circa ServletContext cambiamenti del ciclo di vita.

Per ricevere questi eventi di notifica, la classe di implementazione deve essere sia dichiarato nel descrittore di distribuzione dell'applicazione web, annotato con WebListener, o inviate tramite uno dei metodi definiti addListener su ServletContext.

Le implementazioni di questa interfaccia sono invocate nel loro metodo contextInitialized(javax.servlet.ServletContextEvent) nell'ordine in cui sono state dichiarate e nel loro metodo contextDestroyed(javax.servlet.ServletContextEvent) nell'ordine inverso.

Quando utilizzare l'uno o l'altro ora dovrebbe essere ovvio. Utilizzare uno Filter se si desidera intercettare su richieste HTTP che elaborano uno schema URL specifico perché si desidera controllare/modificare la richiesta/risposta HTTP. Usa uno ServletContextListener se vuoi intercettare l'avvio e/o l'arresto di webapp.

Si prega di sapere dove trovare i javadoc e come interpretarli. Contengono tutte le risposte a questo tipo di domande banali.

+0

Hai fornito molte più informazioni utili di quelle che puoi trovare nei documenti java. Quindi grazie. – BestPractices

Problemi correlati