Servlet, Servlet Container

원모어깨찰빵·2024년 3월 7일
0

스프링

목록 보기
5/17
post-thumbnail

서블릿(Servlet)이란?

자바 서블릿이란 자바를 이용하여 동적으로 생성하는 서버 프로그램이다.
즉, 클라이언트의 요청(Request)이 오면 그에 대한 응답(Response)을 처리해주는 자바 웹 프로그래밍 기술이다.
서블릿을 사용하지 않으면 직접 HTTP 통신으로 오고가는 문자열을 파싱하는 기능을 구현하여야 한다.

서블릿의 흐름

  1. 개발자가 java파일을 작성한다.(.java)
  2. 컴파일시 자바 파일이 서블릿 클래스가 된다. (.class)
  3. 해당 자바 서블릿 클래스가 서블릿 컨테이너(Tomcat)에 등록된다.
  4. 클라이언트가 요청을 보낸다. (HTTP Request)
  5. 요청에 알맞는 서블릿이 실행된다.
  6. 서블릿 메소드가 실행된다.
  7. DB 연동 필요시 DB가 연동되어 데이터를 CRUD한다.
  8. 완성된 응답을 클라이언트에게 반환한다. (HTTP Response)

서블릿 컨테이너란(Servlet Container)?

클라이언트가 URL을 통하여 요청을 보내면 정보를 처리하기 위한 스레드를 만들고, 객체를 생성하고, 직접 서블릿을 Mapping하는 작업을 처리해주는 컨테이너이다.

서블릿 컨테이너의 흐름

  1. 클라이언트가 URL을 통하여 요청을 보내면 해당 HTTP Request를 Servlet Container로 전송한다.
  2. Servlet Container가 HttpServletRequest, HTTPServletResponse 두 객체를 생성하고, 클라이언트의 요청에 담긴 정보들을 객체에 담는다.
  3. 요청 URL을 분석하여 어느 서블릿에 대한 요청인지 찾는다.
  4. 찾은 서블릿에서 Service 메소드를 호출한 후 POST, GET 여부에 따라 doGET(), doPOST()를 호출한다.
  5. 요청에 대한 응답을 HTTPServlet Response객체에 담아 보낸다.
  6. 응답이 끝나면 두 객체가 모두 소멸된다.
    즉, 서블릿 컨테이너(Tomcat)는 소켓을 생성하여 서블릿과 웹 서버를 연결하여 준다.
profile
https://fuzzy-hose-356.notion.site/1ee34212ee2d42bdbb3c4a258a672612

0개의 댓글