>  기사  >  Java  >  자바 리스터를 사용하는 방법

자바 리스터를 사용하는 방법

(*-*)浩
(*-*)浩원래의
2019-05-22 16:25:022992검색

Java 리스터를 사용하는 단계: 1. 특정 인터페이스를 구현하여 구현 클래스를 만듭니다(여러 리스너 인터페이스를 구현할 수 있음). 2. @WebListener 주석을 직접 사용하여 구현 클래스를 수정하고 구현 클래스가 리스너가 되도록 구성하거나 web.xml을 통해 구현 클래스가 리스너가 되도록 구성합니다.

자바 리스터를 사용하는 방법

Java 리스터는 웹 애플리케이션의 내부 이벤트를 모니터링하는 데 사용되는 구현 클래스인 리스너를 의미합니다. 사용자 세션의 시작과 종료, 사용자 요청 도착 등을 모니터링할 수 있습니다. 이벤트가 발생하면 리스너의 내부 메소드가 콜백됩니다.

리스너 단계 사용

특정 인터페이스를 구현하여 구현 클래스 생성(여러 리스너 인터페이스 구현 가능)

구현 클래스를 리스너로 구성하는 방법에는 두 가지가 있습니다.

구현 클래스를 직접 장식합니다. @WebListener 주석을 사용하여

web.xml을 통해 구성한 코드는 다음과 같습니다.

<listener>
    <listener-class>com.zrgk.listener.MyListener</lisener-class>
</listener>

일반적으로 사용되는 웹 이벤트 리스너 인터페이스

1. 이 인터페이스는 ServletContextListener

의 시작 및 종료를 모니터링하는 데 사용됩니다. 웹 애플리케이션

이 인터페이스 두 개 메소드:

contextInitialized(ServletContextEvent event); // 启动web应用时调用
contextDestroyed(ServletContextEvent event); // 关闭web应用时调用

애플리케이션 객체를 가져오는 방법:

ServletContext application = event.getServletContext();

예:

@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

이 인터페이스는 ServletContext 범위(애플리케이션) 내의 속성.

이 인터페이스의 두 가지 방법:

attributeAdded(ServletContextAttributeEvent event);//当把一个属性存进application时触发
attributeRemoved(ServletContextAttributeEvent event);//当把一个属性从application删除时触发
attributeReplaced(ServletContextAttributeEvent event);//当替换application内的某个属性值时触发

응용 프로그램 개체를 가져오는 방법:

ServletContext application = event.getServletContext();

예:

@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) {
        // ...      
    }

}

위 내용은 자바 리스터를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.