无法从spring maven项目中的资源加载图像

问题描述:

我添加了一个包含位于'/ resources/images /'文件夹中的单个图像的简单页面,但是在服务器上运行时,图像不会加载到页面上。跟着很多博客,但无法解决这个问题。控制器映射如下:无法从spring maven项目中的资源加载图像

@RequestMapping(value = "/image", method = RequestMethod.GET) 
public ModelAndView imagepage() { 
    ModelAndView img = new ModelAndView("image_check"); 
    return img; 
} 

image_check.jsp文件如下:

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<html> 
<img src="/resources/ABC_bank.png" alt="Smiley face" height="42" width="42"> 
</html> 

项目servlet.xml中如下:

<bean id="viewResolver" 
class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="prefix" value="/WEB-INF/jsp/" /> 
    <property name="suffix" value=".jsp" /> 
</bean> 
<mvc:annotation-driven /> 
<mvc:resources mapping="/resources/**" location="/resources/images/" /> 

图像是存在于'/webapp/resources/images /'文件夹。该页面打开但图像无法加载。

在project-servlet.xml中进行以下更改。

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

然后参考像

<img src="/resources/images/logo.jpg" /> 

检查this作为参考图像。

+0

不能正常工作。 –

+0

检查您的文件夹结构。资源文件夹应位于Web文件夹下。文件夹结构:web-> resources-> image –

+0

资源文件夹位于'/ webapp'文件夹下。图像的路径是'/ webapp/resources/images/ABC_bank.png'。我提供的答案工作得很好。这是访问静态引用的实际过程。 –

静态引用可以在JSP文件中加入下面的标签进行访问

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

下面一行映射/resources//resources/images/文件夹:

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

所以对于image_check最终修改后的代码。 jsp如下:

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<html> 
<img src="<c:url value="/resources/ABC_bank.png"/>"> 
</html>