영상 후기 - Servlet vs Spring

‍bng4535·2023년 3월 15일
0

movie

Servlet

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

  • Servlet이 생긴 이유

    • Web Server는 정적 데이터만을 전달
    • 사용자 요청에 따른 처리가 불가능
  • CGI

    • 웹서버와 외부 프로그램 사이에서 정보를 주고받는 방법이나 규약
    • CGI 구현체와 web server가 통신하게 하여 동적 웹 페이지
    • 많은 사용자를 처리하기에는 무리(request 마다 쓰레드와 CGI구현체 생성)
  • Servlet

    • 하나의 CGI 구현체(싱글톤) => Servlet

    • WAS 내 Web container가 요청마다 쓰레드를 생성하고 쓰레드를 Servlet구현체에 연결

    • 메서드

      • Init : Servlet Instance 생성
      • Service : 실제 기능이 수행되는 곳 (doXXX 메서드)
      • Destroy : Servlet Instance가 사라진다

Spring에서의 Servlet

  • Dispatcher Servlet

    • 모든 요청을 Dispatcher Servlet으로 간다.
    • Dispatcher Servlet은 요청에 따라 적절한 Controller를 찾는다(Handler Mapping)
    • controller는 요청을 처리하고 model and view 객체 생성 dispatcher servlet에 도달
    • view resolver는 view이름으로 실제 view객체 생성
    • dispatcher servlet에서 view에 model을 전달
    • 클라이언트에게 전달

Spring MVC에서의 Dispatcher Servlet 장점

  • Front Controller 패턴의 적용
    • 모든 요청이 Dispatcher Servlet으로 진입하기 때문에, 클라이언트와 서버 사이에서의 중앙 집중적인 관리가 가능해진다.
  • 효율적인 Request Handling
    • Dispatcher Servlet은 모든 요청을 한 곳에서 처리하므로, 클라이언트 요청에 대한 Request Handling이 효율적으로 이루어진다.
  • 다양한 View Resolver
    • 개발자가 쉽게 View 기술을 선택하고 변경하게 해준다.
  • Interceptor 제공
    • Spring은 Interceptor를 제공하여 요청 처리 전후에 로깅 보안 권한 등의 작업을 수행할 수 있다.
profile
공부 기록

0개의 댓글