|
|
|
Как работают сессии? HttpSession
|
|||
|---|---|---|---|
|
#18+
Объясните, пожалуйста, как работает сессии в сервлетах Есть уровни: 1. запроса 2. сессии 3. приложения запрос - все понятно, клиент вызывает doGet / doPost (req, resp) {...} и все что есть в рамках этого запроса - доступно клиенту, остальным не видно Когда ответ отправлен метод отработал - все "умирает" приложение - тоже понятно, общие ресурсы доступны всем клиентам Например, один зашел - установил значение на уровне приложения, остальные зашли - смогли просмотреть это установленное значение /изменить и т.д. И живет это значение - пока живет приложение А как работает сессия? Точнее понятно, что оно сохраняет значение на время сеанса клиента Например, он зашел, установил значение в сессии и оно хранится там в рамках сессии.. Если клиент закроет окно в браузере, а затем снова зайдет - эму та же сессия установится? Как тогда определяется что это именно тот клиент зашел? (Браузер хранит SESSION ID и потом отправляет его веб-серверу или как?) И не совсем понимаю, HttpSession доступно и из других сервлетов? (не только в области видимости того сервлета, где было вызвано request.getSession(true))? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2014, 13:01 |
|
||
|
Как работают сессии? HttpSession
|
|||
|---|---|---|---|
|
#18+
Cpt. GrayЕсть уровни: 1. запроса 2. сессии 3. приложения Это прямые отсылки к классам HttpServletRequest HttpSession ServletContext Cpt. GrayЕсли клиент закроет окно в браузере, а затем снова зайдет - эму та же сессия установится? Если идентификатор сессии переживет закрытие окна, то будет эта же сессия. Не переживет - будет новая сессия и новый идентификатор сессии. Cpt. GrayКак тогда определяется что это именно тот клиент зашел? (Браузер хранит SESSION ID и потом отправляет его веб-серверу или как?) JSESSIONID передаётся либо через куки, либо через параметры HTTP запроса. Cpt. GrayИ не совсем понимаю, HttpSession доступно и из других сервлетов? (не только в области видимости того сервлета, где было вызвано request.getSession(true))? Сессия доступна из всех сервлетов приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2014, 13:06 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=145&tid=2126016]: |
0ms |
get settings: |
16ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 360ms |

| 0 / 0 |
