无法从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作为参考图像。
答
静态引用可以在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>
不能正常工作。 –
检查您的文件夹结构。资源文件夹应位于Web文件夹下。文件夹结构:web-> resources-> image –
资源文件夹位于'/ webapp'文件夹下。图像的路径是'/ webapp/resources/images/ABC_bank.png'。我提供的答案工作得很好。这是访问静态引用的实际过程。 –