본문 바로가기

언어 공부/Java

Servlet이란

Servlet

서블릿이란 ?

서버쪽에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스이다. 때문에 자바의 특징을 모두 갖고 있지만 일반 자바 프로그램과 다르게 독자적으로 실행되지 못하고 톰캣이나 컨테이너 같은 컨테이너에서 실행된다.

 

서블릿의 동작 과정

서블렛은 서버에서 실행되다가, 웹브라우저에서 요청시 해당기능을 수행한 후 웹 브라우저에 결과를 전송한다. 서버에서 실행되기 때문에 보안과 관련된 기능도 훨씬 안전하게 수행할 수 있다.

  1. 클라이언트에서 요청
  2. 웹서버에서 **웹 애플리케이션 서버(WAS)**에 위임
  3. WAS에서 서블릿 호출
  4. 서블릿 실행
  5. WAS로 결과 반환
  6. 웹 서버로 결과 전달
  7. 클라이언트에게 결과 응답

서블릿의 특징

  1. 서버 쪽에서 실행되면서 기능을 수행한다.
  2. 기존의 정적인 웹 프로그램의 문제점을 보완하여 동적인 여러가지 기능을 제공
  3. 스레드 방식으로 실행
  4. 객체지향의 특징을 갖는다.
  5. 컨테이너에서 실행된다.
  6. 플랫폼에 독립적이다.
  7. 보안 기능 적용에 수월하다.
  8. 웹 브라우저에서 요청시 기능을 수행

서블릿 계층 구조

  • 서블릿 클래스 계층 구조
    • 서블릿 API는 Servlet과 ServletConfig 인터페이스를 구현해 제공하며, GenericServlet 추상클래스가 이 두 인터페이스의 추상 메서드를 구현한다. 그리고 이 GenericServlet을 다시 HttpServlet이 다시 상속받는다.
    • HttpServlet
      • GenericServlet
        • Servlet
        • ServletConfig

서블릿 생명주기 ( Life Cycle )

서블릿 생명주기 메서드란 서블릿 실행단계마다 호출되어 기능을 수행하는 콜백 메서드를 말한다.

  • init() : 초기화 단계
  • doGet() , doPost() : 작업 단계
  • destroy() : 종료 단계

init 메서드는 초기에 수행 관련 기능을 설정하는 용도로 사용하고, doGet과 doPost로 핵심 기능을 처리후 destroy로 종료시킨다.

'언어 공부 > Java' 카테고리의 다른 글

Exception  (0) 2022.08.16
상속과 인터페이스 ( Feat. JAVA )  (0) 2022.08.13
자바 클래스  (0) 2022.08.11
JavaScript란  (0) 2022.08.02
JAVA 정리 - '5분 요약 자바'  (0) 2021.07.28