java防止重復(fù)提交訂單 java后臺(tái)接口怎么防止重復(fù)提交?
java后臺(tái)接口怎么防止重復(fù)提交?1. Meta方法將此代碼添加到表單頁(yè)的標(biāo)題區(qū)域:<meta http equiv=“pragma”content=“no cache”><meta ht
java后臺(tái)接口怎么防止重復(fù)提交?
1. Meta方法將此代碼添加到表單頁(yè)的標(biāo)題區(qū)域:<meta http equiv=“pragma”content=“no cache”><meta http equiv=“cache control”content=“no cache,must validate”><meta http equiv=“expires”content=“wed,F(xiàn)eb 1997 08:21:57 GMT”>
2。token方法生成一個(gè)令牌并將其存儲(chǔ)在用戶會(huì)話中。表單中會(huì)添加一個(gè)隱藏字段以顯示標(biāo)記的值。提交表單后,將生成一個(gè)新令牌。將用戶提交的令牌與會(huì)話中的令牌進(jìn)行比較。如果不同,則會(huì)重復(fù)提交。
3. 禁用按鈕方法<input type=“button”value=“submit”onclick=”this.disabled=truethis. 表單提交()“>
如何防止用戶重復(fù)提交數(shù)據(jù)?
總結(jié)了以下防止用戶重復(fù)提交數(shù)據(jù)并禁用提交按鈕的方法。發(fā)布/重定向/獲取模式。在會(huì)話中存儲(chǔ)特殊標(biāo)志。在數(shù)據(jù)庫(kù)中添加約束、在數(shù)據(jù)庫(kù)中添加唯一約束或創(chuàng)建唯一索引以防止重復(fù)數(shù)據(jù)。此方法是防止重復(fù)數(shù)據(jù)提交的最有效方法。以上是介紹這四種方法的參考
防止重復(fù)請(qǐng)求。一個(gè)好的項(xiàng)目應(yīng)該有一個(gè)完美的機(jī)制來(lái)防止在后臺(tái)重復(fù)請(qǐng)求。
如果只從前端執(zhí)行,則有許多方法,例如:
1。定義一個(gè)全局變量,第一次發(fā)送請(qǐng)求時(shí)設(shè)置為true,然后判斷該值是否為true,判斷是否有請(qǐng)求。當(dāng)請(qǐng)求返回時(shí),將其重置為false以指示可以再次請(qǐng)求它。
2. 在請(qǐng)求后將窗體按鈕設(shè)置為禁用狀態(tài),然后在請(qǐng)求返回后啟用它;
3。啟用彈出控件,彈出等待框“處理”請(qǐng)求后阻止頁(yè)面,不允許用戶操作,請(qǐng)求回來(lái)后關(guān)閉等待框;
等等。。。。
但無(wú)論哪種方式,這些方法都只能阻止合法用戶的操作,徹底解決重復(fù)提交的問(wèn)題,或者從后臺(tái)開(kāi)始