쌓고 쌓다
[SpringBoot] 정적 컨텐츠(Static Content) 본문
정적 컨텐츠: 웰컴 페이지처럼 서버에서 작업 없이 웹 페이지(파일)를 그대로 웹 브라우저에 내려줌.
MVC와 템플릿 엔진: JSP, PHP가 템플릿 엔진이다. html을 서버에서 프로그래밍(변형)해서 동적으로 바꿔 내려줌.
API: JSON 데이터를 클라이언트에 내려줌.
스프링 부트는 기본적으로 /static 폴더에서 정적 컨텐츠를 가져온다.
아래의 경로에 html 파일을 작성하고 localhost:8080/hello-static.html로 요청해 보자.
경로
resources/static/hello-static.html
요청 결과
정적 컨텐츠 이해
hello-static.html을 내장 톰켓 서버가 먼저 요청을 받고. 이 요청을 스프링한테 넘긴다.
스프링에서 hello-static 컨트롤러를 찾는다. 이와 매핑된 컨트롤러가 없다. 그다음,
resources에 static/hello-static.html을 찾는다. 존재하기에 이것을 반환해 준다.
먼저 컨트롤러에서 hello-static.html을 찾아봤으니 컨트롤러가 우선순위를 갖는다.
우선순위를 확인해 보기 위해
hello-static 컨트롤러를 하나 만들어보자.
@Controller
public class StaticController {
@GetMapping("hello-static.html")
public String test(Model model) {
return "static";
}
}
hello-staic.html로 요청이 오면 templates/static.html을 반환할 것이다.
하지만 아래의 사진을 보면 static/hello-static.html과 templates/static.html이 존재해서
hello-static.html로 요청이오면 무엇이 우선순위를 가질지 모른다. 요청을 보내보자.
요청 결과
'프로그래밍 > spring' 카테고리의 다른 글
회원 도메인과 리포지토리 만들기 (0) | 2023.04.29 |
---|---|
[Spring] API (0) | 2023.03.22 |
[Spring] MVC와 템플릿 엔진 with @RequestParam (0) | 2023.03.18 |
[SpringBoot] 프로젝트 빌드하고 실행 with 빌드 에러 (0) | 2023.03.11 |
[SpringBoot] 웰컴 페이지 만들기 (0) | 2023.03.04 |