[Spring] NoResourceFoundException 에러 해결

DANI·2023년 12월 29일

[Class] Spring-basic

목록 보기
8/8
post-thumbnail

🚫 NoResourceFoundException 에러

23:22:48.349 [http-nio-8081-exec-1] DEBUG org.thymeleaf.TemplateEngine -- [THYMELEAF] TEMPLATE ENGINE INITIALIZED
23:22:48.390 [http-nio-8081-exec-1] DEBUG org.springframework.web.servlet.DispatcherServlet -- Completed 200 OK
23:22:50.390 [http-nio-8081-exec-2] DEBUG org.springframework.web.servlet.DispatcherServlet -- GET "/FileUpload/file/upload", parameters={}
23:22:50.393 [http-nio-8081-exec-2] DEBUG org.springframework.web.servlet.handler.SimpleUrlHandlerMapping -- Mapped to ResourceHttpRequestHandler [classpath [static/]]
23:22:50.398 [http-nio-8081-exec-2] DEBUG org.springframework.web.servlet.resource.ResourceHttpRequestHandler -- Resource not found
23:22:50.409 [http-nio-8081-exec-2] DEBUG org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver -- Resolved [org.springframework.web.servlet.resource.NoResourceFoundException: No static resource file/upload.]
23:22:50.409 [http-nio-8081-exec-2] DEBUG org.springframework.web.servlet.DispatcherServlet -- Completed 404 NOT_FOUND

23:22:50.390 [http-nio-8081-exec-2] DEBUG org.springframework.web.servlet.DispatcherServlet -- GET "/FileUpload/file/upload", parameters={}
23:22:50.393 [http-nio-8081-exec-2] DEBUG org.springframework.web.servlet.handler.SimpleUrlHandlerMapping -- Mapped to ResourceHttpRequestHandler [classpath [static/]]
23:22:50.398 [http-nio-8081-exec-2] DEBUG org.springframework.web.servlet.resource.ResourceHttpRequestHandler -- Resource not found
23:22:50.409 [http-nio-8081-exec-2] DEBUG org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver -- Resolved [org.springframework.web.servlet.resource.NoResourceFoundException: No static resource file/upload.]



아니 대체 왜... 어디서 오류난 건지도 모르겠는데 정적자원을 찾을 수 없다는... 오류... 왜지....?

🔑 해결방안 : Config 파일에 @ComponentScan 추가

🔵 수정 전

@Configuration
@EnableWebMvc 
@Import(DbConfig1.class) 
@Slf4j
public class MvcConfig implements WebMvcConfigurer {

    @Autowired
    private ApplicationContext applicationContext;
  
    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
 
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/**")
                .addResourceLocations("classpath:/static/");

        registry.addResourceHandler("/upload/**")
                .addResourceLocations("file:///Users/da-eunlee/Desktop/uploads/");
 
    }
  ...
}

🔴 수정 후

@Configuration
@EnableWebMvc 
@Import(DbConfig1.class) 
@Slf4j
@ComponentScan("controllers")
public class MvcConfig implements WebMvcConfigurer {

    @Autowired
    private ApplicationContext applicationContext;
  
    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
 
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/**")
                .addResourceLocations("classpath:/static/");

        registry.addResourceHandler("/upload/**")
                .addResourceLocations("file:///Users/da-eunlee/Desktop/uploads/");
 
    }
  ...
}



0개의 댓글