서블릿

📁 서블릿 Servlet

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

기존 정적 웹프로그래밍의 단점을 보완하는 역할을 한다.

특징

  • 객체지향 등 자바의 일반적인 특징을 모두 가진다.
  • 일반 자바 프로그램과 달리 독자적으로 실행되지 못하고 톰캣과 같은 JSP/Servlet 컨테이너에서 실행된다.
  • 플랫폼 독립적으로 컨테이너 종류에 무관하게 실행된다.
  • MVC패턴에서 컨트롤러로 이용된다.

📁 서블릿의 Life Cycle

  1. 클라이언트가 요청을 하면 WAS는 해당 서블릿이 메모리에 있는지 확인한다.
  2. 서블릿이 처음 실행되는 경우, 서블릿 클래스를 메모리에 올리고 init()을 호출해 초기화한다.
  3. service()를 호출해 서블릿이 요청을 처리하도록 한다.
  4. service()는 특정 HTTP 요청을 처리하는 메서드(doGet(), doPost())를 호출한다.
  5. WAS가 종료되거나 서블릿 종료 요청이 있을 경우 destroy()를 실행해 서블릿을 종료한다.

Serlvet 클래스의 메서드

  메서드 특징
초기화 init() 서블릿 요청시 맨 처음 한번만 호출
서블릿 객체의 초기화 작업 수행
작업 수행 service() 표준 HTTP 요청을 전달받아 doXXX() 호출
doGet()
doPost()
서블릿 요청시 매번 호출되어 요청받은 작업 수행
종료 destroy() 서블릿이 기능을 수행하고 메모리에서 소멸될 때 호출
서블릿의 마무리작업 수행