Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Как кодировать сессию в JSP?


Автор: Dims 22.5.2008, 13:18
1) Как мне вставить в УРЛ информацию о сессии?
2) Как мне вставить в форму информацию о сессии?
3) Должен ли я что-то делать, чтобы страница JSP восприняла информацию о сессии, переданную в УРЛ или в форме?

Автор: AlexeyVorotnikov 22.5.2008, 14:28
Что вы подразумеваете под "информацией о сессии"?
И что значит "чтобы страница JSP восприняла информацию о сессии"?

Автор: Dims 22.5.2008, 16:41
Ну вот сервер при подготовке страницы заложил в сессию какой-то объект при помощи session.setAttribute.

Браузер получил страницу, на странице есть ссылки <a href>. 

Теперь, когда пользователь нажмёт эту ссылку, запрос к серверу будет послан уже новый и новая страница уже не будет знать, что за объект был положен в сессию.

Поэтому, очевидно, нужно каким-то образом прицеплять в УРЛ идентификатор сессии, а потом, во второй странице, этот идентификатор вытаскивать и извлекать из памяти сервера нужный объект сессии.

Как это делать?

В сервлетах для кодирования УРЛ есть метод HttpServletResponse.encodeURL

А как в JSP?

Автор: Kangaroo 22.5.2008, 16:53
Цитата(Dims @  22.5.2008,  16:41 Найти цитируемый пост)
Как это делать?

В сервлетах для кодирования УРЛ есть метод HttpServletResponse.encodeURL

А как в JSP? 

Так вроде сервер сам все сделает и ничего не нужно мудрить.

Автор: Dims 22.5.2008, 17:04
Вы полагаете, что сервер парсит все отправляемые УРЛы и автоматически присобачивает в конец код сессии? Но как он хотя бы отличает свои УРЛы от чужих? И зачем тогда метод encodeURL.

Вот я нашёл кандидата - тег <c:url>. Не оно или это самое?

Автор: AlexeyVorotnikov 22.5.2008, 17:08
Во-первых, URL-rewriting используется достаточно редко. Обычно идентификатор сессии передаётся в куках.

Во-вторых,
Цитата(Dims @  22.5.2008,  17:41 Найти цитируемый пост)
А как в JSP? 

В JSP точно так же.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)