- Life Cycle : 어떤 객체의 생성부터 소멸까지의 과정을 라이프 사이클이라고 한다.
- LifecycleServlet 작성
- 서블릿 생명주기를 확인할 수 있는 LifecycleServlet을 작성한다.
- HttpServlet의 3가지 메소드를 오버라이딩
init()
service(request, response)
destroy()
- Servlet 생명주기
서블릿이 처음 호출됨
if(해당 서블릿이 메모리에 있는지 검사함, 메모리에 없다면){
해당 서블릿 클래스를 메모리에 올림
init() 메소드를 실행
}
service() 메소드 실행
웹 어플리케이션이 갱신되거나 WAS가 종료될 경우 destory()메소드가 실행됨
* 따라서 요청이 들어왔을 때 응답해야 하는 내용은 service() 메소드에 구현해야 한다.
- service(request, response) 메소드
service() 메소드는 HttpServlet안에 이미 구현되어 있음.
HttpServlet의 service메소드는 템플릿 메소드 패턴으로 구현
클라이언트의 요청이 GET일 경우 자신이 가지고 있는 doGet(request, response)메소드를 호출
클라이언트의 요청이 Post일 경우에는 자신이 가지고 있는 doPost(request, response)를 호출
라이프사이클서블릿 클래스가 생성되고 init이 호출되면서 메모리에 서블릿이 있는지 검사한다.
한번 적재되고 난뒤에는 새로고침을 하여도 이미 적재되어있기 때문에 service메소드만 호출된다.
하지만 메소드를 수정하면 메모리에 새로 적재해야하기 때문에 이 때 destroy 메소드가 호출된다.
댓글