티스토리 뷰

개발

[JAVA] Servlet 생명주기

woody._.k 2019. 5. 21. 12:20

 

Servlet 생명주기

 

서블릿을 준비하는 단계 : @PostConstruct

  • 서블릿이 실행하기 전에 필요한 작업이 있다면 @PostConstruct라는 어노테이션을 이용해 별도의 함수를 정의하여 구현하면 된다.

 

서블릿 초기화 : init() 메서드

  • 클라이언트 요청이 들어오면 컨테이너는 해당 서블릿이 메모리에 있는지 확인한다.

  • 해당 서블릿이 메모리에 없을 경우, 서블릿을 메모리에 다시 적재해야 한다.

  • 이때, init() 메서드가 호출되며 각종 초기화 작업을 수행

  • 해당 서블릿에 각각의 스레드에서 공통적으로 사용하기 위해 필요한 작업이 있다면 init() 메서드를 오버라이딩해서 구현한다.

 

요청/응답 : service() 메서드

  • init() 메서드는 최초에 한 번문 수행되고 이후 요청은 스레드로 실행된다.

  • 각각 service()메서드를 통해 doGet()이나 doPost()로 분기된다.

  • 파라미터로 HttpServletRequestHttpServletResponse 클래스 타입인 request와 response 객체가 제공되며,

  • 사용자 요청 처리는 request로, 응답 처리는 response 객체로 처리한다.

 

서블릿 종료 : destroy() 메서드

  • 컨테이너로부터 서블릿 종료 요청이 있을 때 destroy() 메서드를 호출한다.

  • 서블릿이 종료되면서 정리해야 할 작업이 있을 때는 destroy() 메서드를 오버라이딩해서 구현하면 된다.

 

서블릿을 정리하는 단계 : @PreDestroy

  • 서블릿이 종료 된 후 별도의 정리해야 할 작업이 있다면 @PreDestroy 어노테이션을 이용해 별도의 함수를 정의하여 구현하면 된다.

 

Example :


output :

 

참고

  • 황희정, "프로젝트로 배우는 자바 웹 프로그래밍", 한빛아카데미
  • 실전 JSP (ver.2018) - 신입 프로그래머를 위한 강좌, 인프런
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함