【问题标题】:Image not displayed on JSP page图像未显示在 JSP 页面上
【发布时间】:2012-09-29 10:27:05
【问题描述】:

我有一个简单的 JSP 页面,其中包含一个图像,该图像是 JSP 页面的一部分,但是当我查看网页时该图像不显示。我可以查看网页,但它不包含图像。

我的 img 文件夹位于多个位置,因为我正在尝试解决此问题。在 img 文件夹中,我有应该在 JSP 页面中显示的 img.jpg 图像。

war/img/img.jpg

war/WEB-INF/jsp/img/img.jpg

我也无法直接从我的网络服务器查看 img.jpg。例如://localhost:8080/register/img/img.jpg 我得到 HTTP 状态 404 -

这是我的 web.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
    <display-name>SpringExampleSanjeev</display-name>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
        <url-pattern>/img/*</url-pattern>
    </servlet-mapping>

    <!-- Enable these types of content(files) to be viewed from webpage  -->
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.css</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.js</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.gif</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.jpg</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.png</url-pattern>
    </servlet-mapping>
</web-app>

这是我的 JSP 页面的 sn-p

   <img border="0" src="/img/img.jpg" alt="header banner" width="304" height="228">
   <img src="<c:url value="/img/img.jpg" />" alt="TestDisplay"/>
   <img src="<c:url value='/img/img.jpg'/>" />
   <img alt="OS usage" src="/img/img.jpg">
   <img border="0" src="/WEB-INF/jsp/img/img.jpg" alt="header banner" width="304" height="228">
   <img border="0" src="/register/WEB-INF/jsp/img/img.jpg" alt="header banner" width="304" height="228">
   <img src="img.jpg">
   <img src="/img/img.jpg">
   <img src="/jsp/img/img.jpg">
   <img src="/register/jsp/img/img.jpg">
   <img src="/WEB-INF/jsp/img/img.jpg">
   <img src="/register/WEB-INF/jsp/img/img.jpg">

我不确定我做错了什么。在 JSP 页面上放置一个简单的图像应该不会那么难。

【问题讨论】:

  • 哪个图像不工作:O all?
  • 我无法在我的 JSP 页面上查看任何图像。上面的列表是我尝试过的所有组合。
  • /WEB-INF 内的资源不可公开访问。所以,图片、JS、CSS 等应该在 WEB-INF 之外

标签: html jsp spring-mvc servlets url-pattern


【解决方案1】:

请试试这个。

与 WEB-INF 平行的图像文件夹。 (图像文件夹不应位于 WEB-INF 中)。

在 JSP 中,

<img src="../images/img.jpg" alt=""/>

【讨论】:

  • 感谢您的所有帮助。如果我将图像文件夹放在:serverHome/webapps/ROOT/,我可以在 JSP 页面中查看我的图像,并且我可以通过 jsp 页面或直接通过 localhost:8080/img/headerBanner.jpg 访问。如果我将图像文件夹放在 serverHome/webapps/myWebapps/img ,我将无法访问我的图像。我正在使用 tomcat 7.0.21,Spring MVC 3.0 但这不重要。我已经尝试过 和 并且它们都适合我。有人可以解释为什么我的图像需要在 ../ROOT/webapps 文件夹下。谢谢
【解决方案2】:

我遇到了同样的问题,并通过将图像放置在服务器的目录结构中而不是 portlet 的目录结构中解决了这个问题。我正在使用 apache-tomcat 并将其下载到:

C:\apache-tomcat-5.5.25\

其中有一个名为“webapps”的文件夹,我在那里为我的图片创建了一个子文件夹

C:\apache-tomcat-5.5.25\webapps\portal_content\img

从portlet JSP(即view.jsp)中,我像这样引用图像:

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2019-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-24
    • 1970-01-01
    • 2014-04-14
    • 2023-04-10
    相关资源
    最近更新 更多