Java

[Spring Boot] 정적 리소스 기본 설정 및 추가 설정 방법

cob 2023. 6. 19. 13:40

 

정적 리소스란?
정적 리소스는 일반적으로 HTML, CSS, JavaScript, 이미지 파일, 동영상 파일 등과 같은 정적 콘텐츠를 말한다. 이러한 리소스는 클라이언트로부터의 요청이 발생하면 서버에서 추가적인 처리 없이 그대로 전달됩니다. 서버는 단순히 요청된 정적 파일을 찾고, 해당 파일을 클라이언트로 보내주는 역할을 수행한다.

 

 

 


1. 기본 리소스 위치

정적 리소스 맵핑 ( /** )
ex) /hello.html 요청 => /static/hello.html 파일이 있으면 해당 파일을 응답한다.
1. classpath:/static
2. classpath:/public
3. classpath:/resources/
4. classpath:/META-INF/resources

정적 파일

 

hello.html

  • 기본 적으로 ROOT부터 맵핑이 되어있다. (localhost:8080/)

 

 


2 application.properties 맵핑 경로 변경 방법

모든 기본 리소스 위치를 제거하고 새로운 맵핑 경로를 설정하게 된다.
spring.mvc.static-path-pattern=/static/**

변경된 경로

 

 


3.  새로운 정적 리소스 위치 추가 방법

기본 리소스 위치에서 새로운 경로를 추가하는 방법이다.

3-1) 설정 파일(Class) 생성

package com.example.demo.config;


import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/m/**")           // 해당 경로의 요청이 올 때
                .addResourceLocations("classpath:/m/") // classpath 기준으로 'm' 디렉토리 밑에서 제공
                .setCachePeriod(20);                   // 캐싱 지정
    }
}

  • 경로에 맞는 디렉터리를 생성하고 파일을 위치시킨다.

 

3-2) 요청

반응형