Servlet Life Cycle(서블릿의 생명 주기)

김규원·2024년 1월 22일

24.01: 실전! JSP(完)

목록 보기
5/13
post-thumbnail

인프런 강의 <<실전 JSP(renew ver.) 수강 후 공부를 위해 정리한 글입니다.

Servlet Life Cycle(서블릿의 생명 주기)

  • PostConstruct
    : init() 메서드 실행 전 우선 실행
    : 서블릿을 준비하는 단계
    : 서블릿 생행 전 필요한 작업이 있을 경우 구현

  • init()
    : 서블릿을 메모리에 올릴 때 실행.
    : 서블릿을 초기화

  • service()
    : 서블릿 실행 중에 실행
    : doGet, doPost 메서드를 이용하여 실행

  • destroy()
    : 서블릿 종료 요청이 발생할 경우 실행

  • @PreDestroy
    : 서블릿 종료 후 별도로 정리해야할 추가 작업이 있다면 구현

코드 구현



import java.io.IOException;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/tsc")
public class TestServletClass extends HttpServlet {
	private static final long serialVersionUID = 1L;
    public TestServletClass() {
        super();
        // TODO Auto-generated constructor stub
    }


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

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
	}
	
	@PostConstruct()
	public void postConstruct() {
		System.out.println("---postConstruct()--");
	}
	
	@Override
	public void init() throws ServletException{
		System.out.println("-----init()-----");
	}
	
	@Override
	public void destroy(){
		System.out.println("-----destroy()-----");
	}
	
	@PreDestroy
	public void preDestroy() {
		System.out.println("---preDestroy()---");
	}

}
  • 서버 가동 시 print 문이 차례로 출력되는 모습을 콘솔 창에서 볼 수 있음.
profile
행복한 하루 보내세요

0개의 댓글