🔅 목차
✅스프링 웹 개발 기초
✔#1 정적 컨텐츠
#2 MVC와 템플릿 엔진
#3 API
🔅 웹을 개발하는 방법 3가지
🔅 정적 컨텐츠(Static Content)
스프링부트는 클래스 경로 하위의 아래와 같은 디렉토리에서 정적콘텐츠를 찾아 제공
정적 리소스 매핑 url 패턴은 다음과 같음
기본적으로 /** (루트)부터 매핑되며, 만약 http://localhost:8080/hello.html 을 요청하면 정적 리소스 location(위치)에서 찾아 응답.
정적 리소스 location(위치)는 서버가 정적 리소스를 찾을 디렉토리를 의미하며, 스프링 부트의 기본 정적 리소스 위치는 다음과 같음.
정적 리소스에 대한 요청의 응답은 Spring MVC의 ResourceHttpRequestHandler가 처리함. 그러므로 자체 WebMvcConfigurer를 추가하고 addResourceHandlers 메소드를 재정의하여 해당 동작을 수정할 수 있음.
// 예시
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("m/**")
.addResourceLocations("classpath:/m/")
.setCachePeriod(20)
;
}
}
/m/** 패턴 요청시 classpath의 /m/ 디렉토리에서 정적 리소스를 찾아 응답하도록 하는 설정으로, setCachePeriod를 통해 캐싱 전략을 설정해주어야 함 (초 단위)
<!DOCTYPE html>
<html>
<head>
<title>static content</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>
<body>
정적 컨텐츠 입니다.
</body>
</html>