티스토리 뷰

Spring&Spring Boot/JSP

Servlet Lifecycle

on1ystar 2019. 1. 18. 00:19
728x90
반응형
본 글의 목적은 제가 공부한 내용을 바탕으로 정리하면서 저와 같이 공부하시는 분 들을 위함입니다. 때문에 부족한 부분이 있을 수 있고, 잘못된 부분이 있을 수 있습니다. 만약 있을 경우, 생각을 고칠 수 있도록 저에게 알려주시면 정말 감사하겠습니다 !!




Servlet 생명 주기



모든 서블릿은 다음과 같은 순서대로 메소드들을 호출하며 생성되었다가 소멸되는 생명 주기를 가집니다.


1. init() 메소드를 호출하여 초기화


2. service() 메소드를 호출하여 클라이언트의 요청을 처리


3. destroy() 메소드를 호출하여 종료


이러한 메소드들은 웹 컨테이너가 서블릿을 생성할 때 호출해줍니다.


( 출처 : https://www.tutorialspoint.com/servlets/servlets-life-cycle.htm )


위에서 보이는 것 처럼 각각의 메소드들을 어노테이션으로 오버라이드해서 사용하면 됩니다.

service() 메소드는 직접 사용하기 보다는 doGet이나 doPost 메소드를 주로 이용합니다.

각각의 메소드들에서 주로 처리하는 업무를 간단하게 알아보겠습니다.


init() 메소드

Init() 메소드는 한 번만 호출됩니다. 오로지 서블릿이 생성 될 때만 호출되며 이후, 사용자의 요청에 호출되지 않습니다.
주로 반복적으로 해야하는 기본 세팅을 담는 것이 일반적입니다.
예를 들어 DB에 접속하는 로그인, 패스워드들의 정보를 담아 서블릿이 생성될 때 자동으로 초기화해주어 접속되게끔 할 수 있습니다.

service() 메소드

이 메소드에서는 실제 작업들이 이루어 집니다. 즉, 클라이언트의 요청을 처리하고 그에 대한 응답을 하는 request, response들을 처리합니다.
이 단계에서 가장 자주 사용하는 메소드가 바로 doGet()과 doPost메소드 입니다.

destroy() 메소드

destroy() 메소드 역시 init() 메소드와 같이 라이프 사이클이 끝날 때 한 번만 호출됩니다.

이 메소드에서는 DB의 연결을 해제하거나, 서버의 리소스들을 다시 반납해주는 일련의 정리 활동들을 수행할 수 있게 해줍니다.

728x90
반응형

'Spring&Spring Boot > JSP' 카테고리의 다른 글

JSP 스크립트  (0) 2019.01.19
doGet, doPost  (3) 2019.01.18
HttpServlet  (2) 2019.01.17
Servlet Mapping  (0) 2019.01.11
JSP와 Servlet 비교  (1) 2019.01.11
댓글