[스프링 입문] - 스프링 웹 개발 기초(2)

stephanie·2022년 10월 9일
0

스프링 입문

목록 보기
6/13

MVC와 템플릿 엔진

템플릿 엔진: JSP, PHP 처럼 html을 그냥 주는 것이 아니라 서버에서 프로그래밍해서 html을 동적으로 바꿔 내려주는 것!
이것을 하기 위해서 Model, View, Controller 활용
예전에는 View에 모든 것을 다 넣어서 만들었다. 이를 Model 1 방식이라고 한다.
View는 화면을 그리는 역할, Controller나 모델 관련 부분은 비즈니스 로직과 관련이 있거나 내부적인 문제에 집중해야 한다.
=> 이를 위해 나온 것이 MVC이다!

HelloController에 hello-mvc를 받는 메소드를 추가해 준다.

templates 폴더 하위에 hello-template.html을 작성한다.
thymeleaf의 장점은 위와 같은 파일을 서버 없이 파일 경로로 열어보아도 화면을 볼 수 있게 해준다는 것이다.
템플릿이 동작하면(실제 서버가 돌면) hello! empty 부분이 hello + ${name} 부분으로 치환된다.
주소창에 ?name=spring!! 등으로 값을 넣어주면 모델에 담기고, 이것이 템플릿(hello-template)으로 넘어가서 화면에 띄워지게 된다.

1. 내장 톰캣 서버가 스프링 컨테이너에게 hello-mvc가 입력되었음을 알려준다.
2. 스프링은 helloController에 매핑되어 있는 메소드를 호출해 준다. hello-template에 반환함과 동시에 모델에 name:spring!!을 함께 넣어준다.
3. viewResolver가 동작해 templates/hello-template을 찾아서 thymeleaf 템플릿 엔진 처리를 해달라고 넘긴다.
4. 변환된 HTML이 웹 브라우저로 띄워진다.

** 정적 컨텐츠의 경우 변환 없이 그대로 띄워졌었다

0개의 댓글