|
Как отслеживать сессию?
|
|||
---|---|---|---|
#18+
Помогите разобраться с сессиями. Есть форма, на которой происходит регистрация пользователя и открывается сессия. В сессию добавляются параметры. Как отследить сессию, если пользователь шастает по другим страницам и даже может уйти на другой сайт, а потом вернуться назад. Куки категорически запрещены. Нужно ли прилагать специальные усилия по поддержке сессии, или это происходит автоматически? Если есть ссылка, где это толково расписано, подскажите, пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2004, 20:16 |
|
Как отслеживать сессию?
|
|||
---|---|---|---|
#18+
Cессия вообще-то откроется в любом случае, прошёл пользователь регистрацию или нет (ты HttpSession имеешь ввиду?), т.к. я так понимаю, ты это программно собрался делать. Объект этого класса доступен из HttpServletRequest и он один на всё время жизни сеанса связи браузера юзера с сервером (грубо говоря). И никаких проблем с этим вроде-бы нет. Даже если юзер на другой сайт уходил - параметры в сессии сохранятся если её таймаут не закончился или он сам эти параметры из сессии не удалил. Такой вопрос - а ты пробовал вообще с ними поиграться ? (с сессиями). Похоже - что нет. Попробуй всё-таки :), всё у тебя получится, я думаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2004, 21:27 |
|
Как отслеживать сессию?
|
|||
---|---|---|---|
#18+
Я поигрался с сессиями по примерам, которые есть в книжках, но для себя так четко и не уяснил: сессия это что типа глобальной переменной, которая существует помимо моей воли, или надо прилагать некоторые усилия для ее отслеживания. Похоже первый вариант правильный. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2004, 22:40 |
|
Как отслеживать сессию?
|
|||
---|---|---|---|
#18+
Насколько я правильно в этом разобрался, происходит все так: когда ты создаешь HttpSession и запихиваешь туда объект, сам объект хранится где-то локально в JVM и ассоциируется с какой-то переменной ( пусть sessionID ), которая отсылается с исп. механизма cookie в браузер. Причем , я так понимаю, в этой cookie не проставляется Age ( время действия ), за счет чего достигается эффект, когда клиент закрывет браузер, cookie уже не шлются, и соотв. HttpSession считает что это новое соединение. И еще , тот объект, кот. проассоциирован с сессией сам уничтожается по тайм-ауту ( это время можно выставить или переопределить в дескрипторе доставки web.xml, пар-р называется session-config ). У меня напр. по умолчанию это 30 мин. Т.е. получается, что если даже пользователь не закрывал браузера, но не посылал запросы за это время, сессия снимается, хотя cookie от браузера поступают. И еще, если в браузере cookie запрещены, используется другой способ идентификации - "перезапись URL". По большому счету, все это можно и самому реализовать это управление сессией, но есть готовое решение и проверенное. Вроде так. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2004, 00:57 |
|
Как отслеживать сессию?
|
|||
---|---|---|---|
#18+
http://www.google.ca/search?q=session+management+servlet+rewritten+url&ie=UTF-8&oe=UTF-8&hl=en&meta= там пару тыш ссылок, например http://www.javacamp.org/scwcd/course/5_1.html Если не используешь куки, то сессия порвется при уходе на другие сайты. На самом деле куки вполне нормально, куда удобнее чем трахаться с урл-рерайт-ом.... Успехов ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2004, 02:42 |
|
|
start [/forum/topic.php?fid=59&msg=32444509&tid=2154209]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
129ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 251ms |
total: | 471ms |
0 / 0 |