1. MVC와 템플릿 엔진
MVC: Model, View, Controller
과거엔 View와 Controller가 합쳐져 있어, View에서 모든걸 다 했다. JSP에서 다하는 Model1 방식 사용.
프로그래밍시 역할과 책임 분리!
View는 화면 그리는데 집중
Controller, Model는 비즈니스 로직과 관련있거나, 내부적인것 처리에 집중
Model에 화면에 필요한 것 담아 넘겨줌. ${키} 형태로 화면에서 받을 수 있다.
- src/main/java/hello/hello_spring/controller/HelloController.java
...
@GetMapping("hello-mvc")
public String helloMvc(@RequestParam("name") String name, Model model) {
model.addAttribute("name", name);
return "hello-template";
}
...
외부에서 파라미터 받을 때 @RequestParam 어노테이션 사용
- src/main/resources/templates/hello-template.html
<html xmlns:th="http://www.thymeleaf.org">
<body>
<p th:text="'hello ' + ${name}">hello! empty</p>
</body>
</html>
타임리프 템플릿 장점은, html을 서버 없이 절대 경로를 통해 파일 열어서 볼 수 있다.
템플릿 엔진으로 동작하면 th:text=""의 값으로 p태그 내용이 치환된다.
http://localhost:8080/hello-mvc 로 접속하면 오류가 생기는데, name 파라미터를 넣지 않았기 때문.
@RequestParam 어노테이션의 required = false 속성과 값을 넣으면 파라미터 없이도 작동. 기본값이 true 이다.
* 파라미터 정보 보기 : Command + P
http://localhost:8080/hello-mvc?name=spring! 로 접속한다.


viewResolver는 View를 찾아주고 템플릿 엔진과 연결시켜 준다.
정적 컨텐츠는 그대로 웹 브라우저에 넘겨주지만, 템플릿 엔진은 변환을 해서 넘겨준다.

페이지 소스를 보면 p태그 내용이 변환되어 있다.
[지금 무료]스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술| 김영한 - 인프런 강의
현재 평점 5.0점 수강생 120,508명인 강의를 만나보세요. 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다. 예제를 만들면서 자연스럽게 스
www.inflearn.com
'강의 실습 > 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술' 카테고리의 다른 글
| 비즈니스 요구사항 정리 (0) | 2026.03.01 |
|---|---|
| API (0) | 2026.02.28 |
| 정적 컨텐츠 (0) | 2026.02.26 |
| 빌드하고 실행하기 (0) | 2026.02.26 |
| View 환경설정 (0) | 2026.02.25 |
댓글