복붙노트

[SPRING] 봄 mvc에서 정적 콘텐츠를 제공하는 방법?

SPRING

봄 mvc에서 정적 콘텐츠를 제공하는 방법?

현재 프로젝트에서 spring-mvc 프레임 워크를 사용하고 있습니다. ROOT 폴더에는 html, jsp, css, js 등이 들어있는 많은 웹 폴더가 있습니다. 스프링 mvc 구성은 다음과 같습니다.

<context:annotation-config />

    <bean id="comicControllerBean" class="tv.cinemacraft.videogramwebapp.springmvc.controllers.ComicController" />
    <bean id="dashboardControllerBean" class="tv.cinemacraft.videogramwebapp.springmvc.controllers.DashBoardController" />
    <bean id="genericControllerBean" class="tv.cinemacraft.videogramwebapp.springmvc.controllers.GenericController" />
    <bean id="channelControllerBean" class="tv.cinemacraft.videogramwebapp.springmvc.controllers.ChannelController" />

    <!-- <context:component-scan base-package="tv.cinemacraft.videogramwebapp.springmvc.controllers" /> -->

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/" />
        <property name="suffix" value=".jsp" />
        <property name="order" value="1" />
    </bean>

    <bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
        <property name="basename" value="views" />
        <property name="order" value="0" />
    </bean>

그리고 내 자바 컨트롤러에 정의 된 매핑이 있습니다. 그러나 이로 인해 이미지와 같은 정적 인 내용이 사라집니다. ROOT //. jpg에 액세스하여 폴더 내의 이미지를 요청하면 이미지가 있지만 404 응답 코드를 제공합니다. spring-mvc를 제거하면 이미지가 표시됩니다.

spring-mvc의 resources 속성은 정적 컨텐츠에서 작동하지만 정적 컨텐츠가 특정 폴더 내부에 있어야합니다. resouce 폴더. 그래서이 방법은 나에게는 유용하지 않습니다.

해결법

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

    1.일부 제품 이미지가 포함 된 디렉토리 (/ resources / my_images /)가 있고 요청에 따라 이러한 이미지를 제공하고자한다고 가정 해 보겠습니다. 예를 들어, 요청 된 URL이 http : // localhost : 8080 / mystore / resource / my_images / P123.png이면 P123.png 이름으로 이미지를 제공하고자합니다. 마찬가지로 요청 된 URL이 http : // localhost : 8080 / mystore / resource / images / P1234.png 인 경우 이름이 P1234.png 인 이미지를 제공해야합니다.

    일부 제품 이미지가 포함 된 디렉토리 (/ resources / my_images /)가 있고 요청에 따라 이러한 이미지를 제공하고자한다고 가정 해 보겠습니다. 예를 들어, 요청 된 URL이 http : // localhost : 8080 / mystore / resource / my_images / P123.png이면 P123.png 이름으로 이미지를 제공하고자합니다. 마찬가지로 요청 된 URL이 http : // localhost : 8080 / mystore / resource / images / P1234.png 인 경우 이름이 P1234.png 인 이미지를 제공해야합니다.

    이제 Spring MVC로 정적 이미지를 제공하는 방법은?

    FYI : 웹 응용 프로그램 컨텍스트 구성의 태그를 사용하여 봄에 요청할 때 Spring이 해당 파일을 제공 할 수 있도록 프로젝트에이 이미지 파일이있는 위치를 알려줍니다.

  2. from https://stackoverflow.com/questions/38635559/how-to-serve-static-content-in-spring-mvc by cc-by-sa and MIT license