我在当前项目中使用spring-mvc框架。 ROOT文件夹有很多包含html,jsp,css,js等的web文件夹。我的spring 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>
我在java控制器中定义了映射。但这会导致像任何图像一样的静态内容消失。如果我通过访问ROOT //。jpg请求任何文件夹中的任何图像,它会给我404响应代码,尽管图像存在。 如果我删除spring-mvc,则会显示图像。
请注意,spring-mvc的resources属性适用于静态内容,但需要我的静态内容存在于特定文件夹中,例如资源文件夹。所以这种方法对我没用。
答案 0 :(得分:1)
假设您有一个目录(/resources/my_images/)
,其中包含一些产品图片,并且您希望根据要求提供这些图片。例如,如果请求的网址为http://localhost:8080/ mystore/resource/my_images/P123.png
,那么您希望使用P123.png
名称提供图片。同样,如果请求的网址为http://localhost:8080/mystore/resource/images/P1234.png
,则需要提供名称为P1234.png
的图片。
现在如何使用Spring MVC提供静态图像?
src/main/webapp/resources/my_images/
目录下; DispatcherServlet-context.xml
档案:<mvc:resources location="/resources/" mapping="/resource/**"/>
http://localhost:8080/mystore/resource/images/P123.png
(改变
基于您放置的图像的URL中的图像名称 FYI:Web应用程序上下文配置中的<mvc:resources>
标记告诉Spring这些图像文件在我们的项目中的位置,以便spring可以根据请求提供这些文件。