【问题标题】:session in java applicationjava应用程序中的会话
【发布时间】:2017-09-04 18:50:14
【问题描述】:

我想将会话添加到我的项目中,当用户根据需要注销时,我在 jsp 文件顶部的注销 javascript 函数中将会话属性设置为 null。但是一旦我登录到系统并刷新页面,会话就会使自己为空。这是我的功能。

function logoutFunction() {
            var txt;
            if (confirm("Need to Logout!") == true) {
        <% session.setAttribute("Name",null); %>
                document.location.href = 'Logout_Con';
                location = 'index.jsp';
            } else {
                location = 'welcome_page.jsp';
            }
            document.getElementById("demo").innerHTML = txt;
        }

这是错的吗?:(

【问题讨论】:

  • 如何声明会话变量?
  • JSP 上的 JavaScript 影响服务器端,因此您将提供服务器端会话管理。
  • 这行&lt;% session.setAttribute("Name",null); %&gt;在客户端加载网页之前执行。所以javascript根本看不到那条线。看看JSP 是如何工作的,你可以看到PHP 的工作原理是一样的。
  • HttpSession 会话 = request.getSession(); session.setAttribute("姓名", 用户名);

标签: javascript java jsp session


【解决方案1】:

您不能在 Javascript 中添加 Java 代码。 Java 代码之前执行过。

您需要提交logout的参数作为输入名称logout,值为Y,然后检查它,如:

<% 
boolean logoutSubmitted = "Y".equals(request.getParameter("logout"));
if (logoutSubmitted == true) {
   session.setAttribute("Name",null); 
}
%>

【讨论】:

  • 非常感谢您回答我的问题。有用。 :)
猜你喜欢
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
  • 2011-01-02
  • 2013-03-26
  • 2011-07-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多