gpt4 book ai didi

java - 如何在 spring mvc 中提供静态内容?

转载 作者:行者123 更新时间:2023-12-01 09:38:31 24 4
gpt4 key购买 nike

我在当前的项目中使用 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 Controller 中定义了映射。但这会导致静态内容(如任何图像)消失。如果我通过访问 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 提供静态图像?

  1. 将一些图像放在 src/main/webapp/resources/my_images/ 下目录;
  2. 在我们的 Web 应用程序上下文的配置中添加以下标签 DispatcherServlet-context.xml文件:<mvc:resources location="/resources/" mapping="/resource/**"/>
  3. 运行您的应用程序并输入 http://localhost:8080/mystore/resource/images/P123.png (改变URL 中的图像名称基于您放置的图像

仅供引用:<mvc:resources> Web 应用程序上下文配置中的标记来告诉 Spring 这些图像文件位于我们项目中的位置,以便 Spring 可以根据请求提供这些文件。

关于java - 如何在 spring mvc 中提供静态内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38635559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com