Java: я теряю сессию: будет ли проблема с использованием "<a href>"? - PullRequest
2 голосов
/ 05 октября 2010

У меня проблемы с Java при управлении сеансами. Все работает отлично (я создаю и получаю / устанавливаю значения в сеансе), пока не перенаправлю со ссылкой (ссылка находится в JSP). Затем сеанс теряется.

Мой сервер - Tomcat, а мой браузер - браузер Firefox. Я использую Struts 2.

Спасибо за ваше время; -)

Ответы [ 3 ]

2 голосов
/ 05 октября 2010

Стандартное время автоматического удаления сеанса составляет около 30 минут (например, в Tomcat), но оно зависит от конфигурации.

Если вы напишите session.invalidate(), ваш сеанс также будет удален.

Ваш сеанс автоматически теряется, если вы закрываете каждую вкладку в браузере, в котором открыли сеанс (даже если у вас есть другие окна с тем же браузером).

Ваша ссылка находится на том же сервере приложений? Если это произойдет, это не должно потеряться, если вы не делаете то, что я сказал ранее.

1 голос
/ 05 октября 2010

Одна из возможностей состоит в том, что ваш текущий cookie-файл сеанса помечен как «безопасный», а «href» - ​​это ссылка «http:». Это приведет к тому, что браузер не будет отправлять cookie, и в зависимости от структуры вашего веб-приложения новый сеанс может быть создан автоматически.

1 голос
/ 05 октября 2010

Если вы принимаете куки в вашем навигаторе, ваш код может вызвать invalidate(), когда вы перейдете на эту страницу. Проверьте фильтры тоже.

...