【问题标题】:Unable to load the images in the jsp pagejsp页面无法加载图片
【发布时间】:2016-01-31 04:52:15
【问题描述】:

我在spring mvc项目中创建了一个简单的jsp页面。但我无法从图像文件夹中加载图像。我尝试使用真实路径和上下文路径仍然无法将图像加载到 jsp 文件中。

真实路径:

<%
 String realPath = application.getRealPath("/");
%>

 <img src="<%=realPath%>images\logo.png" alt="student" title="student">

上下文路径:

<%
 String contextPath = request.getContextPath();
%>
 <img src="<%=realPath%>images\logo.png" alt="student" title="student">

我的项目文件夹结构看起来像

我错过了什么吗?是否需要在 web.xml 中进行任何配置?

有什么建议吗?

【问题讨论】:

    标签: java html jsp spring-mvc


    【解决方案1】:

    你必须像这样配置你的静态资源,比如图片、js和css文件:

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

    在上面的例子中,任何来自这个 url 模式 /images/** 的请求,Spring 都会从 /images 文件夹中寻找资源。

    【讨论】:

    • 仅当 /* 映射到 Spring 时才需要。
    • 谢谢。这个对我有用。但我有一个小问题。假设我有 10 个静态资源文件夹(css、js、图像.....),那么我需要映射所有 10 个文件夹吗?或者,如果我复制资源文件夹中的所有文件夹并仅配置资源文件夹,例如 ()。这会有意义吗?请有任何建议
    • 您可以为每种文件类型添加许多配置,例如:
    【解决方案2】:
    1. 你不能使用真实路径,因为浏览器不会和webapp在同一台机器上!!
    2. 您不能使用\,因为网址必须使用/
    3. 不要在 JSP 中使用 Java 代码,尤其是在需要使用 EL 变量时。
    4. 您缺少/。引用getContextPath()的javadoc:

      路径以“/”字符开头,但不以“/”字符结尾。

    这是怎么做的:

    <img src="${pageContext.request.contextPath}/images/logo.png" alt="student" title="student">
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多