структура идентификатора сеанса Java из запроса HttpServletRequest - PullRequest
0 голосов
/ 09 декабря 2010

Я просто хотел узнать, как генерируется идентификатор сеанса Java. Причина в том, что я хочу использовать этот идентификатор в качестве уникального идентификатора для отслеживания сеанса. Было бы очень легко, когда бы я мог это сделать.

Кому-нибудь сейчас нравится описание?

ТНХ

Ответы [ 3 ]

3 голосов
/ 09 декабря 2010

Причина в том, что я хочу использовать этот идентификатор в качестве уникального идентификатора для отслеживания сеанса.Было бы очень легко, когда бы я смог это сделать.

Божо уже ответил на техническую часть.Функциональная часть, как вы заявляете, однако, не очень хороший подход.Если вы хотите сделать «отслеживание сеанса», вам не нужно делать ничего особенного.Сервлетконтейнер уже выполняет работу по отслеживанию сеанса со вкусом HttpSession.Вам просто нужно сохранить интересующий вас объект в сеансе по

session.setAttribute("somename", someObject);

Он будет доступен в последующих запросах в том же сеансе по

SomeObject someObject = (SomeObject) session.getAttribute("somename");

Вам не нужнопринять задание отслеживания сеанса из сервлет-контейнера.

См. также:

1 голос
/ 09 декабря 2010

Если действительно интересно, вы можете посмотреть это в спецификации сервлета. Важным моментом является то, что он гарантированно уникален для каждого экземпляра контейнера сервлета. Но если вы используете два экземпляра или перезапускаете свой контейнер, снова может быть использован идентификатор сеанса, который использовался ранее.

0 голосов
/ 10 декабря 2010

Я думаю, @katamshut ищет генератор случайных строк. Библиотека Commons Lang может помочь генерировать случайные строки, используя класс RandomStringUtils. Как только строка сгенерирована, вы можете добавить ее в объект сеанса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...