반응형

서블릿 생명주기 (Servlet LifeCycle)

 

 

 

서블릿의 생명주기에 대해서 알아보도록 하겠습니다. 

 

1. 먼저 WAS는 클라이언트로부터 서블릿 요청을 받으면 해당 서블릿이 메모리에 있는지 확인합니다. 

2. (만약 해당 서블릿이 처음실행되어 메모리에 없다면) 서블릿 클래스를 메모리에 올리고 init() 메소드와 service() 메소드를 실행합니다. 

3. (만약 해당 서블릿이 메모리에 있다면) service() 메소드를 실행합니다.

4. WAS가 종료되거나 웹 어플리케이션이 갱신되어 서블릿 종료 요청이 있을 경우 destroy() 메소드를 실행합니다. 

 

 

 

1. 서블릿의 생명주기 메소드

 

1) init()

서블릿을 처음 메모리에 올릴때 실행되어, 서블릿을 초기화하며 처음에 한번만 실행됩니다. 

 

2) service()

요청/응답(request/response)을 처리하며 요청이 GET인지 POST인지 구분하여 doGet() 또는 doPost() 메소드로 분기됩니다. 

 

3) destroy()

서블릿 종료요청이 있을때 destroy() 메소드가 실행됩니다. 

 

서블릿 생명주기 (Servlet LifeCycle)

 

 

2. 서블릿의 생명주기 예제

 

@WebServlet("/ServletLifeCycle")
public class ServletLifeCycle extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    public ServletLifeCycle() {
        super();
        System.out.println("ServletLifeCycle 생성자 실행");
    }

	public void init(ServletConfig config) throws ServletException {
		System.out.println("init() 실행");
	}

	protected void service(HttpServletRequest request, HttpServletResponse response)
    						throws ServletException, IOException {
		System.out.println("service() 실행");
		super.service(request, response);
	}

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
    						throws ServletException, IOException {
		System.out.println("doGet() 실행");
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) 
    						throws ServletException, IOException {
		System.out.println("doPost() 실행");
	}
	
	public void destroy() {
		System.out.println("destroy() 실행");
	}
}

 

[실행결과]

 

 

 

반응형

'IT 개발 > JSP' 카테고리의 다른 글

[JSP/Servlet] Request와 Response 객체의 이해  (0) 2021.03.27
Servlet 기초 실습 예제  (0) 2021.03.10
자바 웹 프로젝트 만들기  (0) 2021.03.06

+ Recent posts