본문 바로가기
WEB/Spring

[Spring] 스프링 웹 개발 방법

by 서현 SEOHYEON 2022. 12. 21.

스프링 웹 개발은 크게 3가지 방법이 있다.

 

① 정적 컨텐츠

② MVC와 템플릿 엔진

③ API

 


🌸 정적 컨텐츠

- 파일을 "그대로" 내려줌

- 기본적으로 static 폴더에서 찾아서 내려줌

정적 컨텐츠 위치
정적 컨텐츠 실행

- 참고 문서

https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/spring-boot-features.html#boot-features-spring-mvc-static-content

 

Spring Boot Features

Graceful shutdown is supported with all four embedded web servers (Jetty, Reactor Netty, Tomcat, and Undertow) and with both reactive and Servlet-based web applications. It occurs as part of closing the application context and is performed in the earliest

docs.spring.io

 

 

 

 

🌸 MVC와 템플릿 엔진

- 가장 많이 사용하는 방법

- html을 동적으로 서버에서 변형시킴

- 뷰 리졸버가 동작

- 컨트롤러에서 리턴값으로 문자를 반환하면 뷰 리졸버가 화면을 찾아서 처리

- 스프링부트 템플릿엔진 기본 viewName 매핑: resources: templates/ + {viewName} + .html

컨트롤러
뷰 위치
뷰 파일. thymeleaf를 사용했다.
템플릿 엔진 실행

 

 

 

🌸 API

- JSON 같은 데이터 구조 포맷을 내려줌

- 서버끼리 통신할 때 주로 사용

- @ResponseBody를 사용하면 뷰 리졸버를 사용하지 않음

- 뷰 리졸버 대신 HttpMessageConverter가 동작

- HTTP의 Body부분에 데이터를 직접 반환

Hello 클래스 생성
컨트롤러
실행화면

- @ResponseBody를 사용하고, 객체를 반환하면 객체가 JSON으로 변환됨

 


이 글은 인프런 [스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술] 강의를 들으며 학습한 내용을 토대로 작성되었습니다.

댓글