Вход на сайт
Вопросик из области Web-Programmierung, Java
5645 просмотров
Перейти к просмотру всей ветки
в ответ MrSanders 09.09.15 17:04
Я имплементировал сегодня Ваше прошлое предложение:
1. При логине смотрим в HttpSession (метод getAttribute(String))- есть ли у нас аттрибут CURRENT_LOGIN
1.1 нет аттрибута. Значит в этой сессии никто не залогинен. Разрешаем логин
session.setAttribute("CURRENT_LOGIN", uniqueClientId);
session.setAttribute("LAST_ACTION_TIME", System.currentTimeMillis());
1.2 есть аттрибут. Проверяем не вылетел ли этот пользоватль по таймауту. Читаем из сессии LAST_ACTION_TIME
[/pre]
Получилось вот что. Он вызывает сервлет несколько раз - только для одного окна.
Я ставлю атррибут, в качестве uniqueClientId использую идентификатор сессии, это длинное 16ричное число, которое Вы видели (это ничто иное как obj.getAccessKey() = accessKey из класса ndRMIRequest- - implements Serializable).
И вот какая штука: он все время говорит, что аттрибута нет!
09.09.2015 19:13:50
session got: F73F2838299E3E9088ECE0B56C5D798C
localIP0:
current_login is NULL
.......
09.09.2015 19:13:50
session got: F73F2838299E3E9088ECE0B56C5D798C
localIP0:
current_login is NULL
......
09.09.2015 19:14:20 I: PP_Servlet (19:14:20):session got: F73F2838299E3E9088ECE0B56C5D798C
session got: F73F2838299E3E9088ECE0B56C5D798C
localIP0:
current_login is NULL
....
09.09.2015 19:14:20 I: PP_Servlet (19:14:20):session got: F73F2838299E3E9088ECE0B56C5D798C
session got: F73F2838299E3E9088ECE0B56C5D798C
localIP0:
current_login is NULL
Нормальным дебаггером Эклипса пользоваться нельзя, поэтому приходится каждый раз долго деплоить, но я все же выясню, что это за 4 вызова сервлета для одного окна.
Хотя главная фигня мне не нравится: получается, что не только апплет, но и сервлет нельзя поймать, он каждый раз новый что ли?
Эй, фуфло, готовься к шмону, ты на стрём поставлен у ворот...
Присоединяйтесь: https://t.me/kudy_vadis