工做總結 項目中如何處理重複提交問題

在咱們的平常業務中,有一些業務咱們會須要咱們限制用戶重複點擊提交。前端

例如,在咱們的訂單系統中,咱們應該防止用戶重複點擊下單,避免重複下單。redis

1. 前端的限制

首先須要前端人員的配合,頁面樣式只須要點擊一次,點擊一次就使用樣式禁止點擊[可是,沒法真正防止重複提交,還得靠後端的限制]。後端

2. 後端的限制

後端能夠採用token方案:服務器

  1. 當前頁面第一次加載時,請求服務端獲取惟一token
  2. 服務端生成token,並放入redis,接着返回token給客戶端(能夠放在cookie中或者header中,若是放在header中,須要前端幫忙)
  3. 客戶端獲取token,存入當前的頁面
  4. 提交的時候的須要將頁面的token提交給服務器
  5. 服務器得到頁面的token和redis中的進行比較,比較同時刪除token
String token = redis.get("token");
redis.delete("token");
String token1 = request.get("token");
if(token.equals(token1)){
	boolean flag = redisTemplate.opsForValue().setIfAbsent(token,111);
	if(flag){
		// 執行業務
	}
}
相關文章
相關標籤/搜索