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

조한빈·2020년 10월 9일
1

Java_BackEnd

목록 보기
3/4

Servlet Life Cycle

  • 클라이언트의 요청이 들어오면 컨테이너는 해당 서블릿이 메모리에 있는지 확인
  • 없을 경우 init()메소드를 호출하여 적재한다.
    • init()메소드는 처음 한번만 실행 되기 때문에, 서블릿의 쓰레드에서 공통적으로 사용해야하는 것이 있다면 오버라이딩하여 구현.
    • 실행 중 서블릿이 변경 될 경우, 기존 서블릿을 destory 하고 init()을 통해 새로운 내용을 다시 메모리에 적재한다.
  • init()이 호출된 후 클라이언트의 요청에 따라서 service()메소드를 통해 요청에 대한 응답이 doGet()가 doPost()로 분기된다.
    • 이때 서블릿 컨테이너가 클라이언트의 요청이 오면 가장 먼저 처리하는 과정 으로 HttpServletRequest,HttpServletResponse를 생성
    • HttpServletRequest, HttpServletResponse에 의해 request와 response객체가 제공된다.
  • 컨테이너가 서블릿에 종료 요청을 하면 destroy()메소드가 호출
    • init()과 마찬가지로 한번만 실행
    • 종료시에 처리해야하는 작업들은 destroy()메소드를 오버라이딩하여 구현하면 된다.

0개의 댓글