본문 바로가기

서버/Servlet-JSP
Servlet 생명주기

//Servlet 생명주기(Life Cycle)

- Servlet은 최초 요청 시 객체가 만들어져 메모리에 로딩되고, 이후 요청 시에는 기존의 객체를 재활용한다.

1. Servlet 객체 생성 > 최초 한 번
1.5. 선처리: @PostConstruct
2. Init() 호출 > 최초 한 번
3. service(), doGet(), doPost() 호출 >  요청 시 매번
4. destroy() 호출 > 마지막 한 번 (자원 해제: servlet 수정, 서버 재가동 등)
4.5. 후처리:@PreDestroy


package com.servlet.ex;

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("/lifecycle")
public class LifeCycleEx extends HttpServlet {
    

    @Override
    public void init() throws ServletException {
        System.out.println("init");
    }
    
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("doGet");
    }
    
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("doPost");
    }
    
    @Override
    public void destroy() {
        System.out.println("destroy");
    }
    
    @PostConstruct
    private void initPostConstruct() {
        System.out.println("PostConstruct");
    }
    
    @PreDestroy
    private void destroyPreDestroy() {
        System.out.println("PreDestroy");
    }
    
}

'서버 > Servlet-JSP' 카테고리의 다른 글

JSP 구성 요소 - 스크립트  (0) 2023.01.01
Servlet Parameter  (0) 2022.12.30
Servlet-JSP GET 방식, POST 방식  (0) 2022.12.25
이클립스로 Servlet 프로그래밍 시작  (0) 2022.12.24
메모장으로 Servlet 프로그램 만들기  (0) 2022.12.22