3D Graphic Technical Artist

서블릿 라이프 사이클 본문

공부(~2014)/web

서블릿 라이프 사이클

er1ca 2012. 10. 18. 15:31

서블릿 라이프 사이클

 

서블릿 라이프 사이클은 서블릿이 사용되는 컨테이너에 의해 제어된다.

서블릿이 요청되면, 컨테이너는 다음의 단계를 수행한다.

1.      만일 서블릿 객체가 존재하지않는다면, 웹 컨테이너는

a.     서블릿 클래스를 로드한다.

b.     서블릿 클래스 객체를 생성한다.

c.     init 메소드를 호출함으로써 서블릿 객체를 초기화한다.

2.      service 메소드를 부르면, 요청을 수행하고 object를 응답한다.

만약 서블릿을 제거해야한다면, 컨테이너는 서블릿의 destroy 메소드를 호출함으로써 서블릿을 끝낸다.

 

즉, 처음 서블릿 객체가 생길때 init 메소드로 시작되고

컨테이너가 살아있는 동안에는 service 메소드만 호출한다.

서블릿의 최후는 컨테이너가 종료될때 서블릿의 destroy 메소드 호출로 끝난다.

 

Servlet Lifecycle

The lifecycle of a servlet is controlled by the container in which the servlet has been deployed. When a request is mapped to a servlet, the container performs the following steps.

  1. If an instance of the servlet does not exist, the web container

    1. Loads the servlet class.

    2. Creates an instance of the servlet class.

    3. Initializes the servlet instance by calling the init method. Initialization is covered in Creating and Initializing a Servlet.

  2. Invokes the service method, passing request and response objects. Service methods are discussed in Writing Service Methods.

If it needs to remove the servlet, the container finalizes the servlet by calling the servlet’s destroy method. For more information, see Finalizing a Servlet.

 

The Java EE 6 Tutorial 참조 : http://docs.oracle.com/javaee/6/tutorial/doc/bnafi.html