Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java servlet以html代码显示图像_Java_Servlets - Fatal编程技术网

java servlet以html代码显示图像

java servlet以html代码显示图像,java,servlets,Java,Servlets,我有一个servlet,它返回一个html页面作为响应,该页面还包含图片。我将这些图片存储在文件系统的图片文件夹中(路径:/home/andrei/pictures)。 我目前只有一张照片(名称:eu.jpg),但我会添加更多 关键是,在html代码中,我有这样一个地方:。但是当我得到html页面时,它既不显示照片也不显示alt中的“pic”文本(不确定这是否正常…)。我读到这可能是由于我在src中给出的路径,但我不知道到底该给出什么 那么我应该给src什么路径呢? 不显示alt文本是正常的吗?

我有一个servlet,它返回一个html页面作为响应,该页面还包含图片。我将这些图片存储在文件系统的图片文件夹中(路径:/home/andrei/pictures)。 我目前只有一张照片(名称:eu.jpg),但我会添加更多

关键是,在html代码中,我有这样一个地方:
。但是当我得到html页面时,它既不显示照片也不显示alt中的“pic”文本(不确定这是否正常…)。我读到这可能是由于我在src中给出的路径,但我不知道到底该给出什么

那么我应该给src什么路径呢?
不显示alt文本是正常的吗?因为我知道当它无法加载pic时,它会显示该文本

其他信息:
IDE:eclipsejuno
所以:Linux

服务器:Tomcat 7.0

当您发回HTML响应时,客户端浏览器将呈现文档,然后发送额外资源的请求,以便完整显示HTML文档。这包括图像,所以Tomcat必须能够为它们服务。如果不能从一开始就将它们放在WebContent内的文件夹中,servlet必须执行移动并创建指定“公共路由”的文档。

图像应该是webapp的一部分。绝对FS路径将不起作用<代码>将采用相对路径或网站的绝对路径。

您要在连接web容器的浏览器中显示的任何图像(在您的情况下为Tomcat)必须在容器中可见。为此,请将图像放置在webapp/文件夹中,并从生成正确标记的servlet中正确链接图像,其中path是指向文件的正确http链接。

您将发现自己正在处理指向文件本地路径的文件处理程序,然后使用缓冲区在webapp的相对路径中设置新文件的内容。麻烦的为什么不将静态资源添加到web应用程序中呢?因为照片是动态添加的,所以我不能只是重新发布,整个应用程序也可以用作上传。会是这样的吗?”File originalPhoto=新文件(“../Pictures/”);文件newPhoto=newPhoto(“/photoname.type”);'然后使用streams复制内容?例如:我使用的一个Web应用程序提供了一些在应用程序本身之外动态生成的PDF文件。它们必须:1.)移动到公共位置,或2.)流缓冲才能下载。在这里,因为它们是图像,不是要下载而是要显示的,所以唯一的方法是将图像移动到容器可用的文件夹中。如何使文件夹可用于容器?它将提供文件夹中与上下文相关的内容。是的,在webapp/MyWebapp文件夹中。。。还有另一种选择:在前面使用ApacheHTTP服务器,让他提供静态资源,这样您就有了一个属于静态资源(好的,动态生成的)的“域”,比如HTTPD服务器将自己提供的/MyAppImages