📁 서블릿 Servlet
서버 쪽에서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스
기존 정적 웹프로그래밍의 단점을 보완하는 역할을 한다.
특징
- 객체지향 등 자바의 일반적인 특징을 모두 가진다.
- 일반 자바 프로그램과 달리 독자적으로 실행되지 못하고 톰캣과 같은 JSP/Servlet 컨테이너에서 실행된다.
- 플랫폼 독립적으로 컨테이너 종류에 무관하게 실행된다.
- MVC패턴에서 컨트롤러로 이용된다.
📁 서블릿의 Life Cycle
- 클라이언트가 요청을 하면 WAS는 해당 서블릿이 메모리에 있는지 확인한다.
- 서블릿이 처음 실행되는 경우, 서블릿 클래스를 메모리에 올리고 init()을 호출해 초기화한다.
- service()를 호출해 서블릿이 요청을 처리하도록 한다.
- service()는 특정 HTTP 요청을 처리하는 메서드(doGet(), doPost())를 호출한다.
- WAS가 종료되거나 서블릿 종료 요청이 있을 경우 destroy()를 실행해 서블릿을 종료한다.
Serlvet 클래스의 메서드
메서드 | 특징 | |
초기화 | init() | 서블릿 요청시 맨 처음 한번만 호출 서블릿 객체의 초기화 작업 수행 |
작업 수행 | service() | 표준 HTTP 요청을 전달받아 doXXX() 호출 |
doGet() doPost() |
서블릿 요청시 매번 호출되어 요청받은 작업 수행 | |
종료 | destroy() | 서블릿이 기능을 수행하고 메모리에서 소멸될 때 호출 서블릿의 마무리작업 수행 |