정적 콘텐츠: 환영 페이지와 같이 서버에서 작업하지 않고 웹 페이지(파일)를 그대로 웹 브라우저에 놓습니다.
MVC 및 템플릿 엔진: JSP, PHP는 템플릿 엔진입니다.
html을 서버에서 프로그래밍(변형)하고 동적으로 바꾸어 내립니다.
API: JSON 데이터를 클라이언트에 다운로드합니다.
Spring Boot는 기본적으로 /static 폴더에서 정적 콘텐츠를 가져옵니다.
다음 경로에 html 파일을 만들고 localhost:8080/hello-static.html에서 요청해 봅시다.
경로
resources/static/hello-static.html
요청 결과
정적 콘텐츠 이해
hello-static.html이 포함된 톰켓 서버가 먼저 요청을 받습니다.
이 요청을 봄에 전달합니다.
Spring에서 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에서 요청이 오면 우선 순위가 무엇인지 알 수 없습니다.
요청을 보냅니다.
요청 결과