본문 바로가기

Web/Servlet

Servlet

Servlet

클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스

 

Servlet 특징

  • Thread 방식으로 실행
  • 컨테이너 상관없이 실행된다. (컨테이너로부터 독립적)
  • 웹 브라우저(html)에서 요청시 기능을 수행한다.
  • MVC 패턴에서 Controller로 이용된다.

 

Servler Class 계층 구조

  • Servlet : Servlet 관련 추상 메서드 선언
  • Servlet Config : Servlet 기능 관련 추상 메서드 선언
  • Generic Servlet : 상위 두 가지 (Servlet , Servlet Config)인터페이스를구현하여일반적인 Servlet 기능 구현
  • HttpServlet : Http 프로토콜 서비스 지원. Http를 사용하는 웹브라우저에서 Servlet 기능 수행

 

Servlet 생명주기 메서드

객체 생성   Servlet이 최초로 요청된 경우 Servlet클래스를 메모리에 로딩하여 객체 생성.
생성된 객체는 메모리에 계속 존재하므로 이후 Servlet 요청 시 새로운 객체를 생성하지 않고 메모리에 로드된 Servlet 객체를 사용한다.
init() 초기화 Servlet 요청 시 최초 호출. 초기화 작업
doGet(), doPost() 작업 수행 Servlet 요청 시 매번 호출. 요청에 대한 작업 진행
destroy() 종료 Servlet 기능 수행 후 메모리에서 소멸될 때 호출. 마무리 작업 수행

 

Servlet 동작 과정