Heim >Java >javaLernprogramm >So verwenden Sie Java-Lister

So verwenden Sie Java-Lister

(*-*)浩
(*-*)浩Original
2019-05-22 16:25:023044Durchsuche

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.

So verwenden Sie Java-Lister

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn