[WEB]

[JSP / Servlet] Servlet Life-Cycle(서블릿 생명주기), 생명주기 관ㄹ현 메서드

ddgoori 2020. 6. 7. 17:26

[JSP / Servlet] Servlet Life-Cycle(서블릿 생명주기), 생명주기 관ㄹ현 메서드

: 사용자의 요청에 의해서 생성된 Servlet의 생명주기(생성, 실행, 종료)에 대해 학습

 

지난 번 것 복습 : 사용자가 요청하면 그때부터 시작하고, 그것에 대해 응답을 함으로서 서블릿의 역할을 다하게됨

 

Servlet 생명주기

 

Init 시작

service 열심히 일함

destroy 소멸

 

서블릿이 시작하기 전에 준비하는 단계가 있음

그것이 @PostConsruct임

 

다 종료하고 나면

@PreDestroy 단계를 거침

 

이닛 단계와 디스트로이 단계가 필요없으면

그냥 포스트 실행만 해주면됨

 

@PostConstruct 어노테이션을 시키면

개발자만의 별도의 선언을 해서 사용가능함

@PreDestroy 도 개발자가 별도의 이름을 만들어서 별도로 실행 가능함

 

 

생명주기 관련 메서드

 

package com.javaProject;

import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class ServletTest
 */
@WebServlet("/ST")
public class ServletTest extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public ServletTest() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}
	
	// 이건 개발자가 이름 마음대로 정해도 됨 근데 어노테이션을 잘 맞춰줘야
	@PostConstruct
	public void postConstruct() {
		System.out.println("POST CONSTRUCT");
	}
	
	/**
	 * @see Servlet#init(ServletConfig)
	 */
	
	// 서블릿 생성 
	@Override
	public void init(ServletConfig config) throws ServletException {
		// TODO Auto-generated method stub
	}

	
	/**
	 * @see Servlet#destroy()
	 */
	//서블릿 종료 
	@Override
	public void destroy() {
		// TODO Auto-generated method stub
	}
	
	// 이것도 개발자가 마음대로 정해도도미 어노테이션만 잘해주기
	@PreDestroy
	public void preDestroy() {
		System.out.println("PREDESTROY");
	}

}