Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Чайник
Зарегистрирован: 08.08.2002 Сообщения: 98 Откуда: Пермь
|
Добавлено: Вт Июн 03 2003 18:58 Заголовок сообщения: проблемы с ответом на post запрос |
|
|
Возникла проблема с post запросом такая ситуация:
форма посылает пост запрос к сервлету сервлет вносит данные в БД, а потом возвращает html страницу пользователь с нее уходит но потом решает вернутся нажав back но тогда браузер попросит ее обновить (типа "Страница устарела нажмите обновить") но тогда сервлет снова сработает и в БД опять занесется инфа
ипользование метода GET не подойдет так как форма может отправлять рисунок
редирект не предлогать
заранее спасибо |
|
Вернуться к началу |
|
|
epros Гость
|
Добавлено: Вт Июн 03 2003 19:16 Заголовок сообщения: А может так и должно быть в соответствии с бизнес логикой? |
|
|
Ежели запрос является по своей сути командой на внесение информации, при его повторной отправке информация, очевидно, должна вноситься повторно. А как может быть иначе?
Если твоя бизнес-логика запрещает дублирование какой-то информации в базе, поставь UNIQUE индекс на соответствующие поля. Тогда повторный INSERT ничего реально не внесет. |
|
Вернуться к началу |
|
|
DrBorman Гость
|
Добавлено: Вт Июн 03 2003 23:43 Заголовок сообщения: Проверяй базу на наличие побной записи, и в случае совпаний производи не добавление в базу, а чтение из неё! (-) |
|
|
- |
|
Вернуться к началу |
|
|
Чайник
Зарегистрирован: 08.08.2002 Сообщения: 98 Откуда: Пермь
|
Добавлено: Ср Июн 04 2003 10:05 Заголовок сообщения: Re: А может так и должно быть в соответствии с бизнес логикой? |
|
|
причем здесь это?
к примеру пришел ответ: " вы занесли инфу вернуться на главную просмотреть анекдоты "
юзер вначале решил идти на главную но потом решил вернуться на эту страницу чтобы просмотреть анекдоты, тогда браузер попросит обговит страницу, НО ЗАЧЕМ поять запускать сервлет (елси ьы это был GET запрос обновлят не потребовалось) если почтавить триггеры, то тогда юзеру выйдет сообщение об ошибке (и это тоже не нужно) он нажал back лишь для того чтобы найти ссылку на анекдоты
вот так |
|
Вернуться к началу |
|
|
Чайник
Зарегистрирован: 08.08.2002 Сообщения: 98 Откуда: Пермь
|
Добавлено: Ср Июн 04 2003 10:07 Заголовок сообщения: Re: Проверяй базу на наличие побной записи, и в случае совпаний производи не добавление в базу, а чтение из неё! (-) |
|
|
Для чего производить подключение к БД, снова тратить драгоценные ресурсы, когда всего то нужно сказать браузеру что бы он эту страницу не обновлял, но как это сделать? |
|
Вернуться к началу |
|
|
epros Гость
|
Добавлено: Чт Июн 05 2003 18:17 Заголовок сообщения: ...нужно сказать браузеру, чтобы он эту страницу не обновлял |
|
|
Пошли header Expires: ... с указанием разумного времени Тогда ситуация "страница устарела" не должна возникнуть. |
|
Вернуться к началу |
|
|
|