Heim >Java >javaLernprogramm >So verwenden Sie Java-Lister
Schritte zur Verwendung von Java-Listern: 1. Erstellen Sie eine Implementierungsklasse, indem Sie eine bestimmte Schnittstelle implementieren (kann mehrere Listener-Schnittstellen implementieren). 2. Verwenden Sie direkt die Annotation @WebListener, um die Implementierungsklasse zu ändern und die Implementierungsklasse als Listener zu konfigurieren, oder konfigurieren Sie die Implementierungsklasse über web.xml als Listener.
Java-Lister sind Listener, Implementierungsklassen, die zur Überwachung interner Ereignisse von Webanwendungen verwendet werden. Sie können den Start und das Ende von Benutzersitzungen, das Eintreffen von Benutzeranforderungen usw. überwachen. Wenn ein Ereignis auftritt, wird die interne Methode des Listeners zurückgerufen.
Schritte zur Verwendung von Listener
Erstellen Sie eine Implementierungsklasse, indem Sie eine bestimmte Schnittstelle implementieren (kann mehrere Listener-Schnittstellen implementieren)
Konfigurieren Sie die Implementierungsklasse so, dass sie wird ein ListenerEs gibt zwei Konfigurationsmethoden:
Verwenden Sie direkt die @WebListener-Annotation, um die Implementierungsklasse zu ändern
Konfigurieren Sie über web.xml. Der Code lautet wie folgt:
<listener> <listener-class>com.zrgk.listener.MyListener</lisener-class> </listener>
Häufig verwendete Web-Ereignisüberwachung ServletContextListener
1. ServletContextListener
Diese Schnittstelle wird verwendet, um das Starten und Herunterfahren von Webanwendungen zu überwachen
Zwei Methoden dieser Schnittstelle:
contextInitialized(ServletContextEvent event); // 启动web应用时调用 contextDestroyed(ServletContextEvent event); // 关闭web应用时调用
So erhalten Sie das Anwendungsobjekt:
ServletContext application = event.getServletContext();
Beispiel:
@WebListener public class MyServetContextListener implements ServletContextListener{ //web应用关闭时调用该方法 @Override public void contextDestroyed(ServletContextEvent event) { ServletContext application = event.getServletContext(); String userName = application.getInitParameter("userName"); System.out.println("关闭web应用的用户名字为:"+userName); } //web应用启动时调用该方法 @Override public void contextInitialized(ServletContextEvent event) { ServletContext application = event.getServletContext(); String userName = application.getInitParameter("userName"); System.out.println("启动web应用的用户名字为:"+userName); } }
2 . ServletContextAttributeListener
Diese Schnittstelle wird verwendet, um auf Änderungen in Attributen innerhalb des ServletContext-Bereichs (Anwendung) zu warten.
Zwei Methoden dieser Schnittstelle:
attributeAdded(ServletContextAttributeEvent event);//当把一个属性存进application时触发 attributeRemoved(ServletContextAttributeEvent event);//当把一个属性从application删除时触发 attributeReplaced(ServletContextAttributeEvent event);//当替换application内的某个属性值时触发
So erhalten Sie das Anwendungsobjekt:
ServletContext application = event.getServletContext();
Beispiel:
@WebListener public class MyServletContextAttributeListener implements ServletContextAttributeListener{ //向application范围内添加一个属性时触发 @Override public void attributeAdded(ServletContextAttributeEvent event) { String name = event.getName();//向application范围添加的属性名 Object val = event.getValue(); //向application添加的属性对应的属性值 System.out.println("向application范围内添加了属性名为:"+name+",属性值为:"+val+"的属性"); } //删除属性时触发 @Override public void attributeRemoved(ServletContextAttributeEvent event) { // ... } //替换属性值时触发 @Override public void attributeReplaced(ServletContextAttributeEvent event) { // ... } }
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Java-Lister. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!