- 들어가기 전에
어떤 객체의 생성부터 소멸까지의 과정을 라이프 사이클(Life Cycle)이라고 한다.
- 학습 목표
1. 서블릿의 생명주기(Life Cycle)를 이해하자.
- 핵심 개념
- init
- service
- destroy
- Servlet 생명주기
- 서블릿 생명주기를 확인할 수 있는 LifecycleServlet을 작성한다.
- HttpServlet의 세가지 메소드를 오버라이딩한다.
· init()
· service(request, response) : 요청이 들어왔을 때 응답해야되는 모든 내용은 service() 메서드에서 구현
· destroy() : 웹 어플리케이션이 갱신되거나 WAS가 종료될 때 호출
- servlet은 서버에 servlet 객체를 여러개 만들지 않는다. 요청이 여러 번 들어올 때마다 매번 생성하는 것이 아니라 실제 요청된 객체가 메모리에 있다면 service라는 메서드만 호출하기 때문에, 새로고침을 하면 생성자와 init()은 호출되지 않는 것을 알 수 있다.
- 서블릿을 수정한다면 기존에 메모리에 올라가있던 서블릿 객체는 더이상 사용될 수 없다. 이 때 destroy() 메소드가 호출된다.
- HelloServlet을 만들었을 때 doGet() 메서드만 호출했는데 어떻게 실행이 됐을까?
- service(request, response) 메소드
- 실제 HttpServlet의 service 메소드는 이미 템플릿 메소드 패턴으로 구현
· 클라이언트의 요청이 GET일 경우에는 자신이 가지고 있는 doGet(request, response) 메소드 호출
· 클라이언트의 요청이 POST일 경우에는 자신이 가지고 있는 doPost(request, response) 메소드 호출
- 해당 서블릿에 URL 주소를 직접 입력하거나 링크를 클릭하는 것은 GET 방식으로 서버에게 요청을 보내게 되는 것으로, 이 경우 service() 메소드가 호출되면서 자신의 doGet() 메서드를 호출할 것이다.
- GET 방식이냐, POST 방식이냐에 따라, 같은 URL 매핑 주소지만 다른 메서드가 호출될 수 있다.
'Progamming > BoostCourse' 카테고리의 다른 글
자바스크립트 변수-연산자 타입 (0) | 2019.01.19 |
---|---|
Request, Response 객체 이해하기 (0) | 2019.01.17 |
Servlet 작성 방법 (0) | 2019.01.16 |
Servlet이란? (0) | 2019.01.16 |
개발환경 설정 - BE (0) | 2019.01.16 |
댓글