서블릿 생명주기 (Servlet Life Cycles)

서희찬·2023년 10월 23일
0

웹프로그래밍

목록 보기
5/30
post-custom-banner

서블릿 작성

  • 자바 클래스로 제작
    • javax.servlet.GenericServlet 또는 javax.servlet.http.HttpServlet 상속 구현
  • 컴파일 과정 필요

서블릿에 대한 사용자 요청 처리 과정

  1. web.xml 파일을 참조해 Check URL Mapping
  2. 요청된 Servlet instance 로부터 Thread 생성
  3. Service() method 호출
  • 모든 사용자 요청에 대해 개별적인 Service() method가 호출된다.
  1. GET 요청은 doGet(), POST -> doPost()
  • Servlet 개발자는 doGet() 또는 doPost() 메소드에 필요한 기능을 구현
  • doGet()에서 다시 doPost()를 호출 가능
  • doPost() 내부에만 관련 처리 과정을 코딩

서블릿의 생명 주기

컨테이너 시작 시

배포된 웹 어플리케이션 및 서블릿 목록 확인

로딩

컨테이너 시작 시 로딩 또는 최초 클라이언트의 요청 시 로딩

서블릿 초기화 : init()

  • 컨테이너에서 서블릿 객체 생성 후 호출
  • 한번만 실행되기 때문에 공통적으로 사용하기 위해 필요한 작업 설정
  • 실행 중 ㅅ거블릿 변경 시 기존 서블릿 파괴 후 다시 이닛 호출

요청 처리 : Service()

  • 컨테이너에 의해 호출된다
  • 사용자 요청은 request, 응답 처리는 response 객체로 처리
  • 실제 요청 수행은 겟 포스트 메서드 내부 코드로 작성됨
  • 오버라이딩 하지 않음

요청 수행 : doGet or doPost

  • Service() method에서 HTTP Method 참조하여 호출
  • 비즈니스 로직을 구현 또는 호출
  • 두 메소드 중 하나는 반드시 오버라이딩하여 구현

서블릿 종료 : destory()

한번만 실행되기 때문에 정리할 작업 설정

=> 쓰레드를 통해서 동시 실행인점에 유의하자!

서블릿 컨테이너 내에서 서블릿 동작 흐름


profile
부족한 실력을 엉덩이 힘으로 채워나가는 개발자 서희찬입니다 :)
post-custom-banner

0개의 댓글