[Java] - Servlet Lifecycle #150
Unanswered
Irisation23
asked this question in
Java
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Servlet Lifecycle
언젠간 다뤄야 했던, 미루고 미뤘던 숙원의 서블릿의 라이프사이클을 다루게 되었다.
스프링에 앞서 해당 주제를 미리 정리 해 보도록 하겠다.
1. What is
Servlet
?요청-응답
프로그래밍 모델을 통해 액세스되는 애플리케이션을 호스트하는 서버의 기능을 확장하는데 사용되는 Java 프로그래밍 언어 클래스이다.2. General Use
Servlet
javax.servlet
과javax.servlet.http
패키지에서 서블릿 이용을 위한 인터페이스와 클래스를 제공한다.우리가 이용할
HttpServlet
은 이미GenericServlet
을 확장한 클래스이다.즉 서블릿의 라이프 사이클 관리가 조금은 수월 해진다.
그리고 해당 클래스는
doGet()
과doPost()
메서드를 통해 여러 HTTP 관련 처리 서비스를 제공한다.3. Servlet Lifecycle
컨테이너
에 의해 제어된다.요청
이 들어오면컨테이너
는 아래의 과정을 거친다.존재하지 않는 경우
a.
웹 컨테이너
는 서블릿 클래스를 로드한다.b. 서블릿 클래스의 인스턴스를 만든다.
c.
init()
을 호출하여 서블릿 인스턴스를 초기화한다.요청 및 응답 개체
를 전달하여서비스 메서드
를 호출한다.컨테이너
는 서블릿의destroy()
메서드를 호출하여 서블릿을 해제한다.라이프사이클에 커스텀이 필요하다면, 직접 핸들링을 해줄 수 있다.
4. Handling Servlet Lifecycle Events
@WebListener
을 이용해 특정 웹 애플리케이션 컨텍스트에서 다양한 작업에 대한 이벤트 Listener 클래스를 정의 하면 된다.5. Handiling Servlet Errors
Beta Was this translation helpful? Give feedback.
All reactions