Průvodce listenerem pomáhá při tvorbě listenerů životního cyklu aplikace tím, že vás provede procesem jejich vytvoření a poskytne výstupní soubory, které lze použít nebo upravit pro použití ve webové aplikaci. Tyto listenery lze spustit na webových serverech vyhovujících standardu Java EE.
Chcete-li vytvořit listener, postupujte takto:
- Z perspektivy Java EE rozbalte dynamický projekt v pohledu Průzkumník projektů.
- Klepněte pravým tlačítkem myši na ikonu Listener a z rozevírací nabídky vyberte . Zobrazí se Průvodce vytvořením listeneru.
- Postupujte podle pokynů průvodce projektem.
- Listenery životního cyklu aplikace
- Specifikace Sun Microsystems Java™ Servlet 2.3 Specificationdefinuje následující rozhraní, která reprezentují listenery životního cyklu aplikací. Měli byste vybrat alespoň jedno rozhraní.
- javax.servlet.ServletContextListener: Toto rozhraní je poskytováno balíkem javax.servlet a lze je použít k naslouchání událostem životního cyklu pro ServletContext. Toto rozhraní má dvě metody: contextInitialized a contextDestroyed. Metoda contextInitialized je volána, když je webová aplikace připravena na požadavky na službu a metoda contextDestroyed se vyvolává, když má být kontext servletu ukončen.
- javax.servlet.ServletContextAttributeListener: Toto rozhraní je poskytováno balíkem javax.servlet. Lze je použít k oznámení, když je přidán nějaký atribut pro ServletContext nebo pokud je nějaký atribut pro ServletContext změněn či odebrán. Toto rozhraní má tři metody: attributeAdded, attributeRemoved a attributeReplaced.
- javax.servlet.ServletRequestListener: Toto rozhraní je poskytováno balíkem javax.servlet. Lze je použít k oznámení, když přichází nebo odchází požadavek z webové komponenty. Toto rozhraní má dvě metody: requestInitialized a requestDestroyed. Metoda requestInitialized se volá před vstupem do prvního servletu nebo filtru každé webové aplikace. Metoda requestDestroyed se volá při opouštění posledního servletu nebo prvního filtru v řetězu.
- javax.servlet.ServletRequestAttributeListener: Toto rozhraní je poskytováno balíkem javax.servlet a lze je použít k oznámení na změny atributů požadavku. Toto rozhraní má tři metody: attributeAdded, attributeRemoved a attributeReplaced. Metoda attributteAdded se volá, když je k požadavku servletu přidán nový atribut. Metoda attributeRemoved se volá, když byl z požadavku servletu odebrán existující atribut. Metoda attributeReplaced se volá, když byl nahrazen atribut požadavku servletu.
- javax.servlet.http.HttpSessionListener: Toto rozhraní je poskytováno balíkem javax.servlet.http a lze je použít k naslouchání událostem životního cyklu relací. Toto rozhraní má dvě metody: sessionCreated a sessionDestroyed. Metoda sessionCreated se volá, když je vytvořen objekt HttpSession. Metoda sessionDestroyed se volá, když je zneplatněn nějaký objekt HttpSession.
- javax.servlet.http.HttpSessionActivationListener: Toto rozhraní je poskytováno balíkem javax.servlet.http. Lze je použít k naslouchání událostem kontejneru oznamujícím, že budou deaktivovány nebo aktivovány relace. Toto rozhraní má dvě metody: sessionDidActivate a sessionWillPasivate. Metoda sessionDidActivate je volána, když byla právě aktivována relace, a metoda sessionWillPasivate je volána, když má být relace deaktivována.
- javax.servlet.http.HttpSessionAttributeListener: Toto rozhraní je poskytováno balíkem javax.servlet.http a lze je použít k naslouchání událostem, které se týkají atributů relace. Toto rozhraní má tři metody: attributeAdded, attributeRemoved a attributeReplaced. Metoda attributeAdded se volá, když je k objektu HttpSession přidán atribut. Metody attributeRemoved a attributeReplaced se volají, když je odebrán, případně nahrazen atribut objektu HttpSession.
- javax.servlet.http.HttpSessionBindingListener: Toto rozhraní je poskytováno balíkem javax.servlet.http a lze je použít k oznámení, když je objekt svázán s relací nebo zbaven vazby k relaci. Toto rozhraní má dvě metody: valueBound a valueUnbound. Metoda valueBound je volána, když je vytvářena vazba objektu k relaci, a identifikuje danou relaci. Metoda valueUnbound je volána, když je objekt zbavován vazby k relaci, a identifikuje danou relaci.
- Modifikátory
- Specifikace Sun Microsystems Java Servlet 2.3 Specification uvádí, že třída Listener musí být typu public (veřejná) a nesmí být typu abstract (abstraktní). Proto nemůžete tyto modifikátory upravovat. Změnit lze pouze modifikátor final.
- Rozhraní
- Jako výchozí hodnoty jsou v poli Rozhraní uvedena rozhraní, která jste vybrali na předchozí stránce průvodce. Chcete-li přidat další rozhraní, klepněte na tlačítko Přidat vedle tohoto pole.
- Dialogové okno Výběr rozhraní
- Toto dialogové okno se zobrazí, pokud jste vybrali přidání rozhraní do servletu. Jakmile začnete psát název rozhraní, které má být přidáno, začne se seznam dostupných rozhraní v okénku se seznamem Odpovídající položky dynamicky aktualizovat tak, aby zobrazoval pouze rozhraní vyhovující zadanému řetězci. Zvolte rozhraní, zobrazí se kvalifikátor a pak klepněte na tlačítko OK.