星海爭霸21全功能兌換碼新手獎勵1、7小時遊戲時間(14天內)解除所有試玩版本限制直到7小時耗盡,如種族、匹配模式、戰役、地圖等詳細資訊(150119更新)4505624695013984483730049
2020-11-30 03:45:43
javaWEB解決表單重複提交的問題(原理)
表單的重複提交 1> 重複提交的情況: 1> 在表單提交到一個Servlet,而Servlet又通過請求轉發的方式響應了一個JSP(HTML)頁面, 此時位址列還保留著Servlet的那個路徑,在響應頁面點選「重新整理」,這就是一個重複提交的情況。 2> 在響應頁面沒有到達時,重複點選提交按鈕。 3> 點選返回,再點選提交。 2> 不是重複提交的情況:點選「返回」,「重新整理」原頁面,在「提交」 3> 如何避免表單的重複提交: 在表單中做一個標記,提交到Servlet時,檢查標記是否存在且是否和預定義的標記一致,若一致,則受理請求, 並銷毀標記,若不一致或沒有標記,則直接響應提示資訊:"重複提交"; 解決:把標記放在session中,可以! 1> 在原表單頁面,生成一個隨機值 token 2> 在原表單頁面,把token值放入session 屬性中 3> 在元表單頁面,把token值放入到隱藏域中。 4> 在目標的Servlet 中:獲取session 和隱藏域中的token值 5> 比較兩個值是否一致:若一致,受理請求,且把session域中的token屬性清除 6> 若不一致,則直接響應提示頁面:"重複提交"
1.新建兩個檔案
index.jsp -- 表單頁面
success.jsp -- 結果提示頁面
2.程式碼分別如下:
3.新建TokenServlet,程式碼如下
4.執行index.jsp,輸入使用者名,點選提交
5.正常跳轉結果頁面
6.但當我在這個頁面點選重新整理的時候,出現如下提示
7.點選重試,發現又一次呼叫了servlet,這就是一個重複提交
8.多重新整理幾次,注意看URL地址,現在仍然是servlet
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,這時可以正常提交了
相關文章
星海爭霸21全功能兌換碼新手獎勵1、7小時遊戲時間(14天內)解除所有試玩版本限制直到7小時耗盡,如種族、匹配模式、戰役、地圖等詳細資訊(150119更新)4505624695013984483730049
2020-11-30 03:45:43
我們經常會玩決勝時刻戰區遊戲,但是有很多朋友不知道決勝時刻戰區國際服註冊方法,下面就詳細說下決勝時刻戰區國際服註冊方法。1首先我們開啟自己電腦中的瀏覽器,比如360瀏覽器
2020-11-29 16:08:59
決勝時刻黑色行動4的應用獲取的方法。1準備好網路的網速,開啟瀏覽器的頁面。 2決勝時刻黑色行動4將其輸入到搜尋頁中,點選搜尋。 3選擇圖中展示的決勝時刻黑色行動4中文版網頁
2020-11-29 16:06:30
決勝時刻是一個很好玩的遊戲,但是安裝過程比較困難,下面小編和你分享一下經驗! 1一般有很多個壓縮檔案的那種,任意解壓一個壓縮包之後會生成一個映象用虛擬光碟機載入,之後按用光
2020-11-29 10:07:32
小編教你決勝時刻9BO2.怎麼安裝,希望你的生活多姿多彩~ 1首先,你買的基本可以確定,是盜版,或者說所謂的偽正版——同學,多去steam吧或者戰地3吧看一看,會提高你對盜版/偽正版的鑑
2020-11-29 05:49:58
目前很多決勝時刻的玩家都在找版本10的中文版,其實現在正版的當中還沒有中文,退而求其次吧,小編這裡分享一些貼圖大家參考一下 1基礎選單,直接看圖片吧 2基礎選單,直接看圖片吧 3
2020-11-29 05:29:49