리스너는 컨테이너를 모니터링하다가 특정 이벤트가 발생하면 실행되는 서블릿으로 이벤트 리스너라고도 한다. Web Application 실행에 필요한 정보를 제공하거나 톰캣 시작/종료와 같은 특정 상황에 자동으로 동작하는 프로그램을 구현할 때 사용한다. 리스너 또한 서블릿처럼 어노테이션 기반 코드로 작성 가능하다.
리스너의 동작 구조는 위의 그림과 같다. 클라이언트 요청에 따라 서블릿을 통해 Session, Request 객체가 생성되거나 속성의 변화가 발생하면(이벤트 발생) 컨테이너에서 이벤트를 감지한다. 그리고 해당 이벤트를 처리하는 리스너 클래스의 메소드를 호출한다.
리스너의 종류
- ServletContextListener - 톰캣의 시작, 종료와 같은 이벤트에 동작
- ServletContextAttributeListener - ServletContext의 객체인 application scope에 속성이 추가, 변경 되는 상황에 동작
- HttpSessionListener - Seesion의 생성과 소멸등의 변화에 동작
- HttpSessionAttributeListener - 각 Session별로 속성이 추가되거나 변경되는 상황에 동
'Java > 공부' 카테고리의 다른 글
큐 (0) | 2023.08.13 |
---|---|
필터 (0) | 2023.08.10 |
Servlet과 JSP(Java Server Pages) (0) | 2023.08.08 |
[Hashmap] .getOrDefault(key, defaultValue) (0) | 2023.07.25 |
[JAVA] 예제로 Hash map 공부하기 (0) | 2023.07.25 |