亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

重定向防止頁面重復提交的原理?

重定向防止頁面重復提交的原理?

紅糖糍粑 2019-03-29 19:19:34
重定向防止頁面重復提交的原理
查看完整描述

5 回答

?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

1.新建兩個文件
index.jsp -- 表單頁面
success.jsp -- 結果提示頁面

2
2.代碼分別如下:

3
3.新建TokenServlet,代碼如下

4
4.運行index.jsp,輸入用戶名,點擊提交

5
5.正常跳轉結果頁面

6
6.但當我在這個頁面點擊刷新的時候,出現如下提示

7
7.點擊重試,發現又一次調用了servlet,這就是一個重復提交

8
8.多刷新幾次,注意看URL地址,現在仍然是servlet

9
9.以前說重定向可以解決表單重復提交的問題,我們修改Servlet代碼如下

10.再次測試,發現重定向到了success.jsp ,再點擊刷新的話也不會出現重復提交了

11.那問題解決了么?再看,當我點擊瀏覽器中的返回,然后再點擊提交,如此反復,仍然在重復調用Servlet,這也是重復提交

12.現在修改Index.jsp

13.修改servlet代碼

14.新建token文件,代碼如下

15.在瀏覽器中測試(注,這里如果再使用Eclipse自帶瀏覽器的話,會出現緩存問題,所以使用正常的瀏覽器火狐或者IE)

16.hidden中的token 和session中的token是相同的

17.當點擊瀏覽器中的后退按鈕,再次進行操作,發現不能重復提交

18.這是因為session中的token已經被移除掉了

19.而返回后刷新頁面,相當于新開一個index.jsp 重新獲取token 賦值給session,這時可以正常提交了

查看完整回答
反對 回復 2019-04-04
?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

防止重復提交表單--按鈕變灰的代碼如下:
<script>
function disable()
{
document.form1.Submit.disabled=true;
}
</script>
<form name="form1" method="post" action="" onsubmit="disable()">
<p>
<input type="submit" name="Submit" value="提交">
</p>
</form>



查看完整回答
反對 回復 2019-04-04
  • 5 回答
  • 0 關注
  • 1672 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號