2013-09-08 2 views
-2

В Сети существует множество примеров вывода изображений из сервлетов путем записи в выходной буфер запроса. Возможно ли создать всю HTML-страницу с несколькими изображениями в таблице из сервлета? Изображения будут созданы на лету бобом.Вывод HTML и изображений из сервлета

+0

Насколько велики изображения? – Neeraj

+0

5-10 Кбайт каждый – ajeh

ответ

2

Вы не хотите этого делать.

Я хотел бы создать два сервлета:

  1. Служить страницу HTML с <img src="..."> элементов для каждого изображения.
  2. Служить двоичные данные изображения

В основном первый сервлет будет отправить HTML в браузер клиента. Браузер отправляет новые HTTP-запросы для каждого найденного элемента <img>. Второй сервлет обрабатывал бы эти запросы, записывая двоичные данные изображения непосредственно в ответ OutputStream.

+0

Имеет смысл. Я уже пришел к такому выводу :) – ajeh

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 

Чтобы получить точное значение, которое вы должны иметь после base64 в атрибуте SRC, вы должны смотреть на converting png images to base64.

Это решение несколько не идеально подходит и может заставлять страницу загружаться навсегда, если на странице более 10-15 изображений.

Если это так, то вы должны пойти с другим решением, связанным с URL-адресом для сервлетов, которые служат для изображения.