[TIL] 2024-08-08

성장일기·2024년 8월 15일

회고

목록 보기
25/37

중요 학습 내용 [Servlet]

Listener

  • 웹서버 상의 life-cycle 중, 발생하는 이벤트를 감지하여 특정 이벤트에 대한 로직을 구성할 수 있다.
  • uses:
    • 서비스 전반적으로 어떤 일이 일어났는지 모니터링하거나 로그를 남겨둘 때 사용(장애 발생 시, 문제발생 시점 및 문제 해결을 위함)
      • 일반적으로 파일로 저장
    • HTTP 요청에 대한 처리
  • Listener는 interface로, Adaptor가 Listener를 구현하여 Adaptor를 상속받아 사용하는 경우가 많았으나, 최근 편의상 직접 구현을 통해 사용한다.(interface에서 강제성을 낮춘 메소드 정의)
  • 사용자가 직접 서버 내의 저장공간(context, session 등)에 접근하여 문제가 발생할 수 있기에, 파사드 패턴으로 구현됨

Context Listener

  • Context Listener가 어플리케이션의 on/off를 tracking
    • application의 on-off 동안 유지되는 저장공간
    • use: 로그를 발생시켜 어떤 시점에 어떤 로그가 생겼는지 파악 가능

Session Listener

  • session: 지정 만료시간까지 존재하는 공간
  • uses: 누적 방문자 수, 방문 시점 확인 등을 관리 가능
  • binding: 특정 클래스가 session에 바인딩 되었는지 확인할 때는 해당 클래스에서 HttpSessionBindingListener를 구현하여 확인가능
    • uses: session에 담긴 값들 중, 특별히 보고싶은 정보는 특정 클래스에서 구현하여 DB와의 상호작용이 가능

Request Listener

  • 요청-응답 사이에만 존재하는 저장공간으로 Session Listener와 작동방식이 거의 동일하다.
profile
엔지니어로의 성장일지

0개의 댓글