針對于重復(fù)提交的整體解決方案:
1.用redirect來解決重復(fù)提交的問題
2.點(diǎn)擊一次之后,按鈕失效
3.通過loading
4.自定義重復(fù)提交過濾器
5.解決struts2重復(fù)提交
可以結(jié)合s:token標(biāo)簽來解決重復(fù)提交問題
利用token的原理:
當(dāng)客戶端請求頁面時,服務(wù)器會生成一個隨機(jī)數(shù)Token盖溺,并且將Token放置到session當(dāng)中帆阳,然后將Token發(fā)給客戶端(一般通過構(gòu)造hidden表單)喷楣。下次客戶端提交請求時汰聋,Token會隨著表單一起提交到服務(wù)器端无埃。
struts中的token防止表單重復(fù)提交:
1.在前端的jsp頁面中加入s:token標(biāo)簽徙瓶,在訪問該頁面時就會生成隱藏域,該隱藏域中包含一個隨機(jī)生成的字符串嫉称,并把該字符串
? 存入session中
2.在struts2的配置文件中加入token攔截器后侦镇,當(dāng)正常訪問action
的時候,會從session中取出該字符串织阅,然后和頁面隱藏域中提交
字符串做對比壳繁,如果一致則正常執(zhí)行并刪除session中存儲的字符串。