정적 페이지

정적페이지는 말 그대로 우리가 작성한 html 등을 그대로 화면에 보여주는 것입니다.

(다른 가공 및 DB와 통신 없이)

MVC와 템플릿엔진

아래와 같이 GetMapping 에노테이션을 통해 "hello-mvc" 랑 맵핑 해준다.

즉 /hello-mvc 경로랑 맵핑 해준다는 이야기

이번에는 RequestParam 에노테이션을 통해 name이라는 값을 받을 수 있도록 해주자.

그리고 해당 맵핑된 Model에 addAttribute로 받은 name값을 넣어 주도록 하자

return "hello-template"을 해주면 resources > tempates 의 hello-template.html 과 맵핑된다.

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

큰 그림을 그려보면, 내부에서는 아래 처럼 동작한다.

웹브라우저가 /hello-mvc 경로로 요청 하면 스프링 부트의 내장 톰캣 서버가 받아서

/hello-mvc과 맵핑되어 있는 컨트롤러가 있는지 확인하고 있으면,

해당 컨트롤러 동작에 따라서 hello-template.html 과 model에 우리가 추가로 받은 name의 데이터를

viewResolver한테 전달해서 HTML로 변환 후 웹브라우저에 그리는 형식이다.

그림으로 보면 아래와 같다.