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 호출!!");
}
}
HttpServlet의 service 메서드는 템플릿 메서드 패턴으로 구현