21. 리스너

2022. 7. 15. 16:01·Java Spring/JSP와 스프링


1️⃣ 리스너란?

개요

리스너란 컨테이너에서 발생하는 이벤트를 중 특정 이벤트가 발생하면

실행되는 특수한 서블릿이다. 이를 이벤트 리스너라고한다.

웹 어플리케이션 실행에 필요한 정보를 제공하거나 톰캣 시작종료와 같은 특정 상황에

자동으로 동작하는 프로그램을 구현할때 사용한다.

이때 리스너는 서블릿과 마찬가지로 애너테이션 기반 코드로 작성할수있다.

 

먼저 리스너가 동작하기 위한 이벤트 종류와 프로그램API를 알아야한다.

리스너는 일반적인 형태의 서블릿이 아니다.

특정 이벤트에 따라 동작하는 인터페이스를 구현한 클래스라고 보면 되겠다.

 

리스너는 생명 주기 변화와 Scope Object에서 관리하는 속성의 변화를 감지하고

해당 이벤트가 발생되면 실행되는구조다.

 

클라이언트의 요청에 따라 서블릿을 통해 Session, Request 객체가 생성되거나

속성의 변화가 발생하면 컨테이너에서 이벤트를 감지하고 이벤트를 처리하는 리스너 클래스의 메소드가 실행되게된다.

 

주로 웹 어플리케이션 전체의 설계나 운영관점에서 사용한다.

2️⃣ 리스너의 종류

유형 설명 리스너 인터페이스
ServletContext 생명주기 변화 ServletContext 생성과 소멸시점에 동작.
톰캣 시작 종료 시점과 일치.
javax.servlet.ServletContext.Listener
ServletContext 속성 변화 ServletContext의 속성이 추가되거나 변경되는 상황에 동작. javax.servlet.ServletContext.AttributeListener
Session 생명 주기 변화 Session의 생성과 소멸등 변화에 따라 동작. javax.servlet.http.HttpSessionListener
Session 속성 변화 Session의 속성이 추가되거나 변경되는 상황에 동작. javax.servlet.http.HttpSessionAttributeListener

 

3️⃣ 리스너 구현

리스너 인터페이스를 구현한 클래스를 만들어야한다.

그리고 어노테이션을 이용해 리스너임을 명시한후 오버라이딩된 메소드중에서 필요한 코드만 작성한다.

 

직접생성시엔 클래스 생성은 일반 자바 클래스로 생성하고 implemets와 어노테이션을 직접 추가하면된다.

이클립스에선 New > Listenr 메뉴를 통해 생성이 가능하다.

 

@WebListener 어노테이션으로 리스너 클래스임을 컨테이너에게 전달해야한다.

인터페이스 구현으로 생성된 오버라이딩 메소드 중에 필요한 메소드만 구현해서 사용하면된다.

 

 

 


[메인으로 돌아가기]

'Java Spring > JSP와 스프링' 카테고리의 다른 글

23. 리스너 종합  (0) 2022.07.15
22. 필터  (0) 2022.07.15
20. 뷰 구현  (0) 2022.07.15
19. 컨트롤러 구현  (0) 2022.07.14
18. 모델 구현  (0) 2022.07.14
'Java Spring/JSP와 스프링' 카테고리의 다른 글
  • 23. 리스너 종합
  • 22. 필터
  • 20. 뷰 구현
  • 19. 컨트롤러 구현
백고미
백고미
  • 백고미
    백고미의 정신세계
    백고미
  • 전체
    오늘
    어제
    • 분류 전체보기 (127)
      • [ 공지사항 ] (0)
      • 정보 (15)
        • 워프레임 (6)
        • 게임 (3)
        • 군대 (1)
        • 이민 (1)
      • Java Spring (43)
        • JSP와 스프링 (34)
        • Tip (9)
      • Spring boot (1)
        • Tip (1)
      • 직업 정보 (2)
        • 경찰 공무원 (2)
        • AAFES (0)
        • HD GFD (0)
      • 리뷰 (1)
        • 인터넷 (1)
      • Life (2)
        • 운동 (1)
        • 자격증 (1)
      • 소스모드 (28)
        • CSGO (7)
        • CSS (0)
        • HL2DM (3)
        • L4D2 (1)
        • BMS (0)
        • TIP (16)
        • Extension (1)
        • 문법 (0)
      • C# (4)
        • s&box (4)
      • LUA (8)
        • Garry's Mod (8)
      • Resource (11)
        • Player Model (1)
        • Npc Model (1)
        • Weapon Model (2)
        • PropPhyics (6)
        • PropDynamic (1)
        • Texture (0)
        • Animation Texture (0)
        • Overlay (0)
        • Effect Sound (0)
        • Particle (0)
      • 일기장 (1)
        • TRH (4)
        • 스케줄 (1)
        • Els (0)
        • 프로젝트 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • John John한 블로그
  • 공지사항

  • 인기 글

  • 태그

    경기북부 병무청 가는 길
    경찰 공무원 응시 자격
    키벨류
    윈도우10 고양이
    윈도우10 1주년
    경찰 간부후보생
    공찰공무원 필수과목
    경기북부병무지청
    원동기장치면허
    경기북부 병무청 가는길
    경찰시험 응시 자격
    윈도우10 닌자캣
    경기북부 병무청
    경기북부 병무청 가는 법
    경기북부병무청 가는법
    스쿼트 운동 효과
    발표 PPT
    병무청가는법
    경찰 가산점표
    경기북부병무청 회룡역
    병무청 가는 법
    경기북부병무청
    경기북부병무청 망월사
    경찰공무원 가산점표
    윈도우10 참가자 프로그램
    순경 가산점
    병무청 가는 길
    경찰공무원 선택과목
    병무청가는길
    운전면허 종류
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
백고미
21. 리스너
상단으로

티스토리툴바