프로그래밍/Java
[오류해결] SPRING JAR 배포 후, 외부경로에 동적으로 저장되는 파일들 호출하기
돔돔이
2022. 9. 4. 00:01
728x90
반응형
/src/resources/static/css 라던지
/src/resources/static/js 라던지
/src/resources/static/csv 라던지
내부 파일경로는 JAR파일 배포 전에는 언제든 접근이 가능한데,
배포 후에는 프로젝트 내부가 아닌 외부경로에 파일이 저장됩니다.
이렇게 배포 후 저장된 외부경로 파일들은 웹사이트에서 접근할 수 없습니다.
예를 들어 /src/resources/static/css/style.css 라는 파일을 배포 후에는
localhost:8080/css/style.css로 접근할 수 있지만,
외부경로에 저장된 /src/resources/static/css/add.css를 localhost:8080/css/add.css로 접근하려 한다면 404 에러가 뜰것입니다.
이 외부경로에 저장된 파일들까지 웹페이지에서 접근하기 위해서는 @Configuration 설정파일을 추가해주면 됩니다
아래 코드는 localhost:8080/images/<파일명>를 입력했을 때
/home/images/ 경로에 있는 파일들까지 불러올 수 있게 해줍니다.
addResourceLocations은 앞에 file://를 꼭 붙여야 한다는 것!!
package com.example.demo;
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 fileConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/images/**")
.addResourceLocations("file:///home/images/");
}
}
끝입니다!
728x90
반응형