09009

[JSP] 서블릿 생명주기 (Servlet LifeCycle) 본문

JSP
[JSP] 서블릿 생명주기 (Servlet LifeCycle)
09009 2023. 4. 10.

다른 웹 기술들은 클라이언트의 요청이 있을 때마다 작업을 처음부터 새롭게 하여 제공한다.

하지만 서블릿은 그렇지 않다. 

 

서블릿이 첫 번째 요청인 경우, 서블릿 클래스를 찾아 메모리에 로딩하여 인스턴스(객체)를 생성한다.

→ 이 때, 생성된 서블릿 인스턴스는 메모리에 계속 남아 있어서 이후부터는 서블릿이 호출되어도 서블릿

인스턴스가 다시 생성되지 않고 이미 로딩된 서블릿으로부터 서비스만 받기 때문에 수행 속도가 빠른 것이다.

 

1) 객체가 생성되어 init() 메서드가 단 한번 호출된다. init() 메서드에서는 주로 초기화 작업을 수행한다.

 

2) 그 후, 클라이언트의 요청이 있을 때 doGet() 혹은  doPost() 메서드가 실행된다.

여러 클라이언트가 동시에 요청을 하여도 스레드가 생성되어 동시에 doGet() 혹은 doPost() 메서드가 실행되므로

수행 속도가 빠르다.

 

3) 서블릿이 더 이상 서비스를 하지 않으면 destroy() 메서드가 호출된다.

destroy() 메서드는 톰캣이 종료될 때만 호출된다.

ex) 서블릿 컨테이너가 종료(톰캣 재가동)되거나 서블릿 내용이 변경되어 다시 컴파일해서 클래스 파일이 바뀔 때

 

'JSP' 카테고리의 다른 글

[JSP] request, getParameter()  (0) 2023.04.11
[JSP] 쿼리 스트링  (0) 2023.04.11
[JSP] get 방식, post 방식  (0) 2023.04.10
[JSP] 서블릿 클래스 생성하기  (0) 2023.04.10
[JSP] 서블릿 개념  (0) 2023.04.10