스프링 웹 개발 기초(2) : MVC와 템플릿 엔진

sylvie·2021년 11월 6일
0

스프링부트

목록 보기
6/11

MVC와 템플릿 엔진

MVC란?

'Model,View,Controller'를 의미한다.

Controller

@Controller
  public class HelloController {
      @GetMapping("hello-mvc")
      public String helloMvc(@RequestParam("name") String name, Model model) {
          model.addAttribute("name", name);
          return "hello-mvc";
      }
}

View

resources/template/hello-template.html

 <html xmlns:th="http://www.thymeleaf.org">
  <body>
  <p th:text="'hello ' + ${name}">hello! empty</p>
  </body>
  </html>

실행

http://localhost:8080/hello-mvc?name=spring

MVC, 템플릿 엔진 이미지


1. 웹 브라우저에서 url( http://localhost:8080/hello-mvc?name=spring )을 넘긴다.
2. 내장 톰캣 서버에서는 이 url을 스프링컨테이너로 던진다.
3. 스프링 컨테이너는 url과 mapping된 controller인 'helloController'를 찾고 해당 method를 호출한다.
그리고 그 method는 return을 해줄때 이름을 'hello-method'라하고, model에 url에 get방식으로 던진 param의 name을 'name'이라 담는다.
4. 스프링인 viewResolver(화면과 관련된 해결자)에서 동작을 한다. 이 viewResolver는 view를 찾아주고, 템플릿엔진을 연결해주는 역할을 한다.
이 viewResolver가 'templates/hello-template.html'을 찾아서 thymeleaf 템플릿 엔진에게 처리해달라고 넘긴다.
5. thymeleaf템플릿 엔진이 렌더링을 해서 변환을 한 HTML을 웹브라우저에게 반환한다.

0개의 댓글