● 정적 컨텐츠
● MVC와 템플릿 엔진
- 템플릿 엔진
: 동적으로 생성된 텍스트나 마크업을 생성하는 데 사용되는 소프트웨어나 도구이다.
템플릿이라고 불리는 기본 텍스트 파일을 가져와서 동적으로 데이터를 삽입하고 특정 형식으로 렌더링한다.
예) Thymeleaf, FreeMarker...
- MVC 실행 과정
1) 사용자의 요청(request): 클라이언트가 웹 애플리케이션에 요청을 보낸다.
요청은 특정 URL에 대한 HTTP 요청으로 표현된다.
2) 컨트롤러(controller) 처리: 클라이언트 요청 처리, 적절한 로직 수행한다.
입력 해석, 해당 요청에 대한 데이터 처리 로직 수행한다.
모델과 상호작용하여 데이터 가져오거나 변경한다
3) 모델(model) 업데이트: 모델은 애플리케이션의 상태와 비즈니스 로직을 나타낸다.
컨트롤러는 모델을 업데이트하고 필요한 비즈니스 로직을 수행한다.
모델이 변경되면, 이 정보는 다시 컨트롤러에게 반환된다.
4) 뷰(view) 렌더링: 뷰는 사용자에게 표시되는 부분으로, 컨트롤러로부터 전달받은 모델의 데이터를 사용하여
사용자 인터페이스를 생성한다.
모델의 상태에 따라 동적으로 변하는 내용을 생성하고, 사용자에게 보여주기 위해 HTML, XML, JSON 등을 생성한다.
5) 응답(response): 뷰가 생성한 결과물(HTML, JSON 등)은 클라이언트로 응답된다.
이 응답은 사용자의 웹 브라우저에서 렌더링되어 화면에 표시된다.
● API
- @ResponseBody
: 특정 메서드가 HTTP 응답의 본문(body)을 직접 처리하도록 표시하는 데 사용된다.
메서드의 반환 값이 HTTP 응답의 본문에 직접 쓰여진다.
객체를 반환할 경우 해당 객체를 JSON 형태로 변환된다.
'Spring Boot' 카테고리의 다른 글
[스프링 입문] (5) 회원 관리 예제 - 웹 MVC 개발 (0) | 2024.01.10 |
---|---|
[스프링 입문] (4) 스프링 빈과 의존관계 (0) | 2024.01.10 |
Thymeleaf란? (0) | 2023.12.31 |
[스프링 입문] (1) 프로젝트 환경설정 (0) | 2023.12.31 |
Spring Boot 라이브러리 (0) | 2023.08.11 |