org.springframework.web.HttpRequestMethodNotSupportedException: метод запроса 'GET' не поддерживается - PullRequest
0 голосов
/ 30 сентября 2018

Я пытаюсь найти «туриста» из базы данных по его фамилии и вернуть его для просмотра, но я получаю ошибку

org.springframework.web.HttpRequestMethodNotSupportedException: метод запроса 'GET«не поддерживается» и «Метод, полученный в строке запроса, известен исходному серверу, но не поддерживается целевым ресурсом.

Я также вижу в консоли, что турист найден, но проблема начинаетсякогда я хочу передать объект для просмотра.

Я открываю страницу, чтобы найти туриста по этому коду:

<form:form method="GET" action="/space.flights/tourist/find">
    <input type="submit" value="Find Tourist" />
</form:form></td>

Это страница для поиска:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" isELIgnored="false"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>List of tourist</title>
</head>
<body>
    <form:form method="post" action="found">
        <table>
            <tr>
                <td>Last Name :</td>
                <td><form:input path="lastName" /></td>
            </tr>
            <tr>
                <td></td>
                <td><input type="submit" value="Find" /></td>
            </tr>
        </table>
    </form:form>
</body>
</html>

Затем контроллер:

@RequestMapping("/find")
public ModelAndView find() {
    ModelAndView model = new ModelAndView("tourist/find", "command", new Tourist());
    return model;
}

@RequestMapping(value = "/found", method = RequestMethod.POST)
public ModelAndView found(@ModelAttribute("lastName") String lastName) {
    System.out.println("LOOKING " + lastName);
    Tourist tourist = touristService.findTourist(lastName);
    System.out.println("FOUND: " + tourist.toString() + "FROM = " + lastName);
    return new ModelAndView("redirect:/tourist/found");
}

И страница для отображения результата:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1" isELIgnored="false"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Tourist</title>
</head>
<body>
    <table border="2" width="70%" cellpadding="2">
        <tr>
            <th>First Name</th>
            <th>Last Name</th>
            <th>Gender</th>
            <th>Country</th>
            <th>Notes</th>
            <th>Birth</th>
        </tr>
        <c:out value="${tourist}">
            <tr>
                <td>${tourist.firstName}</td>
                <td>${tourist.lastName}</td>
                <td>${tourist.gender}</td>
                <td>${tourist.country}</td>
                <td>${tourist.notes}</td>
                <td>${tourist.birth}</td>
            </tr>
        </c:out>
    </table>
</body>
</html>

Я пытался изменить POST и GET, но, возможно, я чего-то не понимаю в этом.думал, что мне нужно здесь POST для отправки моих данных. Может быть, проблема в другом месте?

...