WEB/DynamicWeb
[Servlet] init() & destroy()
춘햄
2021. 4. 26. 15:07
기초를 다루며 사용했던 doGet()은 서버에 요청이 들어올 때마다 호출되는 함수지만, 이번에 알아볼 init()과 destroy()는 각각 서버가 처음 실행되었을때, 서버가 종료되었을 때 사용되는 메서드이다.
package unit01;
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;
/**
* Servlet implementation class LifeCycle
*/
@WebServlet("/life")
public class LifeCycle extends HttpServlet {
private static final long serialVersionUID = 1L;
public void init(ServletConfig config) throws ServletException {
System.out.println("init()은 첫 요청 시에만 호출됨");
}
public void destroy() {
System.out.println("destroy()는 톰캣이 종료될 때만 호출됨");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doGet()은 메소드가 요청될 때마다 호출됨");
}
}
Servlet을 위와 같이 작성해서 실행시켜보면,
이렇게 init()은 처음 한번, get은 새로고침을 누를 때마다 출력이 되며, 서버를 종료하면
destroy 메서드가 실행된다.
반응형