Ich bin verwirrt über das, was listener-Klassen zu tun. Zum Beispiel, in diesem Projekt gibt es ein listener-Klasse verwiesen, als so:
<listener>
<listener-class>com.sun.javaee.blueprints.petstore.model.CatalogFacade</listener-class>
</listener>
Ist es wie der name schon sagt, nur hören für Aktionen zu tun?
Ich würde vorschlagen, die überprüfung der Kapitel über die "Application Lifecycle Events" aus der Servlet-Spezifikation.
Je nachdem, welche version Sie verwenden, hier sind die entsprechenden Kapitel und die links zu den docs:
Zuhörer werden verwendet, um über Ereignisse benachrichtigt werden, um web-Anwendungen, einschließlich Statusänderungen in den
ServletContext
,HttpSession
, undServletRequest
Objekte. Durch die Implementierung von vordefinierten listener-Schnittstellen (javax.- servlet.ServletContextListener
,javax.- servlet.http.HttpSessionListener
,javax.- servlet.ServletRequestListener
, etc.), der servlet-container Benachrichtigen Sie über bestimmte Ereignisse, die passiert sind in Ihrer Anwendung. Sie haben eine Menge von Verwendungsmöglichkeiten, wie Sie eine Anwendung setup-und shutdown-Aufgaben, abfangen von Anforderungen zum ausführen von Protokollierung, tracking HTTP-session verwenden, etc.Listener-Klassen erhalten eine Benachrichtigung über ausgewählte Ereignisse, wie starten der Anwendung oder beim erstellen einer neuen Sitzung.
Listener-Klassen :
Quelle
ServletContextListener
der Regel reagieren auf starten und Herunterfahren der web-Anwendung auslösen und die notwendige Initialisierung der notwendigen Objekte.HttpSessionListener
der Regel reagieren auf Benutzer anmelden, um die Anwendung, und führen Sie pro-Benutzer-Initialisierung.Ja genau, Sie hören für einige action-todo, zum Beispiel, wenn seine contextloaderlistener dann wird es hören, um den Kontext be-Veranstaltung und es gibt viele Dinge, die wir tun können, ein solches Ereignis auf, so sind diese für die
Allgemein der Hörer der Beobachter/Abonnenten Seite im observer-Muster. Die server - /framework-Seite bietet Ihnen die Möglichkeit die Benachrichtigung zu einem Ereignis und damit Ihnen eine chance geben, um Ihre Aktionen.
Und es nicht unbedingt sein muss, "ein großes Projekt". Die Zuhörer kommen praktisch selbst in den kleinen :).