개발하는 자몽

스프링 부트 공부 (4), 스프링 웹 개발 기초 본문

Java/Spring

스프링 부트 공부 (4), 스프링 웹 개발 기초

jaamong 2022. 1. 3. 17:40

정적 컨텐츠(Static Content)

  • 서버에서 프로그래밍 하는 것 없이 파일을 웹 브라우저에 그대로 보냄
  • 스프링 부트는 정적 컨텐츠 기능을 자동으로 제공

  1. 웹 브라우저 : localhost:8080/hello-static.html
  2. 스프링 부트
    1. 내장 tomcat 서버
      1. 스프링 컨테이너 : hello-static 관련 컨트롤러 X (컨트롤러가 1순위) → resource로 찾으러 떠나기
      2. resources : static/hello-static.html
  3. resources에 hello-static.html 있어서 웹 브라우저에 hello-static.html 반환

 

MVC(Model, View, Controller)와 템플릿 엔진

서버에서 html을 변형해서 주는 방식

  1. 사용자: Controller 조작
  2. Controller: Model 호출
  3. Model이 데이터를 이용하여 만들어낸 결과 return → Controller
  4. Controller는 View에 해당 결과를 반영
  5. 사용자는 해당 View를 봄

View

  • 프레젠테이션 영역
  • 사용자가 보게 될 결과 화면 출력
  • html, css, javascript를 모아둔 컨테이너

Controller

  • 비즈니스 로직 영역
  • 사용자의 입력처리와 흐름 제어 담당
  • 사용자가 접근한 url에 따라서 사용자의 요청사항을 파악한 후, 그 요청에 맞는 데이터를 Model에 의뢰하고, 데이터를 View에 반영해서 사용자에게 알려줌

Model

  • 백그라운드에서 동작하는 로직 처리
  • 데이터를 가진 객체, 파리미터로 주로 쓰임
  • DB의 테이블과 대응하는 경우가 많음

 

API

  • @ResponseBody 객체 반환
  • HttpMessageConverter를 통해서 JSON으로 바꿔서 반환
  • View 이런 것 없이 바로 Http Response에 값을 넣어서 반환

 

 

 

핵심 키워드

  • 정적 콘텐츠
  • MVC
  • API, JSON
  • 객체(Getter, Setter), @ResponseBody(HTTP의 Body에 문자 내용을 직접 반환) 
  • viewResolver, HttpMessageConverter

 

 

 

 

 

출처 및 참고

 

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/lecture/49578?volume=1.00&tab=note&mm=close&quality=720 

 

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 학습 페이지

지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요....

www.inflearn.com

https://wooaoe.tistory.com/15

 

[개발자 면접 대비] MVC 패턴 이란? (Model 1, Model 2)

MVC 패턴 파헤치기 https://coding-factory.tistory.com/69 참고 👩‍💻 MVC 패턴이란? MVC - Model, View, Controller의 합성어로 소프트웨어 공학에서 사용되는 소프트웨어 *디자인 패턴이다. *디자인 패턴이..

wooaoe.tistory.com

https://uhhyunjoo.tistory.com/49

 

[Spring] MVC 와 템플릿 엔진

MVC란? Model, View, Controller 의 약자. 어플케이션을 3가지의 역할로 구분한 '개발 방법론' 이다. 이 역할들이 서로 상호작용한 결과물이 사용자에게 보여지게 되는 것이다. 사용자가 Controller를 조작

uhhyunjoo.tistory.com

 

Comments