gpt4 book ai didi

jsp - 在 JSP 中注销时结束 session

转载 作者:行者123 更新时间:2023-12-02 01:33:56 24 4
gpt4 key购买 nike

以下是我的导航栏,用于包含页面的注销按钮。

我想在用户单击注销按钮时结束 session 。

我通过谷歌搜索找到示例代码并添加到我的代码中,但以下代码显示错误。(检查屏幕截图中的错误)

<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">

<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Hi, <%=session.getValue("Username") %><b class="caret"></b></a>
<ul class="dropdown-menu">
<li align="center" class="well">

<a href="index.jsp" class="btn btn-sm btn-default"><span class="glyphicon glyphicon-log-out"></span> Logout</a>
<%
session.invalidate();
response.sendRedirect("index.jsp");
%>
</li>
</ul>
</li>
</ul>
</div><!-- /.navbar-collapse -->

帮我改正这段代码..

enter image description here

最佳答案

默认情况下,如果 session 不可用,容器会为您创建一个 session 。对于 JSP 用于避免创建新 session :

<%@ page session="false" %>

在访问 session 变量之前检查 session 是否可用。在没有 session 的情况下,如果我们调用 session 对象 方法,它将引发 IlleagalStateExcetion

   <% if (session!=null) {%>
<%=session.getValue("Username") %><b class="caret"></b></a>
<% } %>

每次页面加载时 session 都会失效,原因是未单击 Logout。因此,通过单击 Logout 放置一个单独的页面来使 session 无效

这里我将它用作logout.jsp,它包含 session 失效代码:

 <!-- For not creating new session -->
<%@ page session="false" %>

<body>
<%
// for checking the session is available or not, if not available it will throw exception, "Session already invalidated."
if (sesssion!=null) {
session.invalidate();
response.sendRedirect("index.jsp");
}
%>
</body>

最后更改 Logout 链接,如下所示:

<a href="logout.jsp" class="btn btn-sm btn-default"><span class="glyphicon glyphicon-log-out"></span> Logout</a>

试一试:)

关于jsp - 在 JSP 中注销时结束 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32303633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com