1. 정적 리소스

- 웹 브라우저에 정적인 HTML, CSS, JS를 제공할 때 사용한다.

 

1.1 경로

- 클래스패스의 시작 경로이다.

종류 예시
/static
/public
/resources
/META-INF/resources
경로
src/main/resources/static/basic/hello-form.html
실행
http://localhost:8080/basic/hello-form.html

 

2. 뷰 템플릿

- 웹 브라우저에 동적인 HTML을 제공할 때 사용한다.

- 뷰 템플릿을 거쳐서 HTML이 생성되고, 뷰가 응답을 만들어서 전달한다.

 

2.1 경로

종류 예시
src/main/resources/templates 경로
src/main/resources/templates/response/hello.html

 

2.2 컨트롤러에서 뷰 템플릿을 호출하는 과정

① @ResponseBody가 없으면 뷰 리졸버가 실행되어서 뷰를 찾고 렌더링 한다. 

② 만약 @ResponseBody가 있으면 뷰 리졸버를 실행하지 않고, HTTP Message Body에 직접 문자를 입력한다.

③ 입력된 문자가 뷰의 논리 이름일 경우 해당 경로의 뷰 템플릿을 렌더링한다.

 

참고

- 『스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술』