|
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 57
|
|
Синхронизация responce в сервлете13.06.2011, 18:08. Показов 4920. Ответов 36
Метки нет (Все метки)
Всем привет!
Имею сервлет. Когда тестил на страницах, содержащих одно обращение к сервлету - типа get или post в форме или через href - все нормально. Сделал страницу, на которой есть пара images, данные для которых посылает тот же сервлет, так начались проблемы: изображения путаются, приходят не в том порядке, или страница показывается пустой. Сделал сервлет implements SingleThreadModel - не помогло. Подскажите, pls, какие в подобных случаях применяют решения ? Заранее спасибо. Константин.
0
|
|
| 13.06.2011, 18:08 | |
|
Ответы с готовыми решениями:
36
Ошибка при возврате List в responce SOAP Модуль EVO II синхронизация 50гц, На какой ножке контроллера синхронизация шим двигателя? Навигация в сервлете |
|
0 / 0 / 0
Регистрация: 04.05.2010
Сообщений: 124
|
|
| 15.06.2011, 14:27 | |
|
я явно не въезжаю в логику, но какой смысл формировать объект в функции и не возвращять его?
ну да ладно. тут такое дело: String fileName = (String) m_params.get('file'); у тебя RequestProcessor, из которого берутся параметры, является полем сервлета. т.е. его разделяют все потоки, создаваемые при запросах. поэтому каждый новый поток (запрос) сетит его по-своему. из-за этого могут быть траблы
0
|
|
|
paradise
|
||||||
| 15.06.2011, 14:38 | ||||||
|
Souljah:
|
||||||
|
paradise
|
|
| 15.06.2011, 14:40 | |
|
Автор:
Покажи как ты запрашивашь картинку у этого сервлета. Только я тебя очень прошу - покажи только нужные места и используй [*code] [*/code] |
|
|
0 / 0 / 0
Регистрация: 04.05.2010
Сообщений: 124
|
|
| 15.06.2011, 14:40 | |
|
private RequestProcessor m_rp = null;
он - поле сервлета, патамушто афтар объявил его как поле сервлета в логике мне не откажешь, правда?
0
|
|
|
paradise
|
|
| 15.06.2011, 14:46 | |
|
Да. Тут я протупил.
|
|
|
paradise
|
|
| 15.06.2011, 14:57 | |
|
Souljah:
>у тебя RequestProcessor, из которого берутся параметры, является полем >сервлета. т.е. его разделяют все потоки, создаваемые при запросах. >поэтому каждый новый поток (запрос) сетит его по-своему. >из-за этого могут быть траблы Да, проблемы могут быть. Но афтар писал, что использовал SingleThreadModel и не полегчало. Хотя в этом случае, потоки не будут влиять на RequestProcessor других потоков. |
|
|
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 57
|
|||||||||||
| 15.06.2011, 15:28 [ТС] | |||||||||||
|
Во-первых, спасибо всем.
Запрашиваю картинку, к примеру, так:
0
|
|||||||||||
|
paradise
|
|
| 15.06.2011, 16:39 | |
|
Попробуй сделать метод lookupPage синхронизированным. Это поможет понять : проблема в многопоточности или нет.
|
|
|
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 57
|
|
| 15.06.2011, 16:56 [ТС] | |
|
Попробую. Интересное кино - сделал RequestProcessor m_rp переменной
в функции lookupPage, а не мембером класса: полегчало с картинками!!! Осталась другая проблема: у меня есть html-таблица неких найденных документов, которые я и показываю на странице. Перемещаюсь по табле, {посылаю сервлету http://localhost:8080/usf_sm/nextSearchRes/, к примеру} и через раз вместо всей страницы с картинками, таблицей и т.п. вижу просто <html><body></body></html>, то есть пустоту. Выводил в out в окне Resin'a генерируемую на этот запрос страницу в html-виде - все есть ! А в браузере - белый экран, как говорится...В чему тут может быть дело, а ?
0
|
|
|
0 / 0 / 0
Регистрация: 04.05.2010
Сообщений: 124
|
|
| 15.06.2011, 17:45 | |
|
Значит проблема была в многозадачности
от использования SingleThreadModel может и не полегчать - он deprecated и вообще хз как работает
0
|
|
|
paradise
|
|
| 15.06.2011, 18:12 | |
|
>Значит проблема была в многозадачности от использования
>SingleThreadModel может и не полегчать - он deprecated и вообще хз как >работает. Никак он не работает Он говорит контейнеру, что этот сервлет следует инстанцировать для каждого запроса, а контейнер работает. Понятное дело, что никаких гарантий нет.
|
|
|
mishgun
|
|
| 17.06.2011, 20:00 | |
|
по поводу второй проблемы.Скопируй свой вывод в ноутпад сохрани как хтмл и посари будет хтмл или нет.А вообще то генерить хтмл в сервлете не есть гуд идея.для етого падонки из Сан jsp забацали
)))
|
|
|
mishgun
|
|
| 17.06.2011, 20:01 | |
|
сорри не закончил мысль а ручонки шаловливые уже на отправить нажали
))Смысл насчет копирования в том что у тебя может хтмл генерится с неправильным кодом вот и не показывается |
|
|
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 57
|
|
| 19.06.2011, 18:28 [ТС] | |
|
Сохранил все генерируемые html'и в файл. Все правильно ! А в браузере -
<html><body></body></html>.... С чего это может быть ?
0
|
|
|
1 / 1 / 0
Регистрация: 12.06.2011
Сообщений: 68
|
|
| 19.06.2011, 23:06 | |
|
>>как вы предлагаете 'выдать' картинку из базы, и в чем эта
>>песня 'другая'? У меня, например, весь вывод обычно идет через xml + xsl. База обычно Oracle, который может хранить изображения как внутри себя, так и снаружи. А можно вообще хранить только имена файлов/картинок. Соответственно, в xml записываются только имена файлов/картинок, а сами изображения хранятся на диске, а не в 'базе', хотя это хранилище в общем случае можно считать частью БД. Если нагрузка на сервер велика (5 - 20млн. страниц в день), выйгрышь за счет исключения операции по извлечению изображения из базы может быть достаточно существенным (материально это несколько недешевых серверов).
0
|
|
|
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 57
|
||||||
| 20.06.2011, 10:46 [ТС] | ||||||
|
Хтмл выводится с помощью такого класса в функции generate():
0
|
||||||
|
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 57
|
|
| 20.06.2011, 10:49 [ТС] | |
|
блин, два раза запостил...
А не может Resin подглючивает (?)
0
|
|
| 20.06.2011, 10:49 | |
|
Ошибка в сервлете Ошибка в сервлете Сессия в сервлете) GUI в Сервлете
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики
Контекст
Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
|
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии
Введение
Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
|
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np
class PlantAgent:
def __init__(self, name, strategy, initial_biomass):
self. name = name
self. strategy = strategy # "greedy" (широколиственные) или. . .
|
сукцессия 9. Математика подлости: как растения предали грибных друзей
anaschu 27.06.2026
Статья 2. Глобальная фосфорная война: эволюционно-экономические механизмы распределения биомов Земли
Введение: Экологический рынок как игра с нулевой суммой
Традиционная экология долгое время. . .
|
|
сукцессия 8. Как я спорил с ИИ, которые - агенты растений и ненавистники грибов!
anaschu 27.06.2026
Статья 1. Хроники грибного восстания: как Сократов диалог разрушил академические догмы ИИ
Введение: Синдром «цифрового учебника»
Современные большие языковые модели (LLM) обладают колоссальным. . .
|
Главный вопрос моделирования сукцессии
anaschu 27.06.2026
главный вопрос.
Если эктомикориза лучше добывает недоступный фосфор. И ее масса максимальна из всех.
А широколиственный лес тоже имеет самую крутую биомассу.
То почему не возникло их симбиоза? Это. . .
|
сукцессия 6. Питон реализация энилоджиковской модели, картинка про Центральную часть будущей модели
anaschu 26.06.2026
Етить. ИИ мне на основе моего старого файла R создал вот эту вот хмерь на пайтоне.
Это уже новая модель, модель сукцессии грибной.
потоки фосфора, азота. Углерода.
5 видов организмов.
Я даже. . .
|
Как замкнутый ядерный цикл решит проблему недостатки фосфора? Био миграция фосфора со дна океана
anaschu 26.06.2026
Биологический лифт: Концепция подъема фосфора со дна океана с помощью ЗЯТЦ
Предлагаю на обсуждение альтернативу тяжелому промышленному бурению океанического дна. Вместо сложной инженерии мы можем. . .
|