图像未显示在JSP页面上

时间:2012-10-09 06:34:46

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

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

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

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页面的片段

   <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页面上放一个简单的图像不应该这么难。

2 个答案:

答案 0 :(得分:1)

请试试这个。

与WEB-INF并行的图像文件夹。 (图像文件夹不应该在WEB-INF中。)

在JSP中,

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

答案 1 :(得分:0)

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

C:\ apache-tomcat-5.5.25 \

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

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

在portlet JSP(即view.jsp)中,我将图像修改为:

<“ img src =” / portal_content / img / my_image.gif“>

希望这会有所帮助。