|
Как вывести из сервлета 2 картинки на страницу?
|
|||
---|---|---|---|
#18+
Есть 2 массива байтов, в куда помещены PNG. Если из сервлета я говорю примерно следующее: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
то в результате на странице видна только первая картинка. Как бы показать вторую? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2004, 20:25 |
|
Как вывести из сервлета 2 картинки на страницу?
|
|||
---|---|---|---|
#18+
Проявить фантазию. html это что такое? Это страничка на которой есть ссылки, в том числе и на картинки. Как получить в html страничку две картинки? Вставить две ссылки. Как сгенерить код html странички? Написать сервлет, который будет возвращать клиенту страничку с двумя ссылками. Как по ссылкам получить картинки? На писать сервлет, который по запросу возвращает требуемую картинку. Круто? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2004, 21:12 |
|
Как вывести из сервлета 2 картинки на страницу?
|
|||
---|---|---|---|
#18+
Тут ещё подводные камни есть... Коротче, давным-давно, делал такое же. Т.е. сервлет из базы данных вставляет картинку в ServletOutputStream. Однако была следующая трабла - если на страничке вставляется несколько картинок, это делалось типа такого: Код: plaintext
то они отображаются на страничке с переменным успехом. Либо только первая, либо через одну и, коротче, совсем бессистемно... Да и ещё периодически SQLException вылетал (щас уже и не помню, какой именно). Парил НУ ОЧЕНЬ ДОЛГО, ну причём думал тут SQLException???, потом плюнул и бросил это дело... Как-то потом меня посещала мысль о том, что надо часть кода, которая картинку в выходной поток сервлета пишет, делать synchronized . Типа то, что если со странички множество ссылок на один сервлет закачивающий картинки, то для обработки этих запроса на получение картинки создавался отдельный поток (на сервере), а сервлет, вроде бы, если он не SingleThreadModel , будет один эти запросы обрабатывать. Таким образом, несколько конкурирующих потоков претендуют на один ресурс (у меня из базы картинки прямо в сервлете была закачка сделана) - соединение с базой данных, вот от куда и SQLException было (???). В общем, мысли в слух... Мысль я эту не проверял, поэтому могу ошибаться. Может у кого желание есть прокомментировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2004, 22:59 |
|
Как вывести из сервлета 2 картинки на страницу?
|
|||
---|---|---|---|
#18+
При выводе нескольких изображений надо делать alive connection. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.09.2004, 23:19 |
|
Как вывести из сервлета 2 картинки на страницу?
|
|||
---|---|---|---|
#18+
Угу. Про потоки это правильно замечено. Нужно аккуратно работать с shared resources вроде файлов, коннекшенсами к базе, ссылками на классы etc. Другой вариант возложить всю ответственность на контейнер (имплементировать SingleThreadModel). Однако в этом случае могут быть проблемы при переносе приложения в другой контейнер (скорее с его настройкой). В спецификации не указано каким именно образом будет достигаться SingleThread поведение: будет создан новый инстанс сервлета для выполнения паралельного запроса или контейнер подождёт, когда сервлет закончит текущую работу. Тоже надо иметь ввиду :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2004, 01:58 |
|
Как вывести из сервлета 2 картинки на страницу?
|
|||
---|---|---|---|
#18+
Более подробно задача состоит в следующем: есть многостраничный TIFF, через JAI он преобразовывается в набор PNG, которые и надо вывести друг за другом. Вызывать каждый раз сервлет для вытаскивания определенной страницы из TIFF'а как-то накладно. Поэтому хотелось бы поочередно "выплюнуть" все страницы сразу после преобразования. Осталось придумать алгоритм, как это осуществить. Второй вариант: можно ли через тот же JAI соединить несколько картинок, поставив каждую "снизу" предыдущей? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2004, 11:20 |
|
|
start [/forum/topic.php?fid=59&msg=32709482&tid=2153698]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 166ms |
0 / 0 |