【问题标题】:Apache Tomcat restart causes session clear in Java and session persist on a JSP pageApache Tomcat 重新启动会导致 Java 中的会话清除并且会话在 JSP 页面上持续存在
【发布时间】:2012-02-15 13:29:00
【问题描述】:

我在我的jsp页面中写了一个jsp重定向,像这样

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

当我重新启动 Tomcat 时,标签会在我的 jsp 页面中打印 true。但是我在 struts 中编写了一个拦截器,它检查会话System.out.println(session.get("doctorLogin")+"test");,并在我重新启动页面时打印null。在这里我可以理解,当我重新启动tomcat时,会话在java中被清除,而当我重新启动tomcat时,会话在jsp中仍然存在。有没有人知道为什么这个会话在java页面中被清除以及为什么在重新启动tomcat时它不在jsp页面中。有人有想法吗?

我使用struts2、hibernate和tomcat6作为服务器

谢谢。

【问题讨论】:

    标签: java jsp struts2 tomcat6


    【解决方案1】:

    if 标记中的测试是否损坏?

    在 java 中,表达式session.Doctor = true 不检查 session.Doctor 的值。相反,它分配值 true 给 session.Doctor。

    尝试使用&lt;s:if test="#session.Doctor == true "&gt;(注意第二个等号)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-28
      • 2014-05-27
      相关资源
      最近更新 更多