Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пересылка картинки клиенту 
V
    Опции темы
zer
Дата 16.3.2006, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 30.1.2006

Репутация: нет
Всего: нет



Всем привет!
Допустим мне нужно нарисовать картинку (график)
и отдать ее клиенту. В jsp страничке я вызываю класс который
формирует изображение, сохраняю его в $catalina_home\myapp\out.jpg
далее на этой же странице находится такой код:
<img src="http://hostname:7070/myapp/out.jpg" alt="">

Вопрос: правильно ли это? И что делать в такой ситуации когда
браузер берет эту картинку из кэша, когда ее нужно взять с
сервера (уже измененную)?
PM MAIL   Вверх
batigoal
Дата 16.3.2006, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 16
Всего: 151



Можно отсылать картинку напрямую из сервлета, как байтовый стрим. Тогда не придется делать сохранение на диск. Пример есть тут: http://forum.vingrad.ru/index.php?showtopi...p;#038;p=431362

Цитата(zer @ 16.3.2006, 19:18 Найти цитируемый пост)
И что делать в такой ситуации когда
браузер берет эту картинку из кэша, когда ее нужно взять с
сервера (уже измененную)?

Видимо, нужно поиграться с HTTP-заголовками (Cache-Control, Expires и еще какие-то).

Это сообщение отредактировал(а) Lamer George - 16.3.2006, 22:00


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
zer
Дата 17.3.2006, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 30.1.2006

Репутация: нет
Всего: нет



Цитата

Можно отсылать картинку напрямую из сервлета, как байтовый стрим. Тогда не придется делать сохранение на диск. Пример есть тут: http://forum.vingrad.ru/index.php?showtopi...p;#038;p=431362


Есть jsp-страница и есть сервлет (который по приведенной выше ссылке). Не пойму, как их увязать вместе,
мне нужно чтобы в определенном месте страницы появлялась картинка.
Я делаю так:

Код

response.setContentType("image/gif");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
... 
byte[] imageContent = baos.toByteArray();
response.getOutputStream().write(imageContent);


но в этом случае все содержимое страницы пропадает, остается лишь картинка в левом верхнем углу страницы. Как быть?
PM MAIL   Вверх
batigoal
Дата 17.3.2006, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 16
Всего: 151



1) делаешь сервлет, как указано в примере;
2) Маппишь его на УРЛ, например, /images/generatedImage
3) Добавляешь в свою страницу картинку, указав атрибут c этим УРЛом:
Код

<img src="/images/generatedImage">



--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
zer
Дата 17.3.2006, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 30.1.2006

Репутация: нет
Всего: нет



Lamer George, большое спасибо! Теперь все работает как надо.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0417 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.