서블릿 리스너란?
서블릿 리스너란, 웹 컨테이너가 관리하는 라이프 사이클 사이에 발생하는 이
벤트를 감지하여 해당 이벤트가 발생 시 해당 이벤트에 대한 일련의 로직을 처
리하는 인터페이스를 말한다.
서블릿 이벤트 사용 용도
- 웹 컨텍스트가 초기화되는 경우
- 세션이 생기거나 소멸되는 경우
- 요청 정보의 속성이 바뀌는 경우
서블릿 리스너 동작 구조
서블릿 이벤트 리스너 종류
1. ServletContextListener
- 웹 애플리케이션의 시작과 종료 시 자동으로 발생하는 이벤트
- 메소드 종류
contextInitialized(ServletContextEvent e) : void
웹 컨테이너가 처음 구동될 때 실행되는 메소드
contextDestoryed(ServletContextEvent e) : void
웹 컨테이너가 종료될 때 실행되는 메소드
2. ServletContextAttributeListener
- 웹 컨테이너에 저장된 속성의 값이 변경될 경우 발생하는 이벤트
(ServletContext 객체에 속성이 추가, 삭제, 수정될 때 발생)
- 메소드 종류
attributeAdded(ServletContextAttributeEvent e) : void
새로운 속성 값이 추가될 때 실행되는 메소드
attributeRemoved(ServletContextAttributeEvent e) : void
속성 값이 제거될 때 실행되는 메소드
attributeReplaced(ServletContextAttributeEvent e) : void
속성 값이 변경될 때 실행되는 메소드
3. HttpSessionListener
- HTTP 세션이 생성되거나 종료(소멸)되는 시점에 발생하는 이벤트
- 메소드
sessionCreated(HttpSession e) : void
세션이 생성되었을 경우 실행되는 메소드
sessionDestoryed(HttpSession e) : void
세션이 무효화 되었을 경우 실행되는 메소드
4. HttpSessionAttributeListener
- HTTP 세션에 대한 속성의 값이 변경될 경우 발생하는 이벤트
- 메소드
attributeAdded(HttpSessionBindingEvent e) : void
세션에 새로운 속성 값이 추가될 때 실행되는 메소드
attributeRemoved(HttpSessionBindingEvent e) : void
세션에 속성 값이 제거될 때 실행되는 메소드
attributeReplaced(HttpSessionBindingEvent e) : void
세션에 속성 값이 변경될 때 실행되는 메소드
5. HttpSessionActivationListener
- HTTP 세션이 활성화 또는 비활성화가 발생하려 할 때 감지
- 메소드
sessionDidActivate(HttpSessionEvent e) : void
세션이 활성화 될 때 실행
sessionWillPassivate(HttpSessionEvent e) : void
세션이 비활성화 되려고 할 때 실행
6. HttpSessionBindingListener
- 현재 세션에 객체가 추가되거나 해제될 때 발생하는 이벤트
(사용자의 현재 세션에 바인딩 되거나 해제될 객체가 발생할 경우 감지)
- 메소드
valueBound(HttpSessionBindingEvent e) : void
객체가 세션에 연결될 때 발생하는 이벤트를 실행
valueUnBound(HttpSessionBindingEvent e) : void
객체가 세션으로부터 연결이 해제될 때 발생하는 이벤트를 실행
'개발기록 > Java' 카테고리의 다른 글
서블릿 예제1 (0) | 2022.01.19 |
---|---|
Ajax 예제 (0) | 2022.01.19 |
Filter와 Wrapper (0) | 2022.01.13 |
HttpServletRequest, HttpServletResponse 개념 이해 (0) | 2022.01.13 |
HTTP란? (0) | 2022.01.13 |