들어가기 전에
어떤 객체의 생성부터 소멸까지의 과정을 라이프 사이클(Life Cycle)라고 합니다.
이번 학습에서는 서블릿의 라이프 사이클을 알아봅니다.
학습 목표
- 서블릿의 생명주기를 이해합니다.
핵심 개념
- init
- service
- destory
LifecycleServlet
HttpServlet의 3가지 메소드를 오버라이딩
- init()
- service(request, response)
- destroy()
실습코드
LifecycleServlet.java


Servlet 생명주기
- WAS는 서블릿 요청을 받으면 해당 서블릿이 메모리에 있는지 확인합니다.
- if (메모리에 없음) {
- 해당 서블릿 클래스를 메모리에 올림
- init() 메소드를 실행
}
- service()메소드를 실행 - was가 종료되거나, 웹 어플리케이션이 새롭게 갱신될 경우 destroy() 메소드가 실행됩니다.
실습코드
LifecycleServlet.java

service(request, response) 메소드
HttpServlet의 service메소드는 템플릿 메소드 패턴으로 구현합니다.
- 클라이언트의 요청이 GET일 경우에는 자신이 가지고 있는 doGet(request, response)메소드를 호출
- 클라이언트의 요청이 Post일 경우에는 자신이 가지고 있는 doPost(request, response)를 호출
LifecycleServlet 수정 실습
- Service(request, response)메소드 주석처리
- HttpServlet의 doGet(request, response)메소드 오버라이딩
- HttpServlet의 doPost(request, response)메소드 오버라이딩
* reference :
템플릿 메소드 패턴(Template Method Pattern) :: JDM's Blog
이 포스팅은 템플릿 메소드(Template Method) 패턴에 대해서입니다. 간단하게 최종 코드를 먼저 보고 그 뒤 하나씩 구현해보겠습니다. 최종 코드 public class TemplateMain { public static void main(String[] args) { // 전사는 전투 준비를 위해서 // 체력을 단련하고, 검을 닦고, 갑옷을 입습니다. Warrior warrior = new Warrior(); warrior.readyToBattl
jdm.kr
2) https://www.edwith.org/boostcourse-web/lecture/16688/
[LECTURE] 3) Servlet 라이프 싸이클 : edwith
들어가기 전에 어떤 객체의 생성부터 소멸까지의 과정을 라이프 사이클(Life Cycle)라고 합니다. 이번 학습에서는 서블릿의 라이프 사이클을 알아봅니다. 학습 목표 서블릿... - 부스트코스
www.edwith.org