0

我知道如何在 jsp 文件上显示图像。但从未想过它是如何工作的?我的意思是当jsp页面被网络服务器评估为html内容并作为字节与其他html一起传输到浏览器时,图像是否会立即用html页面呈现,或者它不会以这种方式发生。我确实和我的同事讨论过,但他们也不确定。其中一位告诉我,当您从服务器请求任何 JSP 页面时,jsp 页面会被评估为相应的 html 内容,此时不会呈现图像。因此,当浏览器获取此 html 页面并看到如下标签时,浏览器会使为每个图像单独调用服务器。正确吗?如果是,如果 jsp 页面上有 50 个图像,50 个请求是否会转到服务器下载图像。他还提到不仅图像,而且 JavaScript 也仅以这种方式包含在 JSP 中?我不确定何时以及如何请求 jsp 页面中包含的图像?也无法通过谷歌搜索清除这个事实。吨

src="getImage.jsp"

这个问题出现在我的脑海中,因为在下拉列表中更改某些值时,我想更改图像。我以为我可以在客户端做到这一点。但是如果按照最后提到的方法进行,看起来必须先从服务器下载图像。

4

3 回答 3

3

很难说出你在问什么。img如果您的意思是,当您的 JSP 容器将其编译为 servlet 时,您通过标记(例如)包含在 JSP 页面中的图像是否会<img src="/path/to/image.jpg">以某种方式“烘焙到”您的 JSP 页面中,答案是否定的。浏览器将请求 JSP 页面,取回 HTML 等。等,然后请求图像。

于 2012-06-18T08:21:48.020 回答
2

如果您想根据下拉菜单更改图像,我建议您使用 javascript。

首先在 javascript 对象中加载所有图像(在加载页面时),然后在下拉菜单的 onchange 事件中更改图像。

谷歌搜索“预加载图像 javascript”应该提供充足的例子

从 jsp 文件返回图像也是可能的

在 jsp 中编写代码,将图像的字节流写入 jsp 编写器,确保正确设置 mime 类型。

于 2012-06-18T08:35:49.463 回答
1

图像的下载与所有其他资源完全一样,并由您的浏览器呈现。

如果您询问单个页面中同一图像的50 个实例是否会被下载 50 次,答案取决于特定图像资源的 HTTP 缓存策略标头 - 如果它们允许缓存资源,它将被您的缓存浏览器,并且只会通过网络下载一次。

于 2012-06-18T08:24:19.180 回答