everyday com-eat
작성일
2023. 4. 5. 19:14
작성자
갱수터
728x90
개발환경

IDE - sts4.16.1
java - 17.0.5
springboot - 3.0.5

 

src/main/resources/static/css 폴더에 제대로 css파일 넣고

html에 경로 "/css/style.css"로 잘 입력했는데

because its mime type ('application/json') is not a supported stylesheet mime type, and strict mime checking is enabled.

오류가 뜸

 

검색해보니 springboot는 classpath가 이미 설정되어있어서 경로만 제대로 입력하면 알아서 잘 찾는다는 글 오백개를 보다가, 

https://tragramming.tistory.com/95 블로그를 발견하고 해결함

 

config 패키지에 윗 글에 나온대로 WebMvcConfigurer를 구현하는 MvcConfig 클래스 생성하고 

addResourceHandlers 메서드 오버라이드해서 js,css,img,font 폴더에 대한 classpath 추가해주니 정상작동

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

@Configuration
@EnableWebMvc
public class MvcConfig implements WebMvcConfigurer {
	
	@Override 
	public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/js/**").addResourceLocations("classpath:/static/js/").setCachePeriod(60 * 60 * 24 * 365); 
        registry.addResourceHandler("/css/**").addResourceLocations("classpath:/static/css/").setCachePeriod(60 * 60 * 24 * 365); 
        registry.addResourceHandler("/img/**").addResourceLocations("classpath:/static/img/").setCachePeriod(60 * 60 * 24 * 365); 
        registry.addResourceHandler("/font/**").addResourceLocations("classpath:/static/font/").setCachePeriod(60 * 60 * 24 * 365); 
	}
	
}