Почему Spring создает новый объект Customer каждый раз, когда я отправляю форму, и как долго Spring хранит данные клиента?
Вообще говоря, Spring не создает нового Customer
возражать каждый раз, когда вы отправляете форму. Это привязка данных формы к объекту модели, который вы отправили из обработчика GET
:
theModel.addAttribute("customer", new Customer());
И в обработчике POST
этот же объект разрешается с помощью
@ModelAttribute("customer") @Valid Customer theCustomer,
Посмотрите, как это разрешение выполняется с помощью @ModelAttribute
в документации Spring Framework.
Обычно данные поступают через запросы, если не настроено иначе, например, с @SessionAttributes
.
Кроме того, почему мои поля ввода становятся пустыми, если я отмечаю URL в браузере и нажимаю клавишу ввода?
Это новый GET
запрос, ie, все так же, как в первый раз, когда вы вводите URL и нажимаете ввод!