【问题标题】:when I click on logout link once then it doesn't go back but when I click on logout link twice then it goes back or previous page当我单击注销链接一次时,它不会返回,但是当我单击注销链接两次时,它会返回或返回上一页
【发布时间】:2020-04-21 16:39:57
【问题描述】:

我正在使用 netbens8 中的 jsp 编写注销代码。我的数据库在mysql中。我正在尝试为注销超链接编写代码。我已经完成了以下代码。但是我的问题是,当我单击注销链接一次时,它不会返回,但是当我单击注销链接两次时,它会返回或返回上一页。

我在 filelist.jsp 页面中创建了一个链接<a href="logout.jsp">Click here to logout</a>。当我单击此链接时,它将重定向到 logout.jsp 页面。我想限制用户返回。怎么做?我在代码的某个地方弄错了吗?

这是我的 filelist.jsp 页面

<%-- 
    Document   : filelist
    Created on : 22 Oct, 2019, 7:48:04 PM
    Author     : Z0009289
--%>

<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Statement"%>
<%@page import="com.servlet.db.DB"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%
   
    
%>    
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link href="bootstrap.css" rel="stylesheet" type="text/css">
        <title>file_list Page</title>
        
    </head>
    <body>
        <a href="logout.jsp">Click here to logout</a>
    </body>
</html>

这是我的 logout.jsp 页面

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
    response.setHeader("Cache-Control","no-cache");
    response.setHeader("Cache-Control","no-store");
    response.setHeader("Pragma","no-cache");
    response.setDateHeader ("Expires", 0);
    session = request.getSession();
    
    String userid = "";
    if ((session.getAttribute("userid") == null) || (session.getAttribute("userid") == "")) {
        response.sendRedirect("login.jsp");
    }
    else{
        userid = session.getAttribute("userid").toString();
    }
%>    
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Log out Page</title>
    </head>
    <body>
        
        <h2>Are you sure to logout???</h2>
        <% 
            response.setHeader("Cache-Control","no-cache");
            response.setHeader("Cache-Control","no-store");
            response.setHeader("Pragma","no-cache");
            response.setDateHeader ("Expires", 0);
        %>
        
        <a href="signout.jsp"><button type="submit">Logout</button></a>
    </body>
</html>

这是我的 signout.jsp 页面

  <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <% 
            response.setHeader("Cache-Control","no-cache");
            response.setHeader("Cache-Control","no-store");
            response.setHeader("Pragma","no-cache");
            response.setDateHeader ("Expires", 0);
%>

      <%
    
    session = request.getSession();
    
    String uname = "";
    if ((session.getAttribute("userid") == null) || (session.getAttribute("userid") == "")) {
        response.sendRedirect("login.jsp");
    }
    else{
        uname = session.getAttribute("userid").toString();
    }
%>
        <!DOCTYPE html>
        <html>

        <head>
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          <title>Sign out Page</title>
        </head>

        <body>
          <%  
        response.setHeader("Cache-Control","no-cache");
        response.setHeader("Cache-Control","no-store");
        response.setHeader("Pragma","no-cache");
        response.setDateHeader ("Expires", 0);
        if(session.getAttribute("userid") != null){
            session.removeAttribute("userid");
            request.getSession(false);
            session.setAttribute("userid", null);
            session.invalidate();
            response.sendRedirect("login.jsp");
            
        }
        
        %>
        </body>
        </html>

【问题讨论】:

    标签: java mysql jsp servlets netbeans


    【解决方案1】:

    此代码 sn-ps 将为您工作并解决您的错误

    Logout.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
    
    <head>
    <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <META HTTP-EQUIV="Expires" CONTENT="-1">
    </head>
    ----//body tags
    <%
    session.invalidate();
    response.setHeader("Cache-Control","no-store"); 
    response.setHeader("Pragma","no-cache"); 
    response.setDateHeader ("Expires", 0);
    %>
    <jsp:forward page="index.jsp"></jsp:forward>
    
    

    一个链接

     <li><a href="logout.jsp">Logout</a></li>
    

    【讨论】:

    • 感谢您的宝贵时间和回复。我很困惑,我应该在哪里将上述行添加到我的代码中?。
    • 我在
    猜你喜欢
    • 2023-03-19
    • 2013-06-09
    • 1970-01-01
    • 2012-07-24
    • 2018-09-25
    • 2017-08-15
    • 2014-06-24
    • 1970-01-01
    • 2014-11-18
    相关资源
    最近更新 更多