본문 바로가기
영상 후기/Spring Boot

영상 후기 - [10분 테코톡] 🌻타미의 Servlet vs Spring

by 올리브영 2023. 3. 15.
728x90
반응형

movie

Servlet

  • 웹 애플리케이션을 만들 때 필요한 인터페이스

Spring Web MVC

  • Spring - Spring Framework에 있는 모듈
  • Web - Web Service를 만든다.
  • MVC - MVC 패턴을 사용.
  • Spring Web MVC가 Sevlet를 사용한다.

Sevlet & Sevlet을 사용하는 Spring Web MVC


 

Sevlet은 왜 생겼을까?

  • 초기에는 정적 데이터만 처리만 가능하였다.
  • CGI : Web Server와 프로그램 사이의 규약
  • 그 이후에는 CGI(Common Gateway Interface)가 생겨 동적 데이터 처리가 가능해졌다.

CGI의 문제

  • 요청(Request)가 들어올 때마다 Process를 만들게 된다. -> 개선: Process에서 Thread로 만들게 함.
  • 같은 CGI 구현체를 사용해도 요청 Thread가 다르면 하나씩 CGI 구현체가 생긴다. -> 개선: 여러 Instance에서 Singleton으로(Servlet)

 

CGI를 보완한 Servlet

  • Web Server는 정적 데이터를 처리한다.
  • WAS(Web Application Sever)는 동적 데이터를 처리한다.
  • WebContainer : 요청이 들어오면 Thread를 생성하고, Servlet을 실행시킨다. Servlet Interface에 따라 Servlet을 관리한다.

Spring Web MVC에서는 Servlet을 어떻게 사용할까?

  • Dispatcher Servlet을 사용해서 Spring Web MVC에서는 Servlet을 사용한다.
  • 모든 요청이 들어왔을 때, Dispatcher Servlet으로 간다.
  • Handler Mapping을 통해서 요청에 따라 적절한 Controller를 찾는다. 찾는 방법은 Spring Framework에서 제공한다.
  • Controller를 찾았으면 Handler Adapter를 통해 Controller를 호출한다. 

 

728x90
반응형