JSF и Tomcat: getSession и getRequestedSessionId возвращают ноль - PullRequest
0 голосов
/ 29 февраля 2012

У меня есть веб-приложение, в котором есть слушатель фазы.Когда слушатель фазы работает, он делает несколько вещей с картой сеанса.Случайно (обычно не первый запрос, но чаще, когда запросы выдаются быстро) Я получаю исключение пустого указателя из SessionMap.put.После небольшого копания оказалось, что когда SessionMap.put получал сессию, он возвращал нулевой указатель (даже если он вызывает getSession (true)).Поэтому я провел небольшую отладку и обнаружил, что действительно getSession и getRequestedSessionId возвращают null при вызове.Однако, если вы проверяете файлы cookie в запросе (request.getCookies ()), файл cookie JSESSIONID включается в запрос и имеет правильный сеанс.Похоже, не существует рифмы или причины того, почему сеанс и запрашиваемый идентификатор сеанса иногда возвращаются в нормальное состояние, а иногда возвращаются в нулевое значение.Единственная другая информация, которая может иметь отношение к этому, заключается в том, что страницы JSF находятся в том же приложении, в котором живут некоторые более старые JSP / Servlets.путь cookie к «/» решил подобные проблемы для них, но, похоже, не решил эту проблему здесь.

...