어떤 객체의 생성부터 소멸까지의 과정
init() 👉 service() 👉 destroy()
Servlet 생성
package examples;
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;
@WebServlet("/LifecycleServlet")
public class LifecycleServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public LifecycleServlet() {
System.out.println("LifecycleServlet 생성");
}
public void init(ServletConfig config) throws ServletException {
System.out.println("init 호출");
}
public void destroy() {
System.out.println("destroy 호출");
}
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("service 호출");
}
}
📍 실행 하기
@WebServlet("/LifecycleServlet")
📍 다시 실행 하기 ( 두번 실행 )
서블릿은 서버에 서블릿 객체를 여러개 만들지 않는다.
요청된 객체가 메모리에 존재하는지 확인
한번 호출된 이후에는 계속 service()만 출력되고 있는 것을 확인할 수 있다.
public void init(ServletConfig config) throws ServletException {
System.out.println("init test 호출!!");
}
📍 실행 하기
destroy() 호출
서블릿이 수정후 destroy() 메소드에 의해 서블릿 제거
메모리에 있는 서블릿 객체는 더이상 사용 불가
📍 다시 실행 하기