복붙노트

[SPRING] 스프링 MVC mvc : 자원 위치 속성

SPRING

스프링 MVC mvc : 자원 위치 속성

가 정적 리소스를로드하는 데 문제가 있습니다.

나는 내가 모든 것을 올바르게 설정했다고 생각한다. 하지만 mvc : resource의 위치 속성을 이해하지 못합니다. 그것을 위해 무엇입니까?

VAADIN / themes / theme / ... (몇 개의 하위 폴더, 이미지, CSS, js)에 정적 리소스가있는 경우 위치 및 매핑 특성에 올바른 값을 지정해야합니까?

다음과 같이 구성 할 때 :

<mvc:resources location="/VAADIN/" mapping="/VAADIN/**"/>

작동하지 않습니다. 로그의 다음 부분이 관련 있다고 가정합니다.

17:15:02.897 [http-8080-2] DEBUG o.s.w.s.m.a.DefaultAnnotationHandlerMapping - Rejected bean name 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#6': no
 URL paths identified

예를 들어 HTTP 상태 404를 수신합니다. http://127.0.0.1/VAADIN/themes/theme/css/style.css

해결법

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

    1.location은 자원이 위치한 폴더의 위치입니다. XSD 문서 작성 :

    location은 자원이 위치한 폴더의 위치입니다. XSD 문서 작성 :

    반면에 매핑 속성은 다음과 같습니다.

    그래서 매핑은 uri가 웹에서 액세스 할 수있는 리소스를 지정하고 location은 디스크에 리소스가있는 위치를 지정합니다.

  2. ==============================

    2.내 추측으로는 위치를 올바르게 참조하지 않는 것입니다.

    내 추측으로는 위치를 올바르게 참조하지 않는 것입니다.

  3. ==============================

    3.어쩌면 당신은 resourcehttprequestresolver (또는 그것이 호출 된 것) 전에 실행되는 일부 handlermapping을 구성했을지도 모른다. AbstractUrlHandlerMapping이나 order 속성으로 매핑 체인을 중지시키는 다른 핸들 매핑이 없는지 확인하십시오. 또는 자원 분석 프로그램을 다음 순서로 구성하십시오.

    어쩌면 당신은 resourcehttprequestresolver (또는 그것이 호출 된 것) 전에 실행되는 일부 handlermapping을 구성했을지도 모른다. AbstractUrlHandlerMapping이나 order 속성으로 매핑 체인을 중지시키는 다른 핸들 매핑이 없는지 확인하십시오. 또는 자원 분석 프로그램을 다음 순서로 구성하십시오.

    <!-- Maps all other request URLs to views -->
    <bean id="viewMappings" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="defaultHandler">
            <!-- Selects view names to render based on the request URI: e.g. the "/Home" URL would map to the view named "Home" -->
            <bean class="org.springframework.web.servlet.mvc.UrlFilenameViewController" />
        </property>
        <!-- This will prevent the mvc:resources to handle requests. Unless, of course, you specify an order in the mvc:resources order attribute
        <property name="order" value="3" /  Removing this will place this just after The ResourceHttpRequestHandler-->
    </bean>
    
  4. ==============================

    4.정적 컨텐츠를 제공하기위한 핸들러를 설정합니다. 매핑 속성 / resources / **로 설정됩니다. 경로에는 해당 경로를 나타내는 앤트 스타일 와일드 카드가 포함됩니다 / resources로 시작해야하지만 그 하위 경로는 포함될 수 있습니다. 위치 속성 제공 할 파일의 위치를 ​​나타냅니다. 여기에 구성된대로 모든 요청 / resources로 시작하는 경로는 / resources에서 자동으로 제공됩니다. 응용 프로그램의 루트에있는 폴더. 따라서 모든 이미지, 스타일 시트, 자바 스크립트 및 기타 정적 컨텐츠를 애플리케이션 / 리소스에 보관해야합니다. 폴더.

    정적 컨텐츠를 제공하기위한 핸들러를 설정합니다. 매핑 속성 / resources / **로 설정됩니다. 경로에는 해당 경로를 나타내는 앤트 스타일 와일드 카드가 포함됩니다 / resources로 시작해야하지만 그 하위 경로는 포함될 수 있습니다. 위치 속성 제공 할 파일의 위치를 ​​나타냅니다. 여기에 구성된대로 모든 요청 / resources로 시작하는 경로는 / resources에서 자동으로 제공됩니다. 응용 프로그램의 루트에있는 폴더. 따라서 모든 이미지, 스타일 시트, 자바 스크립트 및 기타 정적 컨텐츠를 애플리케이션 / 리소스에 보관해야합니다. 폴더.

  5. from https://stackoverflow.com/questions/5379054/spring-mvc-mvcresources-location-attribute by cc-by-sa and MIT license