클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술

웹 요청을 받고 응답을 내보내는 기본 단위

클라이언트의 요청을 받고 요청을 처리하여 결과를 클라이언트에게 제공하는 자바 인터페이스

HTML을 사용하여 요청에 응답한다.

HTTP프로토콜 서비스를 지원하는 javax.servlet.HttpServlet을 상속받아 구현한다.

WAS에 의해 Servlet이 실행되며 그 결과는 WAS에 의해 다시 웹서버에게 전달된다.

Servlet Program의 기본적인 동작 과정

Servlet Program의 기본적인 동작 과정

  1. Web Server는 HTTP request를 Web Container(Servlet Container)에게 위임한다.

    web.xml 설정에서 어떤 URL과 매핑되어 있는지 확인

    클라이언트(browser)의 요청 URL을 보고 적절한 Servlet을 실행

    https://gmlwjd9405.github.io/2018/10/29/web-application-structure.html 참고

  2. Web Container는 service() 메서드를 호출하기 전에 Servlet 객체를 메모리에 올린다.

    Web Container는 적절한 Servlet 파일을 컴파일(.class 파일 생성)한다.

    .class 파일을 메모리에 올려 Servlet 객체를 만든다.

    메모리에 로드될 때 Servlet 객체를 초기화하는 init() 메서드가 실행된다.

  3. Web Container는 Request가 올 때마다 thread를 생성하여 처리한다.

    각 thread는 Servlet의 단일 객체에 대한 service() 메서드를 실행한다.

Servlet - Servlet 개념

[JSP] 서블릿(Servlet)이란?