Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> использование сессий 
:(
    Опции темы
Wanderer2019
Дата 1.2.2005, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: нет
Всего: 17



Подскажите пожалуйста... не могу въехать в сессии..... в книге как то бредово написано...
Надо следующее... обычное отслеживание пользователя на сайте...т.е. предоставление ему прав в соответствии с его аккаунтом. После проверки статуса аккаунта я делаю:
Код

       HttpSession session = request.getSession(true);
       session.putValue(session.getId(),role);


на другом, постороннем сервлете пытаюсь прочитать значение role:
Код

   HttpSession session=request.getSession(true);
   String role=(String)session.getValue(session.getId());


а он почему то не читает.... smile

нужно ли какоенибудь особенное соединение между сервлетами??
PM ICQ MSN   Вверх
batigoal
Дата 1.2.2005, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 16
Всего: 151



Я же писал тебе в прошлой теме:

на одной странице:
Код

session.setAttribute("role", role);


на другой:
Код

(Role)session.getAttribute("role");



--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Wanderer2019
Дата 1.2.2005, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 937
Регистрация: 3.12.2004
Где: Санкт-Петербург/П рага

Репутация: нет
Всего: 17



и так и эдак пробовал... NULLL smile
PM ICQ MSN   Вверх
batigoal
Дата 1.2.2005, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 16
Всего: 151



Помнится, у меня была ошибка (правда, при компиляции), когдя я пытался работать с сессией в блоке <%! %> в методе jspInit. А вот если вставить этот кусок в <% %>, то все было нормально.

Можешь попробовать прикрепить атрибут не к сессии, а к контексту, если это тебе подходит
Код

getServletContext().setAttribute("role",role)



--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Sleepy_PIP
Дата 1.2.2005, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 512
Регистрация: 30.6.2004
Где: Moscow

Репутация: 2
Всего: 12



вообще эти вопросы наверное не в этом разделе.
Вот что я делаю с параметрами сессии (в бине JSF страницы):
Код


       FacesContext ctx = FacesContext.getCurrentInstance();
       HttpSession ss=(HttpSession)ctx.getExternalContext().getSession(false);
       sr=(SessionResource)ss.getAttribute("SessRes");



а вот в листенере:
Код

   //Notification that a session was created
   public void sessionCreated(HttpSessionEvent se) {
       SessionResource SessRes=new SessionResource();
       se.getSession().setAttribute("SessRes",SessRes);
       gdef.llog.LogLogThr(se.getSession().getId(),"Session started!!!!!",2);
       se.getSession().setMaxInactiveInterval(gdef.SessionTO);
   }


SessionResource - мой класс, инкапсулирующий все необходимые мне ресурсы.



--------------------
--
Sleepy_PIP. Pavel Pryazhentsev (ex. 2:5020/141) "... Лучше быть нужным, чем
свободным ..."
PM MAIL ICQ   Вверх
Domestic Cat
Дата 1.2.2005, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 13
Всего: 172




Цитата(Wanderer2019 @ 1.2.2005, 07:15)
Надо следующее... обычное отслеживание пользователя на сайте...т.е. предоставление ему прав в соответствии с его аккаунтом.

Для начала - есть специальные секции в web.xml отведенные под аутентификацию и авторизацию. Почитай что-нибудь про безопасность веб приложений в Java. Сессия - это само собой конечно.


--------------------

PM   Вверх
igon
Дата 2.2.2005, 02:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 327
Регистрация: 30.10.2004

Репутация: нет
Всего: 21



Цитата
на другом, постороннем сервлете пытаюсь прочитать значение

А насколько он посторонний? Может, ты пытаешься запустить его как самостоятельное web-приложение?
Второй сервлет должен запускаться из первого, вернее, из HTML страницы, сгенерированной первым. В этом смысле он не посторонний, а кровный родственник smile



--------------------
Хотите поговорить об этом?
PM   Вверх
Domestic Cat
Дата 2.2.2005, 02:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 13
Всего: 172



Цитата(igon @ 1.2.2005, 17:01)
Может, ты пытаешься запустить его как самостоятельное web-приложение?


Сервлеты должны принадлежать одному веб-приложению; т.е. описаны в одном и том же ДД.
Цитата(igon @ 1.2.2005, 17:01)
Второй сервлет должен запускаться из первого, вернее, из HTML страницы,


Сервлет с ХТМЛ страницы не запускается; он "запускается" при ГЕТ/ПОСТ/... запросе, сделанном на УРЛ, на который он маппирован.


--------------------

PM   Вверх
3,14
Дата 2.2.2005, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород

Репутация: 3
Всего: 24



Цитата(Domestic @ 2.2.2005, 02:09)
Сервлет с ХТМЛ страницы не запускается; он "запускается" при ГЕТ/ПОСТ/... запросе, сделанном на УРЛ, на который он маппирован.

Не совсем верно сказано, обычно он стартует при старте сервлет контейнера или при первом запросе к нему, а при ГЕТ/ПОСТ выполняется ф-ия, обрабатывающая соотвествующий запрос.


--------------------
Может быть, это только мой бред,
Может быть, жизнь не так хороша,
Может быть, я не выйду на свет,
Но я летал, когда пела душа...
PM MAIL   Вверх
Domestic Cat
Дата 2.2.2005, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 13
Всего: 172



Цитата(3)
Не совсем верно сказано, обычно он стартует при старте сервлет контейнера или при первом запросе к нему, а при ГЕТ/ПОСТ выполняется ф-ия, обрабатывающая соотвествующий запрос.


Цитата(Domestic @ 1.2.2005, 17:09)
он "запускается" при ГЕТ/ПОСТ/... запросе, сделанном на УРЛ, на который он маппирован


А кавычки я зачем писал? smile


--------------------

PM   Вверх
3,14
Дата 2.2.2005, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород

Репутация: 3
Всего: 24



Цитата(Domestic @ 2.2.2005, 18:33)
А кавычки я зачем писал?

Сори, не заметил


--------------------
Может быть, это только мой бред,
Может быть, жизнь не так хороша,
Может быть, я не выйду на свет,
Но я летал, когда пела душа...
PM MAIL   Вверх
igon
Дата 3.2.2005, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 327
Регистрация: 30.10.2004

Репутация: нет
Всего: 21



Надо было и мне кавычки применить, чтобы не писать "второй сервлет должен выполнять обработку запроса, сформированного HTML страницей, сформированной, в свою очередь, первым сервлетом" smile



--------------------
Хотите поговорить об этом?
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1186 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.