
간단하게 예시를 만들어 보자.

resouce 밑에 생성되어 있는 static에 html 파일을 만들고 실행해보았다.

간단한 문장을 띄우는 파일을 구현했으며, 파일을 실행한 것을 웹 브라우저에서 보려면 파일이름을 아래와 같이 직접 입력하면 된다.

그러면 구현한 html 파일 그대로 웹브라우저에 표현된 것을 볼 수 있다.
서버에서 프로그래밍을 거치고 웹브라우저에 html등의 파일을 내리는 것
MVC : Model, View, Controller
예전에는 view를 많이 사용하였지만, 요즘은 model을 활용하는 경우가 많다. 그리고 view와 컨트롤러를 분류해서 사용한다.
이전에 만들었던 프로젝트를 활용하여 실습해보자.

먼저 이전 장에서 만들었던 HelloController에 추가로 model을 이용해서 맵핑한다.

"name"을 key로 설정하고 hello-templete를 반환하도록 했다.
그렇다면 당연히 hello-templete을 만들어 서버가 리턴값으로 찾아낼 수 있는 파일을 만들어야 한다. 따라서 templetes 밑에 Hello-templete이라는 html 파일을 만든다.

그리고 나서 실행시키면 아래와 같이 에러 페이지가 뜬다. 그리고 터미널에 그 다음 사진과 같은 메시지가 뜬다.


이는 Controller에서 설정한 name이라는 parameter의 값을 설정해주지 않은 채로 웹페이지를 열었기 때문이다. 따라서 페이지를 열때 name에 spring!이라는 값을 할당해서 실행해 보자.

그러면 위 사진과 같이 페이지가 뜨는것을 확인할 수 있다.
이와 같은 MVC, 템플릿 엔진을 활용한 과정을 이미지로 표현해서 나타내면 다음 그림과 같다.

직접 해보자.
이번에도 Controller에 맵핑을 추가해서 구현해 보자.

사진속에 커서로 그래그 되어 있는 "@ResponseBody"라는 것은 http 프로토콜에서 body부에 해당 해당 데이터를 직접바로 넣어서 내리겠다라는 것을 의미하는 기능이다.
따라서 return 값인 hello + (name에 해당되는 값)이 그대로 페이지에 나오게 된다. 결과는 아래와 같다.

이런 식으로 데이터만을 페이지에 내려서 전달하는 것이 API의 기존적인 개념이다.
이러한 @ResponseBody 사용 원리를 요약한 그림으로 이해해 보자.

@ResponseBody의 내용을 부가 설명해보면,
@ResponseBody 를 사용
정도로 요약해 말할 수 있다.