从servlet输出HTML和图像

时间:2013-09-08 16:10:12

标签: java servlets

通过写入请求的输出缓冲区,在网络上有很多从servlet输出图像的例子。 是否可以在servlet的表中创建包含多个图像的整个HTML页面? 这些图像将由bean即时创建。

2 个答案:

答案 0 :(得分:2)

你不想这样做。

我会创建两个servlet:

  1. 为每个图片提供包含<img src="...">元素的HTML页面。
  2. 提供图像的二进制数据
  3. 基本上,第一个servlet会将HTML发送到客户端浏览器。浏览器为找到的每个<img>元素发送新的HTTP请求。第二个servlet将通过将图像的二进制数据直接写入响应的OutputStream来处理这些请求。

答案 1 :(得分: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后应具有的确切值,您应该查看converting png images to base64

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

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