此URL不支持HTTP方法POST,而Servlet中具有doPost方法

时间:2019-02-11 11:35:56

标签: java http post servlets

这是我的问题... 我的项目中有这个文件:login.html和UserLoginServlet

这是login.html:

<form action="/gitowcy/login" method="post" class="main-form needs-validation" novalidate>
    <div class="row">
        <div class="col col-12 col-sm-9 col-md-6 col-lg-4">
            <div class="form-group">
                <label for="login">Login</label>
                <input type="text" name="login" id="login" class="form-control" required>
                <div class="invalid-tooltip">Niepoprawny lub pusty login!</div>
            </div>
        </div>
    </div>

    <div class="row">
        <div class="col col-12 col-sm-9 col-md-6 col-lg-4">
            <div class="form-group">
                <label for="password">Hasło</label>
                <input type="password" name="password" id="password" class="form-control" required>
                <div class="invalid-tooltip">Niepoprawne lub puste hasło!</div>
            </div>
        </div>
    </div>
    <div class="row">
         <div class="col">
             <button type="submit" class="btn btn-success btn-lg">Zaloguj</button>
         </div>
    </div>
</form>

这是servlet:

@WebServlet("/gitowcy/login")
public class UserLoginServlet extends HttpServlet {

@EJB
UserRepository userRepository;

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    resp.setContentType("text/html");

    String login = req.getParameter("login");
    String password = req.getParameter("login");
    PrintWriter writer = resp.getWriter();

    if (login == null | login.isEmpty() | password == null | password.isEmpty()) {
        writer.write("ERROR");
        return;
    } else {
        if (userRepository.validateUser(login, password)) {
            RequestDispatcher dispatcher = req.getRequestDispatcher("/gitowcy/logged");
            dispatcher.forward(req, resp);
        } else {
            writer.println("USER DONT EXIST!");
        }
    }

    writer.close();
}

}

我的数据库中有1个用户名为admin / pass。我以表格形式写入此数据,然后单击“登录”。该程序使我链接到http://localhost:8080/gitowcy/login,并始终显示以下消息:“此URL不支持HTTP方法POST” ...

我不知道该如何解决这个问题... 请帮我...

0 个答案:

没有答案