본문 바로가기
Learning-log/Spring & JPA

(스프링MVC1편-백엔드 웹 개발 핵심 기술) 1-(5) 자바 백엔드 웹 기술 역사

by why제곱 2023. 5. 1.

자바 백엔드 웹 기술 역사

  • 서블릿 : HTML 생성 어려움
  • JSP : HTML 생성은 편리, 비즈니스 로직까지 너무 많은 역할 담당
  • 서블릿, JSP 조합 MVC 패턴 사용 : 모델, 뷰, 컨트롤러 역할 나누어 개발
  • MVC 프레임워크 춘추전국시대(2000초 ~ 2010 초) 
    • MVD 패턴 자동화, 복잡한 웹 기술 편리하게 사용할 수 있는 다양한 기능 지원
  • 애노테이션 기반의 스프링 MVC 등장
    • @Controller 
    • MVC 프레임워크의 춘추전국시대 마무리
  • 스프링 부트의 등장
    • 스프링 부트는 서버 내장
    • 과거에 서버에 WAS 직접 설치, 소스는 War 파일을 만들어서 설치한 WAS에 배포
    • 스프링 부트는 빌드 결과에 WAS서버 포함 -> 빌드 배포 단순
  • 스프링 웹 기술의 분화
    • 웹 서블릿 - Spring MVC
    • Web Reactive - Spring WebFlux
      • 비동기 넌 블러킹 처리
      • 최소 쓰레드로 최대 성능 - 쓰레드 컨텍스트 스위치 비용 효율화
      • 함수형 스타일로 개발 - 동시처리 코드 효율화
      • 서블릿 기술 사용 x
      • 기술적 난이도 매우 높음
      • 아직 RDB 지원 부족
      • 일반 MVC의 쓰레드 모델도 충분히 빠름
      • 실무에서 아직 많이 사용은 X
  • 자바 뷰 템플릿 역사 : HTML을 편리하게 생성하는 뷰 기능
    • JSP
      • 속도 느림, 기능 부족
    • 프리마커, 벨로시티
      • 속도 문제 해결, 다양한 기능
    • 타임리프
      • 내추럴 템플릿 : HTML 모양 유지하면서 뷰 템플릿 적용 가능
      • 스프링 MVC와 강력한 기능 통합
      • 최선의 선택, 단 성능은 프리마커, 벨로시티가 더 빠름