无法在apache tomcat中使用Context docBase显示html图像

时间:2017-10-26 06:38:21

标签: java html image apache tomcat

我正在开发一个需要上传用户图片的简单java Web应用程序。

首先,我使用了getServletContext().getRealPath()。但是后来有人建议,这不是一个好方法,因为在重新部署应用程序时图像会丢失。我认为是对的。

然后我将这些图像上传到外部根应用程序文件夹,即" D:\ images"服务器上的路径。

然后,为了显示这些图像,我通过在<Context docBase="D:\images" path="/myprojimages" /> <host>下的server.xml标记下设置conf来阅读this描述如何显示图片的线索tomcat的目录。

但我无法在服务器启动时显示图像。以下是我的简短HTML文件。

的index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
    hello<br><br>
    <img src="<img src='http://localhost:9191/myprojimages/Facebook_icon.jpg" width="30" height="30" />
</body>
</html>

下面是server.xml文件中的条目

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <Context docBase="D:\dumpData"  path="/myprojimages" />
        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>

任何人都可以建议或纠正我在哪里出错了......因为图像没有显示?

已更新

<!DOCTYPE html>
<html>
<head>
    <meta charset="ISO-8859-1">
    <title>Insert title here</title>
</head>
<body>
    hello<br><br>
    <img src="<img src='/myprojimages/Facebook_icon.jpg" width="30" height="30" />
</body>
</html>
  1. 无需提及localhost:9191
  2. 确保您在eclipse之外运行此项目,因为eclipse在其本地context docBase文件中创建了server.xml条目。

1 个答案:

答案 0 :(得分:0)

我能够自己解决这个问题,考虑到以下几点:

  1. 无需在localhost:9191
  2. 中提及img src
  3. 确保您在eclipse之外运行此项目,因为eclipse在其本地context docBase文件中创建了server.xml条目。