📕 목차
1. 응답 데이터(Response Data)
응답 데이터(Response Data)
- 클라이언트가 서버에 요청(Request)을 보낸 후, 서버가 이를 처리하고 클라이언트로 다시 보내는 데이터
- 클라이언트가 요청한 정보를 제공하거나, 처리 결과를 알려주는 중요한 역할을 한다.
응답 데이터 처리 방식
- 정적 리소스 (Static Resources)
- View Template (동적 HTML 생성)
- HTTP Message Body
2. 정적 리소스 (Static Resources)
정적 리소스 (Static Resources)
- 파일 형태로 서버에 저장된 데이터를 클라이언트에게 그대로 전송하는 방식이다.
- HTML, CSS, JavaScript, 이미지 파일(png, jpg 등) 같은 변경되지 않는 리소스들이 이에 해당한다.
* 정적 리소스 파일은 보통 src/main/resources/static 또는 src/main/resources/public 디렉토리에 저장된다.
클라이언트가 요청하면:
GET /images/logo.png
서버는 logo.png 파일을 그대로 응답한다.
3. View Template (동적 HTML 생성)
View Template (동적 HTML 생성)
- 동적으로 생성된 HTML 콘텐츠를 서버에서 클라이언트로 전달하는 방식이다.
- 서버는 클라이언트의 요청을 처리하고, 데이터를 바탕으로 HTML을 동적으로 생성하여 반환한다.
- Thymeleaf, JSP, Freemarker 등 다양한 템플릿 엔진을 사용해 서버에서 동적으로 생성한 HTML을 클라이언트에 전달한다.
- 데이터와 템플릿을 결합하여 응답을 생성한다.
- @ModelAttribute 또는 @RequestParam 으로 받은 데이터를 템플릿 엔진을 통해 HTML로 전달한다.
@GetMapping("/welcome")
public String welcome(Model model) {
model.addAttribute("message", "Hello, Spring!");
return "welcome"; // welcome.html (View Template)
}
<html>
<body>
<h1 th:text="${message}"></h1>
</body>
</html>
4. HTTP Message Body
HTTP Message Body
- 서버는 요청에 대해 JSON, XML 등의 구조화된 데이터를 HTTP 본문(body)에 담아 클라이언트에 전달한다.
- @ResponseBody, @RestController 어노테이션을 통해 JSON, XML 등을 반환한다.
- 주로 API에서 사용되며, RESTful 서비스에서 중요한 방식이다.
@GetMapping("/user")
@ResponseBody
public User getUser() {
return new User("John", 30);
}
{
"name": "John",
"age": 30
}
'Spring > 강의' 카테고리의 다른 글
[📕 기초 Spring] 5-4. 메모장 프로젝트 - ver2 (프론트 컨트롤러, 어댑터 패턴 적용) (0) | 2025.05.04 |
---|---|
[📕 기초 Spring] 5-3. 메모장 프로젝트 - ver1 (CRUD 실습, MVC 패턴 적용) (0) | 2025.05.04 |
[📕 기초 Spring] 5-1. 요청 데이터(클라이언트 → 서버)와 처리 방법 (0) | 2025.05.04 |
[📕 기초 Spring] 4-1. 스프링 주요 어노테이션(Annotation) (1) | 2025.05.03 |
[📕 기초 Spring] 3-3. Spring MVC (0) | 2025.05.03 |