Continuous Challenge

3. 스프링 웹 개발 기초 본문

Spring/스프링 입문 - 코드로 배우는 스프링 부트, 웹 MV

3. 스프링 웹 개발 기초

응굥 2022. 3. 7. 18:00
728x90
728x90

 

더보기

스프링 웹 개발 기초

 

1. 정적 컨텐츠

 - 파일을 그대로 웹 브라우저에 내려주는 것

2. MVC와 템플릿 엔진

 - 가장 많이 하는 방식.

 - JSP, PHP : 대표적인 템플릿 엔진

 - 서버에서 변형해서 뷰에 내려주는 것

 3. API

 - json 데이터 구조 포맷으로 클라이언트에 전달

 - Vue.js, React를 사용할 때에 많이 사용

 - 서버끼리 전송할 때

1. 정적 컨텐츠

 - 스프링 부트 정적 컨텐츠 기능

 https://docs.spring.io/spring-boot/docs/current/reference/html/web.html#web.servlet.spring-mvc.static-content

 1) 호출된 뷰와 관련된 컨트롤러가 있는지 확인

 2) 내부(resource)에 있는 html 파일을 찾아 반환

 

2. MVC와 템플릿 엔진

 - MVC : Model, View, Controller

 1) 컨트롤러 확인

 2) viewResolver가 리턴된 이름의 view 찾아 이를 변환하여 반환

 

3. API

- @ResponseBody : html 의 <body> 부분에 데이터를 직접 넣어주겠다는 의미.

json 방식

 1) Controller 확인

 2) @ResponseBody -> httpMessageConverter(jsonConverter, stringConverter) 호출

 3) 변환한 데이터를 요청한 웹 브라우저에 반환

 

@ResponseBody의 사용 원리

 - @ResponseBody 를 사용

  . HTTP의 BODY에 문자 내용을 직접 반환

  . viewResolver 대신에 HttpMessageConverter 가 동작

  . 기본 문자처리: StringHttpMessageConverter

  . 기본 객체처리: MappingJackson2HttpMessageConverter

  . byte 처리 등등 기타 여러 HttpMessageConverter가 기본으로 등록되어 있음

728x90
728x90
Comments