0 / 0 / 0
Регистрация: 03.09.2008
Сообщений: 53
|
|
1 | |
Как узнать число юзеров на сервере03.09.2008, 22:32. Показов 3908. Ответов 17
Метки нет (Все метки)
Как узнать чколько пользователей зашло на сервер в данный момент, нужна авторизация типа больше 10 человек на сервер не пускать. Как это реализовать на JSP/Servlet
0
|
03.09.2008, 22:32 | |
Ответы с готовыми решениями:
17
Как узнать число посетителей на сервере Как через IdFTP узнать количество юзеров, которые в данный момент подключены к хосту? Как узнать о сервере Как узнать установлен ли nginx на сервере? |
rookie
|
|
04.09.2008, 02:15 | 2 |
По моему это делается средствами сервера самого и JSP или Sеrvlet тут не причем
|
0 / 0 / 0
Регистрация: 03.09.2008
Сообщений: 53
|
|
04.09.2008, 12:39 [ТС] | 3 |
А что конкретно может сервак, просто не пускать когда много народу или он выставляет какие-то переменные окружения так, что из них можно узнать число зашедших на сервак пользователей.
0
|
Sergey_
|
|
04.09.2008, 14:29 | 4 |
Ключевая задача в данном случае в определении текущего числа активных сессий. На базе сервлетов это можно реализовать так:
1. создаем переменную numberOfUserSessions, в которой будем держать число пользовательских сессий 2. создаем класс mySessionListener, который имплементит HttpSessionListener и пишем в sessionCreated() - numberOfUserSessions++, а в sessionDestroyed() - numberOfUserSessions--. 3. Регистрируем наш класс, как listener в web.xml (<listener>mySessionListener</listener>) Замечу, что число активных сессий вообще говоря не равно числу пользователей на сайте, так как средствами сервлетов/JSP мы не можем отследить момент, когда пользователь решит закрыть свой броузер. Однако обычно в подобных ситуациях оценивают именно число сессий. |
0 / 0 / 0
Регистрация: 21.07.2008
Сообщений: 21
|
|
16.10.2008, 14:54 | 5 |
мне нужно тоже самое только средствами сервлетов , без JSP....
thanks.
0
|
0 / 0 / 0
Регистрация: 03.09.2008
Сообщений: 53
|
|
16.10.2008, 22:43 [ТС] | 6 |
У меня заработало. Могу пример прислать. но на jsp. Хотя разницы сервлет/jsp нету. Ведь jsp переходит в сервлет.
0
|
0 / 0 / 0
Регистрация: 21.07.2008
Сообщений: 21
|
|
17.10.2008, 01:02 | 7 |
я знаю, но надо servlet решение ...
0
|
mishgun
|
|
17.10.2008, 23:04 | 8 |
В данном случае необходимо создать сервлет с тем кодом про который уже говорили но зарегестрировать его в вебсервером как глобальный (или что то в этом роде).Только не забывать отслеживать сессии если юзер ушел тогда освобождать место
|
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
|
|
17.10.2008, 23:18 | 9 |
Насколько я знаю, понятие глобального для СЕРВЕРА пока что в спецификации не существует. Есть глобальный для КОНТЕКСТА, что не является искомым решением.
Возможное решение: На КАЖДЫЙ контекст вешать фильтр, который централизованно хранит текущее состояние - DB, file, etc. Сам сталкивался с такой необходимостью, знакомый чел. тоже. Если есть более удобные решения - plz.
0
|
0 / 0 / 0
Регистрация: 21.07.2008
Сообщений: 21
|
||||||
17.10.2008, 23:25 | 10 | |||||
как вам такое решение ,,,,,
0
|
mishgun
|
|
18.10.2008, 04:12 | 11 |
Я имел ввиду то что сервлет живет пока живет сервак.Например есть такой тул-JGenerator для Флеш написаный на Джаве(по сущности своей сервлет)так вот я устанавливал JRun так что бы он работал пока работает сервак. А глобально я упомянул чтоб понятнее было.
В конце концов если уж на то пошло пишете сервлетный бин и даете ему scope=global.И что ж это тогда? |
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
|
|
18.10.2008, 04:54 | 12 |
Ну, такие штуки, как глобальные сервлетные бины - это хорошо, но:
1. Нестандартное 2. У каждого вендора копаться нужно по-своему. Ты говоришь про JRun (я знаю, что это твоя тайная любовь , в поиске глянул - еще есть такое у ATG Dynamo (ну, это без комментариев), еще 1-2 контейнера и все. Это как возиться со schedulers в J2EE - у каждого AS свой. Вроде в версии EJB 2.1 обещают стандартизировать, что-то уже даже есть для чтива.
0
|
mishgun
|
|
18.10.2008, 19:16 | 13 |
У Dynamo это называется Droplet и наследует от Servlet но уже измененный поэтому естественно работает только на Dynamo(я на нем работал поэтому знаю что и куда).С JRun же совсем другая ситуация.Там существует спец тул который позволяет регистрироавть сервлет с сервером что в сущности будет означать жизнь сервлета пока живет сервак.
А моя тайная любовь - это Intershop Enfinity ))) Так что тут вы не угадали |
4 / 4 / 1
Регистрация: 13.08.2008
Сообщений: 931
|
|
18.10.2008, 19:57 | 14 |
А реально эти исходники глянуть? И возможно ли расширить стандартный servlet invoker? Чтобы это все дело прикручивалось на любой servlet container?
Интересные мысли меня одолевают что-то...
0
|
mishgun
|
|
19.10.2008, 02:26 | 15 |
К сожалению сейчас на Dynamo уже не работаю. А исходники чего именно ты хочешь глянуть? Я ж говорю что ничего особенного в дроплете нету.Это сервлет но с проперти как у бина.
А в случае автора я бы сделал все таки обыкновенный бин вместо сервлета.Бины как раз и нужны что бы хранить какие то значения.А в бин передавать или номер сессии или саму сессию. |
Korwin
|
|
19.10.2008, 03:11 | 16 |
А почему бы не сделать singleton class который имеет инфу о количестве
текущих усеров с каждого сервлета? А сервлеты вызвают его при работе, а по завершению, дают. отбой. Просто реализуется и делает то, что надо. |
0 / 0 / 0
Регистрация: 21.07.2008
Сообщений: 21
|
|
20.10.2008, 01:45 | 17 |
to Korwin :
Более подробно пожалуйста , если можно код.
0
|
mishgun
|
|
20.10.2008, 04:41 | 18 |
дело в том что такой класс будет умирать каждый раз когда сервлеты дают ему отбой.А посему пишите бин как глобальный аппликейшн сервера.
|
20.10.2008, 04:41 | |
20.10.2008, 04:41 | |
Помогаю со студенческими работами здесь
18
Как узнать время на MySQL сервере Как узнать наличие определенного файла на сервере как узнать вид ОС на сервере и номер IIS ? Как узнать версию файла на ФТП сервере? Как узнать, исполняется код на сервере или на клиенте? Как можно узнать структуру баз на сервере Oracle? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |