[java] 서블릿 생명주기와 메서드

서블릿은 Java를 기반으로 하는 웹 애플리케이션 개발을 위한 핵심 컴포넌트입니다. 서블릿은 클라이언트의 요청에 대한 응답을 처리하며, 이를 위해 특정한 생명주기를 갖고 있습니다.

서블릿 생명주기

서블릿은 다음과 같은 생명주기를 가집니다:

  1. 로딩(Loading): 서블릿 컨테이너가 서블릿 클래스를 로딩합니다.
  2. 인스턴스화(Instantiation): 서블릿 컨테이너가 서블릿 클래스의 인스턴스를 생성합니다.
  3. 초기화(Initialization): 서블릿 인스턴스가 초기화되며, 개발자가 직접 정의한 초기화 로직을 수행할 수 있습니다.
  4. 요청 처리(Request Handling): 클라이언트의 요청에 대한 처리가 수행됩니다.
  5. 종료(Destruction): 서블릿 인스턴스가 소멸되기 전에 정리 작업을 수행할 수 있습니다.

서블릿 메서드

서블릿은 위의 생명주기에 따라 다양한 메서드를 제공합니다. 주요한 메서드는 다음과 같습니다:

init()

init() 메서드는 초기화 단계에서 호출되는 메서드입니다. 이 메서드를 재정의하여 서블릿의 초기화 로직을 구현할 수 있습니다.

@Override
public void init() throws ServletException {
    // 서블릿 초기화 로직
}

service()

service() 메서드는 클라이언트의 요청에 대한 처리를 담당하는 메서드입니다. 이 메서드를 재정의하여 요청에 따른 응답 로직을 구현할 수 있습니다.

@Override
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
    // 요청 처리 로직
}

destroy()

destroy() 메서드는 서블릿 인스턴스가 소멸되기 전에 호출되는 메서드입니다. 이 메서드를 재정의하여 리소스의 해제나 정리 작업을 수행할 수 있습니다.

@Override
public void destroy() {
    // 종료 로직
}

참고 자료