굳이 알아야 할까?
Servlet의 LifeCycle... 생명주기라고 해야 하나요?? 개발하는 데 필수로 익혀야 할 내용은 아닙니다.
사용하는 기술에 대한 기본적인 내용을 알면 더 깊은 이해를 통해 양질의 작품을 만들 수 있다고 생각합니다.
Servlet의 Life Cycle
서블릿의 전체 생명주기는 javax.servlet.Servlet 인터페이스를 사용하여 서블릿 컨테이너에 의해 관리됩니다.
생명주기는 4단계로 구성됩니다.
- 서블릿은 init () 메서드를 호출하여 초기화됩니다.
- 서블릿은 service () 메서드를 호출하여 클라이언트 요청을 처리합니다.
- 서블릿은 destroy () 메서드를 호출하여 종료됩니다.
- 마지막으로, 서블릿은 JVM의 가비지 수집기에 의해 가비지 수집됩니다.
init() 메서드
서블릿이 작성될 때만 단 한 번 호출되며 나중에 사용자 요청에 대해 호출되지 않습니다.
서블릿은 일반적으로 사용자가 서블릿에 해당하는 URL을 처음 호출할 때 작성되지만 서버가 처음 시작될 때 서블릿이 로드되도록 지정할 수도 있습니다.
사용자가 서블릿을 호출하면 각 서블릿의 단일 인스턴스가 작성되고 각 사용자 요청으로 인해 새 스레드가 적절하게 doGet() 또는 doPost()로 전달됩니다.
init () 메서드는 단순히 서블릿 수명 동안 사용될 일부 데이터를 작성하거나 로드합니다.
service() 메서드
service() 메서드는 실제 작업을 수행하는 메인 메서드입니다.
Servlet Container는 service()를 호출하여 클라이언트에서 오는 요청을 처리하고 형식화된 응답을 클라이언트에 재전송합니다.
서버가 서블릿에 대한 요청을 수신할 때마다 서버는 새 스레드를 생성하고 서비스를 호출합니다. service()는 HTTP 요청 유형 (GET, POST, PUT, DELETE 등)을 확인하고 doGet, doPost, doPut, doDelete 등 적절하게 호출합니다.
따라서 service () 메서드와는 아무런 관련이 없지만 클라이언트로부터 수신 한 요청 유형에 따라 doGet () 또는 doPost ()를 재정의합니다.
doGet () 및 doPost ()는 각 서비스 요청에서 가장 자주 사용되는 메서드입니다.
doGet() / doPost()
GET 요청은 URL 또는 HTML 양식에 대한 일반 요청의 결과이며 doGet () 메서드로 처리해야 합니다.
POST 요청은 POST를 METHOD로 구체적으로 나열하는 HTML 양식에서 생성되며 doPost () 메서드로 처리해야 합니다.
destroy() 메서드
destroy()는 서블릿의 수명주기 종료 시 한 번만 호출됩니다.
이 메서드를 사용해 서블릿이 데이터베이스 연결을 close 하고 다른 정리 작업을 수행합니다.
destroy() 메서드가 호출된 후 서블릿 오브젝트는 가비지 컬렉션으로 표시됩니다.
'web > jsp&servlet' 카테고리의 다른 글
Form radio 속성과 Servlet (0) | 2020.07.10 |
---|---|
HTML 프로젝트 JSP 프로젝트로 바꾸기 (0) | 2020.07.10 |
[servlet] GET 요청 처리하기 (0) | 2020.07.07 |
Servlet을 이용해 웹 표시하기 (0) | 2020.07.03 |
Servlet을 처음 시작해보자!! (0) | 2020.07.01 |