jsp과 servlet의 차이

servlet

  • 웹페이지를 동적으로 처리하기 위한 자바 클래스
  • .java 확장자를 가진 자바 파일에 HTML 코드가 내부에 들어가는 형식
    (= java파일에 html 내용을 작성)
  • Controller

jsp

  • servlet 클래스 내부에 반복적으로 작성하는 html 보일러플레이트 코드를 제거하기 위함
  • HTML문서에 내부적으로 자바문법을 사용할 수 있게 하는 웹페이지 스크립트 언어
    (= HTML 파일에 자바 코드를 작성)
  • View

스프링과 스프링부트

스프링의 등장 이유

  • 서블릿과 jsp의 사용으로 MVC패턴 분리가 가능해짐

  • 하지만 웹페이지 하나에 서블릿 하나를 생성하는 방식은 두 가지 단점을 가지고있음
    1. 서블릿을 다루기 위해 사용되는 멀티스레드는 다루기 어렵다
    (하드웨어나 소프트웨어적으로 서버의 자원을 관리하기 어려움)
    톰캣

    1. 공통 로직(보일러플레이트 코드)가 중복됨
      보일러플레이트 로직
  • 스프링 프레임워크를 사용하게 되면서 개발자는 Handler(Controller)의 개발에만 집중 가능

스프링의 디스패처서블릿

스프링부트

  • 스프링 프레임워크를 사용하기 위해 필요한 여러 환경설정을 자동화, 내장한 프로젝트의 이름
    (web.xml, WAS 종류와 버전, dependency, war 파일, classloader, 배포, logging)

    2012년, 스프링부트의 필요성에 대한 이슈 (Containerless 웹어플리케이션의 필요성)
    https://github.com/spring-projects/spring-framework/issues/14521

profile
기술을 공부하는 기술자

0개의 댓글

Powered by GraphCDN, the GraphQL CDN