hanker

[Nexacro N24] Spring Boot에서 NexacroMappingExceptionResolver - No static resource (경로) 오류 본문

TOOL/nexacro

[Nexacro N24] Spring Boot에서 NexacroMappingExceptionResolver - No static resource (경로) 오류

hanker 2025. 6. 20. 02:10
반응형

이 에러는 빈 리소스 경로나 잘못된 경로로 요청이 들어와서 발생하는 문제이다.

 


해결 방법

 

Spring Boot의 정적 리소스 핸들러 설정에서 잘못된 경로 요청을 안전하게 처리하기 위해 아래 코드를 추가하자.

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
    
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        
        // 기본 리소스 핸들러들...
        
        // 마지막에 잘못된 경로 처리용 핸들러 추가
        registry.addResourceHandler("/**")
                .addResourceLocations("/WEB-INF/resources/")
                .setCachePeriod(0)
                .resourceChain(true);
    }
}
  • registry.addResourceHandler("/**")
    • URL 패턴 매핑 정의
    • /** = 모든 요청 경로를 매칭 (와일드카드)
    • / 뒤의 모든 경로가 이 핸들러로 처리됨
  • .addResourceLocations("/WEB-INF/resources/")
    • 실제 파일이 위치한 디렉토리 지정
    • 웹앱 내부의 /WEB-INF/resources/ 폴더
    • URL 요청 → 실제 파일 위치 연결
  • .setCachePeriod(0)
    • 브라우저 캐시 설정
    • 0 = 캐시 비활성화
    • 매번 서버에서 최신 파일을 가져옴
    • 개발 환경에서 파일 변경사항을 즉시 반영하기 위함
  • .resourceChain(true)
    • 리소스 체인(Resource Chain) 활성화
    • 리소스 처리 파이프라인 구성.

 

1. 클라이언트 요청: GET /css/style.css
2. Spring이 /** 패턴 매칭 확인 /css/style.css는 /** 패턴에 매칭됨
3. resourceChain(true)에 의해 체인 실행:
   a) SafePathResourceResolver.getResource() 호출
   b) isInvalidPath("css/style.css") 체크
   c) 정상 경로이므로 super.getResource() 호출
4. 실제 파일 위치에서 파일 검색:
   /WEB-INF/resources/css/style.css
5. 파일이 존재하면 응답, 없으면 404

반응형

'TOOL > nexacro' 카테고리의 다른 글

[NEXACRO N V24] Spring framework 데이터 통신 방법  (0) 2025.06.05