У меня есть приложение struts2, Hibernate и Spring. Он работает правильно на нашем локальном конце. Когда мы развертываем приложение на сервере разработки, иногда некоторые формы отправляются дважды при отправке формы. Это приводит к тому, что в базу данных заносятся дубликаты данных.
Это происходит только на сервере. Это редко происходит в Firefox, но очень часто в IE. И опять же это происходит только на некоторых формах, а не на других формах. Однако нет ничего, что отличало бы эти формы.
Иногда мы использовали кнопку отправки struts 2 для отправки форм, а иногда использовали java-скрипт с простыми кнопками для отправки формы.
В качестве последнего способа мы можем использовать перехватчик для предотвращения отправки двойных форм (нам придется внести изменения во многие формы), но дело в том, что это вообще не происходит на локальном конце. Почему это происходит только на сервере, а также на некоторых формах, а иногда и только.
РЕДАКТИРОВАТЬ:
Еще одна вещь, которую я заметил, это то, что когда я не использую сетевой прокси, даже на сервере форма не отправляется дважды, но когда используется сетевой прокси, форма отправляется дважды. Приложение нормально работает без прокси. Дубликатов нет вообще.
При чем здесь прокси? Кто-нибудь сталкивался с такими проблемами с сетевым прокси и двойной отправкой формы?
РЕДАКТИРОВАТЬ2:
Только сейчас я обнаружил, что при использовании прокси иногда отказывают в доступе, в этом случае почтовый запрос отправляется браузером дважды, что приводит к двойной отправке формы.
Если я вижу заголовок http, я вижу два почтовых запроса, один из которых имеет следующие заголовки.
HTTP/1.1 407 Требуется аутентификация прокси-сервера (серверу ISA требуется авторизация для выполнения запроса. Доступ к службе веб-прокси запрещен.)
Есть идеи по этому поводу? Пожалуйста помоги.
meta header
, например. :<meta http-equiv="Cache-Control" content="no-store"/>
,<meta http-equiv="Pragma" content="no-cache"/>
,<meta http-equiv="Expires" content="0"/>
- person lschin   schedule 31.05.2011