Я сделал контроллер, который должен обрабатывать информацию о форме и отправлять ее в базу данных (пока это только печать), но когда я нажимаю кнопку «отправить», URL-адрес, который поступает в браузер, неверен, поскольку он подразумевает, что контроллер находится в моей папке jsp где, очевидно, нет. Как это исправить?Spring - Как правильно сопоставить контроллер?
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.method.support.ModelAndViewContainer;
import wymysl.database.Person;
import wymysl.database.PersonsRepository;
@RequestMapping("/register")
public class RegisterController {
PersonsRepository repo;
@RequestMapping(value = "/addPerson", method = RequestMethod.POST)
public String register(@ModelAttribute("Person") Person person, HttpServletRequest request) {
System.out.println(""+person.getName());
return "index";
}
Это заголовок формы
<form class="form-register" method="POST" action="/register/addPerson" commandName="Person">
web.xml
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>MyApp</display-name>
<servlet>
<servlet-name>app</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>app</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
Для начала измените ваше сопоставление запроса на/register, а не только на регистрацию. Зачем вам нужен HttpServletRequest? и измените действие на addPerson или что бы вы ни делали. –
Для получения атрибутов из формы. Изменен бит-код сейчас, но он все еще не работает. Посмотрите –
Нет, просто измените отображение запроса поверх метода register внутри класса, сохраните аннотацию Controller как и для класса. –