1 개 기본 개념
리스너는 즉시 적절한 조치를 취할, 듣고 해당 개체 처리, 모니터링 개체 발생을 변경하는 일이 국가 또는 다른 개체를위한 특별한 이벤트입니다. 리스너는 실제로 특정 인터페이스, 방법은 다른 자바 객체를 호출하거나 변경, 위의 이벤트가 모니터링 된 객체를 발생할 때, 방법 리스너가 즉시 실행되는 속성 모니터링하도록 설계이 프로그램을 달성하는 일반적인 자바 프로그램입니다.
JavaWeb는 청취자가 ServletContext에, HttpSession에있는 웹 응용 프로그램을 모니터링하는 데 사용되며 이러한 도메인은 수정이 발생할 속성 오브젝트에 시간 영역의 파괴에 객체를 생성하고, 듣고 싶은 ServletRequest의 특별한 클래스 정의 서블릿 사양입니다 이벤트.
카테고리 2 서블릿 리스너
리스너 서블릿 사양에 복수 종류의 정의, 이들은 각각 이벤트 소스 ServletletContext, HttpSession을하고 세 ServletRequest의 도메인 개체를 모니터링하는데 사용된다.
이 세 가지 목적, 다시 세 가지 유형으로 나누어 청취자의 다양한 유형에 대한 작업을위한 서블릿 사양 :
● 모니터 도메인 객체 이벤트 리스너의 자신의 생성과 파괴.
● 추가하고 이벤트 리스너가 도메인 객체를 수신 특성을 삭제합니다.
● 이벤트 리스너는 국가의 도메인을 바인딩 객체의 HttpSession를 수신합니다.
3 도메인의 ServletContext 객체 생성과 파괴를 듣고
ServletContextListener 인터페이스를 생성하고 이벤트 리스너의 ServletContext 객체를 파괴하는 데 사용됩니다. 인터페이스가의 ServletContext 객체 생성과 파괴를들을 수 있습니다 구현 ServletContextListener 클래스입니다.
ServletContext에 객체가 생성 될 때, contextInitialized (ServletContextEvent 이벤트) 방법을 영감.
ServletContext에 객체가 파괴 될 때, 흥분 contextDestoryed (ServletContextEvent 이벤트) 방법.
ServletContext에 도메인 오브젝트가 작성 때 파괴된다 :
만들기 : 각 웹 응용 프로그램 서버 시작의 ServletContext를 만듭니다.
파괴 : 서버가 각 웹 응용 프로그램을 대신의 ServletContext를 종료하기 전에 전원을 끄십시오.
예 : MyServletContextListener이 ServletContext에 청취자가 만든 인터페이스 ServletContextListener를 구현하는 클래스를 작성하고 객체를 파괴한다.
● 쓰기 리스너로는 다음과 같습니다 :
패키지 com.xdl.listener;
수입 javax.servlet.ServletContextEvent;
수입 javax.servlet.ServletContextListener;
/ **
* MyServletContextListener 클래스는 인터페이스 ServletContextListener를 구현
* 그래서 당신은이 두 가지 작업의 ServletContext 객체의 생성과 파괴들을 수 있습니다
* /
공용 클래스 MyServletContextListener는 ServletContextListener를 {구현
@보수
공공 무효 contextDestroyed (ServletContextEvent의 SCE) {
에서 System.out.println ( "의 ServletContext 개체 생성");
}
@보수
공공 무효 contextInitialized (ServletContextEvent의 SCE) {
에서 System.out.println ( "의 ServletContext 객체가 소멸");
}
}
web.xml 파일 ● 등록 된 리스너
web.xml에 등록 파일을 모니터링하면서 ● 우리는 JavaWeb에서 모니터링하는 액션 이벤트 소스의 행동에 달성 될 수있다, 당신은 이벤트 소스에 리스너를 등록해야 이벤트 소스를 모니터하기 위해, 위에서 언급 한 을 구성 할 수 있습니다. 다음과 같이 세부 구성은 다음과 같습니다
<? XML 버전 = "1.0"인코딩 = "UTF-8"?>
<웹 응용 프로그램의 xmlns : XSI = "http://www.w3.org/2001/XMLSchema-instance"
의 xmlns = "http://xmlns.jcp.org/xml/ns/javaee"
XSI :의 schemaLocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
버전 = "3.1">
<수신기>
<설명> ServletContextListener 监听 器 </ DESCRIPTION>
<리스너 클래스> com.xdl.listener.MyServletContextListener </ 리스너 클래스>
</ 청취자>
</ 웹 응용 프로그램>
웹 서버가 시작될 때이 두 단계 후에, 우리는 청취자의 준비 및 등록을 완료, 자동으로하는 ServletContext 객체에 등록 web.xml에 리스너에서 구성, 그래서 좋은 리스너 MyServletContextListener 개발한다 우리는 ServletContext에 객체들을 수 있습니다.