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편 - 백엔드 웹 개발 핵심 기술』
'Spring' 카테고리의 다른 글
TDD, BDD 차이점 및 Given-When-Then Pattern (0) | 2021.11.25 |
---|---|
RequestMappingHandlerAdapter (0) | 2021.11.16 |
@RequestBody, @ResponseBody (0) | 2021.11.16 |
Controller에서 HTTP request parameter 조회하는 방법 (0) | 2021.11.15 |
Controller method parameter types (0) | 2021.11.12 |