Перезапуск Apache Tomcat вызывает очистку сеанса в Java и сохранение сеанса на странице JSP - PullRequest
0 голосов
/ 15 февраля 2012

Я написал jsp redirect на своей странице jsp, как это

<s:if test="#session.Doctor =  true ">
    <script type="text/javascript">
        top.location.href = "dashboard";
    <s:property value="#session.Doctor" />
    </script>
</s:if>

Тег печатает true на моей странице jsp при перезапуске Tomcat. Но я написал перехватчик в стойках, который проверяет сеанс System.out.println(session.get("doctorLogin")+"test");, и он печатает null при перезапуске страницы. Здесь я мог понять, что сеанс очищается в Java, когда я перезапускаю Tomcat, и сеанс сохраняется в JSP, когда я перезапускаю Tomcat. У кого-нибудь есть представление о том, как это происходит, когда этот сеанс очищается на странице Java и почему он не на странице JSP при перезапуске Tomcat. У кого-нибудь есть идея?

Я использую Struts2, Hibernate и Tomcat6 в качестве сервера

Спасибо.

1 Ответ

1 голос
/ 15 февраля 2012

Тест в теге if не работает?

в java, выражение session.Doctor = true не проверяет значение session.Doctor.Вместо этого присваивает значение true для сеанса. Доктор.

Попробуйте использовать <s:if test="#session.Doctor == true "> (обратите внимание, что второе равно)

...