退出登录状态

mian.jsp 内代码修改

<tr>
                <td colspan="2" style="text-align: center;"><a
                    href="<%=request.getContextPath()%>/add.jsp">注册新用户a>td>
            tr>
            <tr>
                <td colspan="2" style="text-align: center;"><a
                    href="<%=request.getContextPath()%>/logout.udo">注销登陆状态a>td>
            tr>

在注册新用户下面,创建注销按键,并撒送到接收udo的servlet中。

logout处理方法

/**
     * 记录登陆状态的cookie删除,要删除记录的session
     * @param req
     * @param resp
     * @throws ServletException
     * @throws IOException
     */
    @SuppressWarnings("unused")
    private void logout(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //删除cookie
        Cookie[] cookies = req.getCookies();
        if(cookies != null && cookies.length > 0) {
            for (Cookie cookie : cookies) {
                if(cookie.getName().equals("userKey")) {
                    cookie.setMaxAge(0);
                    resp.addCookie(cookie);
                }
                if(cookie.getName().equals("ssid")) {
                    cookie.setMaxAge(0);
                    resp.addCookie(cookie);
                }
            }
        }
        //删除session
        HttpSession session = req.getSession();
        if(session != null) {
            session.removeAttribute("user");
        }
        //跳转登陆
        resp.sendRedirect(req.getContextPath() + "/login.jsp");
    }

要清除cookie和session这两个中的相关内容。

你可能感兴趣的:(退出登录状态)