Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как разделить память сервлета для клиентов? / 12 сообщений из 12, страница 1 из 1
14.09.2007, 10:40:05
    #34799935
IgorAnton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как разделить память сервлета для клиентов?
Что надо настроить сервлет или Томкат,чтабы каждому клиенту
выделялась своя область памяти?

У меня :
при запросе от любого клиента на требуемую страницу
у всех остальных появляется эта страница.

Информация сервлету, что выводить PrintWriter.println (Vector_client_x)
^^^ находиться в векторах

При входе нового клиента все вектора обновляются по его запросу для всех пользователей.

Что надо сделать, чтобы разделить память сервлета (каждому клиенту свою область переменных) ?
Если это настройки, где искать ?

Спасибо. Игорь.
...
Рейтинг: 0 / 0
14.09.2007, 10:50:19
    #34799980
zalexaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как разделить память сервлета для клиентов?
javax.servlet.http.HttpSession вам поможет
...
Рейтинг: 0 / 0
14.09.2007, 11:18:19
    #34800123
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как разделить память сервлета для клиентов?
нужно все-таки почитать про сервлеты и показать код сервлета, там по любому косяк.
...
Рейтинг: 0 / 0
14.09.2007, 12:25:54
    #34800428
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как разделить память сервлета для клиентов?
Для начала открыть спецификацию на сервлеты и прочитать. Он очень маленькая, ёмкая и информативаня.
Затем поубирать из сервлетов поля, прислушатся к советам выше и рассказать задачу в целом.
Что делает сервлет? Почем нельзя взять какой-нить Web Framework?
...
Рейтинг: 0 / 0
14.09.2007, 13:01:04
    #34800629
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как разделить память сервлета для клиентов?
IgorAntonпри запросе от любого клиента на требуемую страницу у всех остальных появляется эта страница.
- экземпляр сервлета работает одновременно в нескольких потоках, каждый из которых связан с обработкой одного из клиентских запросов. При изменении содержимого поля сервлета в одном из потоков эти изменения становятся доступными другим потокам. Либо используйте синхронизацию (что рисково для тех кто не очень хорошо знает многопоточное программирование), либо откажитесь от использования полей и объявляйте переменные непосредственно внутри метода doGet, doPost, service и т.п.

IgorAntonКак разделить память сервлета для клиентов?
OFFTOP: JVM не умеет делить память :(
...
Рейтинг: 0 / 0
14.09.2007, 13:08:35
    #34800670
Juga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как разделить память сервлета для клиентов?
BlazkowiczДля начала открыть спецификацию на сервлеты и прочитать. Он очень маленькая, ёмкая и информативаня.

+1
От себя: интерфейс SingleThreadModel
...
Рейтинг: 0 / 0
14.09.2007, 13:14:44
    #34800708
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как разделить память сервлета для клиентов?
JugaОт себя: интерфейс SingleThreadModel
- плохому учите: Deprecated . As of Java Servlet API 2.4
...
Рейтинг: 0 / 0
14.09.2007, 13:17:11
    #34800721
Juga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как разделить память сервлета для клиентов?
Kachalov JugaОт себя: интерфейс SingleThreadModel
- плохому учите: Deprecated . As of Java Servlet API 2.4
альтернативы пока ему нет. Диприкэйт он потому что не гарантирует создание нового экземпляра в пуле, зато 100% каждый юзер имеет свой контент а не соседский
...
Рейтинг: 0 / 0
14.09.2007, 13:23:10
    #34800749
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как разделить память сервлета для клиентов?
Jugaальтернативы пока ему нет.
- синхронизация, а кто не осилит тому и не надо сервлеты писать, чтоб технологию не порочили

JugaДиприкэйт он потому что не гарантирует создание нового экземпляра в пуле, зато 100% каждый юзер имеет свой контент а не соседский
- зато гарантирует хороший провал производительности :)
...
Рейтинг: 0 / 0
14.09.2007, 13:44:35
    #34800848
Juga
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как разделить память сервлета для клиентов?
Kachalov- зато гарантирует хороший провал производительности :) ну тут спорно, от задачи зависит. А на счёт синхронизации в общем то я б так и делал :). А СинглТред для тех кто пока не понимает что такое потоки
...
Рейтинг: 0 / 0
14.09.2007, 15:41:35
    #34801400
IgorAnton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как разделить память сервлета для клиентов?
Спасибо всем !
BlazkowiczДля начала открыть спецификацию на сервлеты и прочитать. Он очень маленькая, ёмкая и информативаня.
Затем поубирать из сервлетов поля, прислушатся к советам выше и рассказать задачу в целом.
Что делает сервлет? Почем нельзя взять какой-нить Web Framework?
открыл,читатю.
Где взять какой-нить Web Framework ?
сервлет делает:
public void doGet(HttpServletRequest request, HttpServletResponse response)
{
Sring класс_по_запросу_клиента = request.getParameter("класс_по_запросу_клиента");
ClassforName(класс_по_запросу_клиента , вектор_параметров);
// класс_по_запросу_клиента возвращает вектор с информаией - Vector Inform.
// это может быть результат запроса SQL по дате,
// страница с компонентами и т.д., не знаю что надо завтра.

String println = "<html><head><title>title</title><meta http-equiv= ...... "
for (int i = 0; i < Inf.size; i++)
{
Vector Inf = (Vector) Inform.get(i);
println = println + (String) Inf.get(3) + (String) Inf.get(7) + (String) Inf.get(какой надо) + ... ;
}
println = println + "</FORM></body></html>";
try { PrintWriter.println(println); }
catch ( Exception e ) { обработка_исключения(); }
}

Совсем маразм ?
Еще раз спасибо. Игорь.
...
Рейтинг: 0 / 0
14.09.2007, 15:47:29
    #34801426
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как разделить память сервлета для клиентов?
IgorAnton
Где взять какой-нить Web Framework ?
google -> Spring MVC, Struts 2
IgorAntonсервлет делает:
public void doGet(HttpServletRequest request, HttpServletResponse response)
{
Sring класс_по_запросу_клиента = request.getParameter("класс_по_запросу_клиента");
ClassforName(класс_по_запросу_клиента , вектор_параметров);
}
Так а что именно проблему вызвало?

IgorAntonСовсем маразм ?
В текущей реализации почти да. Даже такая фигня как JSP смотрелась бы лучше.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как разделить память сервлета для клиентов? / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]