-2

网上有很多通过写入请求的输出缓冲区从 servlet 输出图像的示例。是否可以从 servlet 的表中创建包含多个图像的整个 HTML 页面?图像将由 bean 动态创建。

4

2 回答 2

2

你不想那样做。

我将创建两个 servlet:

  1. <img src="...">为每个图像提供包含元素的 HTML 页面。
  2. 提供图像的二进制数据

基本上,第一个 servlet 会将 HTML 发送到客户端浏览器。<img>浏览器为它找到的每个元素发送新的 HTTP 请求。第二个 servlet 将通过将图像的二进制数据直接写入响应的OutputStream.

于 2013-09-08T16:16:36.317 回答
1

对于小图像,您可以使用 css 或直接在 html 中嵌入图像。要使用 css 嵌入,请查看this

这就是我的建议:

<html>
  <body>
    <img alt="some title" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA.."/>
    <img alt="some title" src="data:image/png;base64<data2>"/>
    <img alt="some title" src="data:image/png;base64<data2>"/>
  </body>
</html

要获得在 src 属性中 base64 之后应该具有的确切值,您应该查看将 png 图像转换为 base64

这个解决方案有点不理想,如果页面中有超过 10-15 个图像,可能会永远加载页面。

如果是这种情况,那么您应该使用链接到提供图像的 servlet 的 url 的其他解决方案。

于 2013-09-08T16:25:38.497 回答