|
|
|
HttpSession не передаётся между сервлетами
|
|||
|---|---|---|---|
|
#18+
Есть такая проблемка. Я почитал в форумах и там пишется что сессия должна быть единой для сеанса работы с сервером. Но у меня при успешном логине пользователю назначается идентификатор следующим образом: HttpSession Session=req.getSession(true); Session=setAttribute("UserID",Id); и при пработе с прогой пользователь обращается к различным сервлетам, которые считывают HttSession и выбирают оттуда параметр UserId таким образом: HttpSession Session=req.getSession(False); if(Session != null){int id=(Integer)Session.getAttribute("UserId");} else{Ошибка сессия не передалась} Я заметил ещё такую весчь, что если один аплет устанавливает атрибут и его же читает при повторном обращении, то всё срабатывает хорошо. А если Один устанавливает сессию, а другой считывает её. ТО происходит ошибка так Session не передаётся и равняется null. В чём тут дело подскажите. Форма взаимодействия пользователя сделана с использование Фраймов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2006, 11:39 |
|
||
|
HttpSession не передаётся между сервлетами
|
|||
|---|---|---|---|
|
#18+
Извиняюсь за ошибку. Вот исправленный вопрос: Есть такая проблемка. Я почитал в форумах и там пишется что сессия должна быть единой для сеанса работы с сервером. Но у меня при успешном логине пользователю назначается идентификатор следующим образом: HttpSession Session=req.getSession(true); Session=setAttribute("UserID",Id); и при пработе с прогой пользователь обращается к различным сервлетам, которые считывают HttSession и выбирают оттуда параметр UserId таким образом: HttpSession Session=req.getSession(False); if(Session != null){int id=(Integer)Session.getAttribute("UserId");} else{Ошибка сессия не передалась} Я заметил ещё такую весчь, что если один Сервлет устанавливает атрибут и его же читает при повторном обращении, то всё срабатывает хорошо. А если Один устанавливает сессию, а другой считывает её. ТО происходит ошибка так Session не передаётся и равняется null. В чём тут дело подскажите. Форма взаимодействия пользователя сделана с использование Фраймов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2006, 15:19 |
|
||
|
HttpSession не передаётся между сервлетами
|
|||
|---|---|---|---|
|
#18+
Эти сервлеты, "один" и "другой" - они точно в одном контексте работают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2006, 15:27 |
|
||
|
HttpSession не передаётся между сервлетами
|
|||
|---|---|---|---|
|
#18+
Pitbull terrierЭти сервлеты, "один" и "другой" - они точно в одном контексте работают? Они относятся к одному проекту. И можно пояснить что значит "относятся к одному контексту"? а то я пока новичок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2006, 15:56 |
|
||
|
HttpSession не передаётся между сервлетами
|
|||
|---|---|---|---|
|
#18+
в одном приложении или нет? web.xml один на всех? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2006, 17:12 |
|
||
|
HttpSession не передаётся между сервлетами
|
|||
|---|---|---|---|
|
#18+
Web.xml у всех один ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2006, 17:38 |
|
||
|
HttpSession не передаётся между сервлетами
|
|||
|---|---|---|---|
|
#18+
попробуй зафиксировать время обращения - может с фреймами чего-то накручено, и считывание сессии происходит раньше, чем установка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2006, 17:44 |
|
||
|
HttpSession не передаётся между сервлетами
|
|||
|---|---|---|---|
|
#18+
время создания Сессии меньше чем время момента считывания. проверил только что. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2006, 18:21 |
|
||
|
HttpSession не передаётся между сервлетами
|
|||
|---|---|---|---|
|
#18+
код обоих сервлетов в студию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2006, 18:24 |
|
||
|
HttpSession не передаётся между сервлетами
|
|||
|---|---|---|---|
|
#18+
<censored>! кажется, я знаю если то, что ты написал - копипаст из кода, то: Session=setAttribute("UserID",Id); и Session.getAttribute("UserId");} "UserID" != "UserId" почувствуйте разницу (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2006, 18:26 |
|
||
|
HttpSession не передаётся между сервлетами
|
|||
|---|---|---|---|
|
#18+
Почти весь код первого сервлета который устанавливает сессию Модератор: есть кнопка SRC для заключения выделеного текста в тег форматирования кода Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Код второго сервлета который получает сессию: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2006, 18:52 |
|
||
|
HttpSession не передаётся между сервлетами
|
|||
|---|---|---|---|
|
#18+
ну блин я не знаю :-\ архивируй проект и кидай мне на мыло (в профиле) будем посмотреть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2006, 19:06 |
|
||
|
HttpSession не передаётся между сервлетами
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. Попробуй вот так (или возле того) Код: plaintext 1. 2. 3. WBR, Malkolinge ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2006, 00:22 |
|
||
|
HttpSession не передаётся между сервлетами
|
|||
|---|---|---|---|
|
#18+
MalkoLinge Код: plaintext 1. Попробуй вот так (или возле того) Код: plaintext 1. 2. 3. WBR, Malkolinge Спасибо огромное. Всё заработало. ДЕйствительно этой строкой я убивал сессию res.sendRedirect("http://"+req.getRemoteHost()+"/docflow_web/main_frame.html"); после её модификацмм в следующий вид res.sendRedirect("main_frame.html"); всё заработало. Благодарю Pitbull terrier за помошь в решении вопроса. MalkoLinge привелико благодарен за подсказку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2006, 12:24 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33839476&tid=2148736]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
159ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 220ms |
| total: | 474ms |

| 0 / 0 |
