복붙노트

[SPRING] Spring : 컨텍스트 루트 외부에서 정적 리소스 제공

SPRING

Spring : 컨텍스트 루트 외부에서 정적 리소스 제공

웹 응용 프로그램에서 응용 프로그램 컨텍스트 디렉터리 외부에있는 정적 내용 (이미지)을 제공해야합니다. 전반적인 애플리케이션 아키텍처에서는 Tomcat을 사용하여이 작업을 수행해야합니다. 응용 프로그램 URL과 디렉토리 내용 간의 매핑을 구성하기 위해 Spring의 의 이점을 누릴 수 있다고 생각했습니다. 하지만 AFAIK 매핑 속성은 컨텍스트 상대 또는 클래스 경로 매핑 만 처리합니다. 그러므로 내가 사용하고 싶은 것은 :

<mvc:resources location="/images/**" mapping="/absolute/path/to/image/dir"/>

작동하지 않습니다. 간단한 파일 전송 서블릿을 쓰는 것을 피하고 싶습니다. 기존 스프링 기반 솔루션 / 해결 방법에 대한 조언을 누군가 나에게 줄 수 있다면 기쁠 것입니다.

많은 감사합니다.

호머

해결법

  1. ==============================

    1.는 외부로부터 리소스를 제공 할 수 있으므로, 일반적인 Spring 리소스 경로 구문을 사용할 필요가있다.

    는 외부로부터 리소스를 제공 할 수 있으므로, 일반적인 Spring 리소스 경로 구문을 사용할 필요가있다.

    <mvc:resources mapping="/images/**" location="file:/absolute/path/to/image/dir/"/> 
    
  2. ==============================

    2.하나 더 간단한 수정이 있습니다.

    하나 더 간단한 수정이 있습니다.

    코드가 있어야합니다.

    차이점을 확인 했습니까? 절대 경로 끝에 '/'를 넣어야합니다.

    또는 자바 설정을 사용할 수있다.

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        String rootPath = System.getProperty("user.home");
        String imagePath = "file:"+rootPath + File.separator + "tmpFiles/";
        System.out.println(imagePath);
        registry.addResourceHandler("/resources/**").addResourceLocations("resources/");
        registry.addResourceHandler("/tmpFiles/**").addResourceLocations(imagePath);
    }
    

    나를 위해 일하고.

  3. from https://stackoverflow.com/questions/5456635/spring-serving-static-resources-outside-context-root by cc-by-sa and MIT license