Spring MVC 静态资源映射

4
我有以下Servlet映射 -

我有以下Servlet映射 -

  <!--  Mapping Static Resources -->
     <mvc:resources mapping="/css/**" location="/resources/css/" />
     <mvc:resources mapping="/js/**" location="/resources/js/" />
     <mvc:resources mapping="/images/**" location="/resources/images/" />

我的html中的图像链接是"/images/folder/imageName.jpg" - 这些图像给我返回404错误,但如果我将链接更改为"/images/imageName.jpg"并将图像移动到images文件夹下直接获取图像。

我需要修改我的servlet映射以考虑层次结构吗?


这看起来是正确的...你是否在Firebug中检查了浏览器用于获取图片的URL?可能存在相对路径问题。 - Peter Bratton
2
你能告诉我们实际的文件夹结构吗?从映射中我理解/images被映射到'/resources/images/',假设图片直接在/resources/images/目录下。那么为什么要访问"/images/folder/imageName.jpg",除非图片目录是'/resources/images/folder/'。 - Sudhakar
1个回答

3

您需要修改图片链接。当您编写代码时,请确保:

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

然后你对/resources/images的HTTP请求会被翻译成服务器上的webapp/images文件夹。因此在HTML中,应该有类似于以下内容:

<img src="<spring:url value='/resources/images/logo.png'/>"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接