У меня есть приложение struts2, Hibernate и Spring. Это работает правильно на нашем местном конце. Когда мы разворачиваем приложение на сервере разработки, иногда некоторые формы отправляются дважды при отправке формы. Это приводит к тому, что дубликаты данных вводятся в базу данных.
Это происходит только на сервере. Это редко случается в Firefox, но очень часто в IE. И снова это происходит только в некоторых формах, а не в других. Там нет ничего, чтобы дифференцировать эти формы, хотя.
Мы иногда использовали кнопку отправки Struts 2 для отправки форм, а иногда использовали скрипт Java с простыми кнопками для отправки формы.
В качестве последнего способа мы можем использовать перехватчик для предотвращения двойной отправки форм (нам придется вносить изменения в множество форм), но дело в том, что на локальном конце это вообще не происходит. Почему это происходит только на сервере, и это тоже в некоторых формах, а иногда только.
EDIT:
Еще одна вещь, которую я заметил, - это то, что когда я не использую сетевой прокси, то даже на серверной форме не отправляется дважды, но когда используется сетевой прокси, форма отправляется дважды. Приложение работает нормально без какого-либо прокси. Нет дубликатов вообще.
Какие прокси имеют к этому отношение? Кто-нибудь сталкивался с такими проблемами с сетевым прокси и двойной формой отправки?
EDIT2:
Только сейчас я обнаружил, что при использовании прокси иногда доступ запрещен, в этом случае запрос отправляется браузером дважды, что приводит к двойной отправке формы.
Если я вижу заголовок http, я вижу два почтовых запроса, один из которых имеет следующие заголовки
HTTP / 1.1 407 Требуется проверка подлинности прокси-сервера (ISA-серверу требуется авторизация для выполнения запроса. Доступ к службе веб-прокси запрещен.)
Есть идеи по этому поводу?
Пожалуйста помоги.