init() - servlet이 생성되는 단계
service - servlet이 개발자가 구현한 기능을 통해 일을 하는 단계
destroy()- 일을 끝내고 servlet이 컨테이너에서 소멸되는 단계
*init되기 전 Servlet을 준비해주는 단계인 @PostConstruct / servlet이 소멸되고 나서 정리해주기 위한 단계인 @PreDestroy 단계도 존재.(개발자가 만드는 임의의 메소드이다.)
개발자가 만드는 임의의 메소드. init 단계 전에 실행됨.
@PostConstruct
public void beforeInit() {
//~~~~~~~~~~~~~~~`
}
init() 메소드를 재정의하여 사용. 공통적으로 일어나는 일을 다룰 때 많이 사용.
@Override
public void init() throws ServletException {
//~~~~~~~~~~~~~~~~~~
}
service 메소드가 존재하긴 하지만, 잘 사용하지 않음. 주로 doGet 메소드를 사용. servlet의 주요임무 담당
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//~~~~~~~~~~~~~~~~~~
}
destroy() 메소드를 재정의하여 사용. 자원 해제가 필요한 경우 많이 사용
@Override
public void destroy() {
//~~~~~~~~~~~~~~~~~~
}
개발자가 만드는 임의의 메소드. destroy단계 이후에 실행됨.
@PreDestroy
public void afterDestroy() {
//~~~~~~~~~~~~~~~~~
}
*꼭 모든 단계를 다 구현해야 할 필요는 없다. doGet 메소드만 구현하여도 상관없다.