Метод POST не работает в Spring MVC - PullRequest
0 голосов
/ 25 апреля 2018

Я создал форму входа в систему

<form class="login100-form validate-form p-b-33 p-t-5" method="POST">
<div class="wrap-input100 validate-input" data-validate = "Enter username">
    <input class="input100" type="text" name="username" placeholder="User name">
    <span class="focus-input100" data-placeholder="&#xe82a;"></span>
</div>
<div class="wrap-input100 validate-input" data-validate="Enter password">
    <input class="input100" type="password" name="pass" placeholder="Password">
    <span class="focus-input100" data-placeholder="&#xe80f;"></span>
</div>
<div class="container-login100-form-btn m-t-32">
    <input class="login100-form-btn" type="button" onclick="location.href='eLibrary/login'" value="Login" >
</div>

И моя функция контроллера -

@RequestMapping(value = "/login", method = RequestMethod.POST)
public String login(HttpServletRequest request, HttpServletResponse response) {
    String userName = request.getParameter("username");
    String pass = request.getParameter("pass");
    return "list-books";
}

Но, когда я пытаюсь войти, он даетошибка

Статус HTTP 405 - Метод не разрешен

Метод запроса 'GET' не поддерживается

Я даже пытался

@PostMapping("/login")
public String login(HttpServletRequest request, HttpServletResponse response) {
    String userName = request.getParameter("username");
    String pass = request.getParameter("pass");
    return "list-books";
}

Но в приведенном выше случае request.getParameter ("username") дает ноль.

Может кто-нибудь, пожалуйста, помогите мне.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Обновить строку:

<input class="login100-form-btn" type="button" onclick="location.href='eLibrary/login'" value="Login" >

с удалением по клику:

<input class="login100-form-btn" type="submit" value="Login" >

и обновите строку FORM до:

<form class="login100-form validate-form p-b-33 p-t-5" method="POST" action="eLibrary/login">

Onclick всегда отправляет запрос GET. Если вы хотите сделать POST с javascript, вы должны использовать действие AJAX.

0 голосов
/ 25 апреля 2018

Обновление ниже строки

<input class="login100-form-btn" type="button" onclick="location.href='eLibrary/login'" value="Login" >

с <input class="login100-form-btn" type="submit" onclick="location.href='eLibrary/login'" value="Login" >

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...