정적 리소스란?
정적 리소스는 일반적으로 HTML, CSS, JavaScript, 이미지 파일, 동영상 파일 등과 같은 정적 콘텐츠를 말한다. 이러한 리소스는 클라이언트로부터의 요청이 발생하면 서버에서 추가적인 처리 없이 그대로 전달됩니다. 서버는 단순히 요청된 정적 파일을 찾고, 해당 파일을 클라이언트로 보내주는 역할을 수행한다.
1. 기본 리소스 위치
정적 리소스 맵핑 ( /** )
ex) /hello.html 요청 => /static/hello.html 파일이 있으면 해당 파일을 응답한다.
1. classpath:/static
2. classpath:/public
3. classpath:/resources/
4. classpath:/META-INF/resources
- 기본 적으로 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) 요청
반응형
'Java' 카테고리의 다른 글
[Spring Boot] 인메모리(H2) 데이터베이스 사용 방법 (0) | 2023.06.26 |
---|---|
[Spring Boot] 템플릿 엔진 Thymeleaf 사용 방법 (0) | 2023.06.23 |
[Spring Boot/Spring MVC] HttpMessageConverters 인터페이스 개념 및 사용 방법 (0) | 2023.06.17 |
[Spring Boot] 단위 테스트(JUnit) 사용 방법 (0) | 2023.06.16 |
[Spring Boot] 프로파일(Profile) 설정 방법 (0) | 2023.06.15 |