[스프링 부트] chapter 17. 스프링 웹 MVC 4부 정적 리소스 지원
스프링 웹 MVC 4부 정적 리소스 지원
리소스 매핑 “/**”
기본 리소스 위치
-
classpath:/static
-
classpath:/public
-
classpath:/resources/
-
classpath:/META-INF/resources
예) “/hello.html” => /static/hello.html
-
spring.mvc.static-path-pettern: 매핑 설정 변경 가능
예) spring.mvc.static-path-pettern=/static/** 으로 설정하면 static 파일 접근 시 http://localhost:7777/static/hello.html과 같이 패스 경로를 바꿔준다.
-
spring.mvc.static-locations: 리소스 찾을 위치 변경 가능
Last-Modified 헤더를 보고 If-Modified-Since 헤더 값보다 최신이 아닐경우 304응답을 보내며 캐싱된 데이터 사용 (속도 더 빠름)
ResourceHttpRequestHandler가 처리함
-
WebMvcConfigurer의 addResourceHandlers로 커스터마이징 할 수 있음
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/m/**")
.addResourceLocations("classpath:/m/") // 반드시 /로 끝나야함
.setCachePeriod(20); // 단위는 초
}
}