Вы не можете возвращение как в тот же ответ, так как вы возвращающие разные типы (например, HTML-страница типа text/html
и изображение типа image/jpeg
, скажем).
Для такого рода вещей я сгенерирую изображение во время первоначального запроса сервлета (для содержащейся HTML-страницы). Я храню его в кеше в своем сервлете и пишу HTML-страницу с тегом изображения, содержащим URL-адрес этого изображения с помощью дескриптора.
например. браузер запрашивает http://whatever/page
сервлет генерирует изображение и записывает HTML тег на странице, как
<img src="http://whatever/image/unique_handle_to_image">
браузер отображает страницу HTML, и как часть этого вопроса новый запрос на мой сервлет с ручкой для изображения.
например. браузер теперь запрашивает http://whatever/image/unique_handle_to_image
Затем я возвращаю изображение как тип контента image/jpeg
или аналогичный.
Итак, у вас есть два запроса. Один для страницы, в котором вы визуализируете изображение и храните его временно, а второй, в котором вы возвращаете изображение. Вы должны помнить об очистке кеша изображения, но все это прямолинейно. Я бы не стал беспокоиться о хранении большого количества изображений, так как два запроса из браузера обычно (!) Идут быстро.
Я предполагаю, что это можно использовать data uri условие, что ваш браузер поддерживает его, и создать что-то вроде
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9YGARc5KB0XV+IAAAAddEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q72QlbgAAAF1JREFUGNO9zL0NglAAxPEfdLTs4BZM4DIO4C7OwQg2JoQ9LE1exdlYvBBeZ7jqch9//q1uH4TLzw4d6+ErXMMcXuHWxId3KOETnnXXV6MJpcq2MLaI97CER3N0vr4MkhoXe0rZigAAAABJRU5ErkJggg==" alt="Red dot" />
Примечания Есть целый ряд предостережений, окружающих их. См. Связанную страницу.
Какой код будет у меня на странице JSP, который будет отображать изображение – ChronoXIII
Что-то вроде –