Servlet 라이프 싸이클1

oyeon·2021년 1월 8일
0
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;
    
    // WAS는 서블릿 요청을 받으면 해당 서블릿이 메모리에 있는지 확인.
    // 메모리에 LifecycleServlet 객체가 없다면 호출(최초 실행시 호출)
    	// 해당 서블릿 클래스를 메모리에 올림 
    	public LifecycleServlet() {
        	System.out.println("LifecycleServle 생성!!");
    	}
	public void init(ServletConfig config) throws ServletException {
		System.out.println("init 호출!!");
	}

	// WAS가 종료되거나 웹 어플리케이션이 갱신(코드 수정)될 경우
	public void destroy() {
		System.out.println("destory 호출!!");
	}

	// 요청이 들어올 때 응답해야 하는 모든 내용은 service 메서드에서 구현
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("service 호출!!");
	}
}

service(request, response) 메서드

HttpServlet의 service 메서드는 템플릿 메서드 패턴으로 구현

  • 클라이언트 요청이 GET일 경우에는 자신이 가지고 있는 doGet(request, response) 메서드 호출
  • 클라이언트의 요청이 POST일 경우에는 자신이 가지고 있는 doPost(request, response) 메서드 호출
profile
Enjoy to study

0개의 댓글