HTML статус 412

Во время реализации регистрации юзера в веб-приложении столкнулся с проблемой: статус 412. скрин с ошибкой Статус вылезает при обновлении страницы, на которую кидает юзера при попытке регистрации с логином, который уже используется. Вот кусок сервлета

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String login = req.getParameter("login");
        String password = req.getParameter("password");
        DBTool dbTool = DBTool.getInstance();
        if (dbTool.userExists(login)){
            PrintWriter out = resp.getWriter();
            req.getRequestDispatcher("loginIsBusy.html").forward(req, resp);
        }
        else {
            dbTool.addUser(login, password);
            resp.sendRedirect("/home?login=" + login + "&password=" + password);
        }
    }

forward происходит на полупустое представление

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
login is busy
</body>
</html>

Именно обновление страницы во время пребывания на данном педставлении вызывает ошибку. Причем при повторном обновлении представление снова показывается. Если обновить еще раз, то опять ошибка, и так по кругу. Дело именно в forward, как я понял, без него все номально работает, к примеру, вот так

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String login = req.getParameter("login");
        String password = req.getParameter("password");
        DBTool dbTool = DBTool.getInstance();
        if (dbTool.userExists(login)){
            PrintWriter out = resp.getWriter();
            out.println("<html>");
            out.println("login is busy");
            out.println("<html>");
        }
        else {
            dbTool.addUser(login, password);
            resp.sendRedirect("/home?login=" + login + "&password=" + password);
        }
    }

Пытался читать про статус этот окаянный, ничего не понятно... Единственное, за что зацепился, так это заголовки request: их на два больше, когда появляется ошибка.

If-Modified-Since: Wed, 29 May 2024 22:08:26 GMT
If-None-Match: W/"138-1717020506711"

Люди добрые, помогите!!! Предполагаю, что вопрос глупый, но прошу проявить терпение, только приступил к изучению веб-разработки)


Ответы (0 шт):