정적페이지는 말 그대로 우리가 작성한 html 등을 그대로 화면에 보여주는 것입니다.
(다른 가공 및 DB와 통신 없이)
아래와 같이 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로 변환 후 웹브라우저에 그리는 형식이다.
그림으로 보면 아래와 같다.