我在当前的项目中使用 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 属性适用于静态内容,但需要我的静态内容存在于特定文件夹中,例如资源文件夹。所以这个方法对我来说没有用。
假设你有一个目录(/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 提供静态图像?
- 将一些图像放在
src/main/webapp/resources/my_images/
目录;
- 在您的 Web 应用程序上下文配置中添加以下标签
DispatcherServlet-context.xml
file: <mvc:resources location="/resources/" mapping="/resource/**"/>
- 运行您的应用程序并输入
http://localhost:8080/mystore/resource/images/P123.png
(改变
URL 中的图像名称基于您放置的图像
FYI: <mvc:resources>
Web 应用程序上下文配置中的标记来告诉 Spring 这些图像文件位于我们项目中的位置,以便 Spring 可以根据请求提供这些文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)