在jsp中,當我們重新整理的時候,會重複提交,本文將討論一下這個問題。
首先把**寫出來,然後解釋一下思路
jsp頁面上加乙個hidden欄位
servlet裡面
string clienttoken = request.getparameter("clienttoken");
string sessiontoken = (string)session.getattribute("sessiontoken");
string time = string.valueof(system.currenttimemillis());
if(sessiontoken==null||clienttoken.equals(sessiontoken))else
下面 解釋一下**
當我們第一次提交的時候
string sessiontoken = (string)session.getattribute("sessiontoken");
sessiontoken的值是null
會執行if裡的**
第一次提交完,這時候返回到jsp上之後hidden欄位裡有值了
1.此時你重新整理,string clienttoken = request.getparameter("clienttoken");獲取clienttoken值仍然為空,因為重新整理,只是重複提交上一次的表單。
這時候clienttoken.equals(sessiontoken)判斷不成立,所以執行else裡的**,也就是"這是重新整理"
2.你不重新整理,而是提交的話 clienttoken.equals(sessiontoken)是成立的。
Jsp 防止二次提交 重複提交
servlet頁面 每次請求時產生乙個token 一般為時間戳 存於session中並隨之用hidden提交,在servlet中判斷接收到的token和session中的是否一致來判斷是否重複提交,如果不是則重新產生乙個 token存於session中覆蓋原來的token。當使用者返回或者重新整理重...
php 防止頁面重新整理重複提交
一.使用session防止重複提交 其實跟驗證碼一樣的原理,主要是生成session和input隱藏域,這邊我的 是在乙個頁面中處理。header content type text html charset utf 8 頁面編碼 session start 開啟session if isset p...
struts令牌解決重複重新整理提交
insert步驟。原來的步驟insert.jsp form 點提交 insertaction 做插入的 insert.jsp跳回原來頁面 但是再次使用重新整理會再次提交。解決方法 tokenaction insert.jsp form insertaction insert.jsp 也就是在提交前先...