Вставка избыточных данных в таблицу со страницы Jsp

У меня есть одна страница jsp, и после ее заполнения она переходит на другую страницу отчета, которая доступна только для чтения. При нажатии на кнопку отправить в первой форме, он переходит на вторую страницу отчета и сохраняет данные в базу данных. У меня есть кнопка "Назад" во второй форме отчета, или я обновляю страницу. Форма отчета сохраняет копию тех же полей в базе данных.

Что я тут не так делаю?

1 ответ

Есть несколько способов обойти эту проблему

Токен сеанса Используйте токен сеанса, чтобы определить, была ли обработана форма, которая вызывает первоначальную отправку.

Перенаправление Используйте перенаправление, а не прямую пересылку к представлению из сервлета, который выполнил операцию, которую вы не хотите дублировать.

Например: предположим, что после вставки строки вы хотите отобразить страницу, на которой показан объект, представленный этой строкой. В вашем сервлете вставки вы выполняли бы операцию вставки SQL, но тогда НЕ выполняли бы прямую пересылку на страницу отображения. Вы перенаправили бы на сервлет, который получил бы результат вставки, а затем этот сервлет перешел на страницу отображения. Таким образом, после обновления все, что происходит, - это то, что сервлет повторно получает запись и отображает ее. Многократные вставки не могут произойти.

Другие вопросы по тегам