Frage

Es gibt Filter und Hörer Funktionalität in Servlets. Ich mag genauen Unterschied zwischen Filter und Zuhörern weiß.

War es hilfreich?

Lösung

Servlet-Filter dient zur Überwachung der Anfrage und Antwort vom Client an das Servlet oder die Anforderung und Antwort zu ändern oder zu überwachen und protokollieren.

Servlet Listener für das Hören von Ereignissen in einem Web-Container verwendet werden, wie wenn Sie eine Sitzung erstellen, oder legen Sie ein Attribut in einer Sitzung oder wenn Sie passivieren und aktivieren in einen anderen Behälter, auf diese Ereignisse abonnieren Sie Listener konfigurieren in web.xml zum Beispiel HttpSessionListener.

Andere Tipps

Die Filter werden für Pre- und Post-Prozess-Anforderungen verwendet. Schauen Sie sich die javax.servlet.Filter in Ihrem tomcat / jboss / andere Behälter javadoc.

Wo, wie die Zuhörer sind wie Trigger, die an Veranstaltungen angebracht werden kann, in Ihre App-Server (wir verwenden den Begriff Container hier). Mit Hörer können Sie auf Anwendungsebene, auf Sitzungsebene, Lebenszyklus Änderungen verfolgen, Attributänderungen usw. Die implementierten Schnittstellen sind javax.servlet.Listener Schnittstelle.

Basierend auf @fnt ‚s Antworten unten, lassen Sie mich versuchen, einige mehr zu klären. Zuhörer sind für Lebenszyklus Veränderungen gezielt, ohne dass eine Client-Anforderung in der kommenden haben. Also für eine Client-Anfrage, könnte es viel mehr Lebenszyklusereignisse passieren können, bevor der Antrag angeordnet ist. Beispiel: Sie wollen, dass alle Sitzungen, die Timeout protokollieren. Bitte beachten Sie, dass SesionTimeout ein Lifecycle-Ereignis, das, ohne den Benutzer passieren kann, etwas zu tun. Für ein solches Szenario wird ein Zuhörer geeignet sein.

Zur Frage der Protokollierung, wenn eine Anforderung eintrifft. Es gibt keine direkte Zuordnung einer neuen Anforderung an einen gleichwertigen Hörer (Lesezyklus Ereignis) Ereignis. Und damit für jede eingehende Anfrage, wenn Sie wollen etwas einzuloggen, Filter meiner Meinung nach ist das Richtige zu verwenden.

Dieses Material von Oracle sollte etwas mehr klären können, Filter und Hörer

HTH

Filter ist wie ein Wasserfilter, in den eingehenden (Anfrage) und ausgehende (Antwort) Werte gefiltert werden.

Listener ist wie das Hören (Trigger) -., Wann immer erforderlich, werde ich durchgeführt werden

Ein wichtiger Unterschied wird oft übersehen: Während die Zuhörer für eine tatsächliche physische Anforderung ausgelöst werden, filtert Arbeit mit Servlet-Containern Depeschen. Zum einem Zuhörer Aufruf kann es mehrere Filter / Servlet Anrufungen sein.

Hörer vs Filter

Mapping filtert Dispatcher Arten . Der Link ist etwas veraltet - es beinhaltet nicht die Servlet 3.0 Async Dispatcher-Typen. Man kann auch Dispatcher Typen mit der @WebFilter Anmerkung an:

import javax.servlet.DispatcherType;
import javax.servlet.annotation.WebFilter;

@WebFilter(servletNames = { "My Servlet" },
    dispatcherTypes = { DispatcherType.REQUEST, DispatcherType.FORWARD })

Text von Java EE 6

Filter

Filter ist ein Objekt, das die Anforderung und Antwort (Header sowie Content) zu transformieren.

Hörer

können Sie überwachen und reagieren auf Ereignisse im Lebenszyklus des Servlets durch die Definition von Listener-Objekte, deren Methoden aufgerufen werden, wenn Lebenszyklusereignisse auftreten.

alle Antworten und Blogs Nach der Lektüre dieses ist, was ich habe

Filter

Ein Filter ist ein Objekt, das sich dynamisch fängt Anforderungen und Antworten, die Informationen zu verwandeln oder in der Anwendung Anfragen oder Antworten.

Filter der Regel nicht selbst Antworten erstellen, sondern Universal-Funktionen zur Verfügung stellen, die „angehängt“ auf jede Art sein können Servlet oder JSP-Seite.

Der Filter wird vor dem Rendern Ansicht laufen, aber nach dem Controller gemacht Antwort.

Filter A in der Web-Schicht wird nur verwendet, wie es in web.xml definiert ist.

Filter sind besser geeignet, wenn Sie Ihre Anfrage / Antwort als eine Behandlung Black-Box-System. Sie werden arbeiten, unabhängig davon, wie das Servlet umgesetzt werden.

Filter werden verwendet, um das Filtern Aufgaben wie Login Authentifizierung, Überprüfung von eingehenden Anforderungen von Web-Seiten, Umwandlung, Protokollierung, Kompression, Verschlüsselung und Entschlüsselung, Eingang Validierung etc.

Ein Servlet-Filter in der Web-Schicht nur verwendet wird, können Sie es nicht verwenden außerhalb eines Web-Kontext.

Für weitere Details über Filter http://array151.com/blog/servlet-filter/

Listener

Servlet Listener wird verwendet für in einem Web-Container an Veranstaltungen zu hören, wie wenn Sie eine Sitzung oder legen Sie ein Attribut in einer Sitzung erstellen oder wenn Sie passivieren und aktivieren in einen anderen Behälter, abonnieren Diese Ereignisse können Sie Zuhörer in web.xml, beispielsweise konfigurieren, Httpsessionlistener.

Die Zuhörer erhalten für eine tatsächliche physische Anforderung ausgelöst, sein kann an Veranstaltungen in Ihrem App-Server .Mit Hörer, können Sie verfolgen, Anwendungsebene, auf Sitzungsebene, Lebenszyklus ändert, Attribut Änderungen usw.

können Sie überwachen und reagieren in einem Servlet Lebenszyklus zu Veranstaltungen Definieren Listener-Objekte, deren Methoden aufgerufen werden, wenn Lifecycle Ereignisse auftreten.

Für weitere Informationen: http://array151.com/blog/servlet-listener/

und hier ist der Unterschied http: // array151. com / blog / Differenz-between-Servlet-Filter-und-Servlet-Hörer /

Während Sie das aktuelle Ereignis Objekt innerhalb eines Zuhörers ändern, können Sie kann die Ausführung des aktuellen Ereignishandler in einem Hörer stoppen. Sie können auch die Ereigniswarteschlange nicht klar, aus einem Zuhörer. Außerdem die verhängten Unterschiede in den Fähigkeiten, sie sind auch bestimmt für verschiedene Zwecke. Zuhörer sind in der Regel auf interacton zwischen dem Fokus Event-Handler und das Modell, während Filter neigen dazu, sich darauf zu konzentrieren Interaktion zwischen den Event-Handler und dem Controller.

Quelle: web

können Sie haben einfach eine grobe Vorstellung mit der englischen Bedeutung der beiden letztgenannten. Filter ist es, den Inhalt / Ressource zu filtern, die zu kommen / Ausgehen von einem Servlet. In der anderen Seite ist es Zuhörer, einige verwandte Dinge zu tun, wenn etwas in die Webapplikation passieren (hören).

Filter. Filter werden einfach Filtern die Antwort und Anfrage kommt von den Kunden an das Servlet

Zuhörer: ist wie ein Auslöser, wenn ein Trigger auftreten sie die Maßnahmen ergreifen.

Kurz gesagt,

Filter ist für die Servlets, die Anfragen und Antworten abfängt.

Listener ist für die Web Application, dabei wichtige Aufgaben auf Ereignisse in Zusammenhang Ebene, auf Sitzungsebene etc.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top