日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

在JSP客户端限制表单重复提交

發布時間:2025/7/14 javascript 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在JSP客户端限制表单重复提交 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在客戶端限制表單重復提交有兩種方法:
???????? 第一種:在javascript腳本中設置一個標志變量,來區分表單是否已經提交。如果已經提交,則彈出對話框告訴用戶“重復提交”。
??????? 第二種:在單擊提交按鈕以后將提交按鈕設置為disabled狀態,這樣用戶就無法再提交按鈕,客戶端也就無法重復提交。
??????? 采用第一種方法:

1.新建一個ClientTest1.jsp文件,代碼如下:

?

<%@ page language="java" contentType="text/html; charset=Gb2312"
??? pageEncoding="GB2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Gb2312">
<title>客戶端限制重復提交</title>
<script language="javascript"
??? <!--定義重復提交標志變量 -->
??? var repeatSubmitFlag = false;
??? <!-- 重復提交檢查函數 -->
??? function checkSubmit()
??? {
??????? if(repeatSubmitFlag) <!-- 如果標志為true,則說明頁面已經提交 -->
??????? {
??????????? window.alert('禁止重復提交!');
??????????? return false;
??????? }
??????? else
??????? {
??????????? repeatSubmitFlag = true;
??????????? return true;
??????? }
??? }
</script>
</head>
<body bcolor="#ffffff">
??? <form name="form_client" action="http://www.dlmu.edu.cn" οnsubmit="return checkSubmit();">
??????? <input type="checkbox" name="check_1" checked=true/>大連海事大學
??????? <input type="submit" name="submitok"/>
??? </form>
</body>
</html>

?

? 2.如果重復提交表單就會彈出錯誤提示對話框

??? 采用第二種方法:
1.新建一個ClientTest2.jsp文件,代碼如下:

<%@ page language="java" contentType="text/html; charset=GB2312"
??? pageEncoding="Gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Gb2312">
<title>客戶端限制重復提交-2</title>
</head>
<body bgcolor="#ffffff">
??? <form name="form_client" action="http://www.dlmu.edu.cn"
??????? οnsubmit="window.document.form_client.submitok.disabled=true; return true;">
??????? <input type="checkbox" name="check_1" checked="true"/>大連海事大學
??????? <input type="submit" name="submitok"/>
??? </form>
</body>
</html>
2.如果重復提交表單就會彈出錯誤提示對話框?

?

3 利用struts的同步令牌機制  

  利用同步令牌(Token)機制來解決Web應用中重復提交的問題,Struts也給出了一個參考實現。

  基本原理: 

  服務器端在處理到達的請求之前,會將請求中包含的令牌值與保存在當前用戶會話中的令牌值進行比較,看是否匹配。在處理完該請求后,且在答復發送給客戶端之前,將會產生一個新的令牌,該令牌除傳給客戶端以外,也會將用戶會話中保存的舊的令牌進行替換。這樣如果用戶回退到剛才的提交頁面并再次提交的話,客戶端傳過來的令牌就和服務器端的令牌不一致,從而有效地防止了重復提交的發生。 

  if (isTokenValid(request, true)) {

   // your code here

   return mapping.findForward("success");

  } else {

   saveToken(request);

   return mapping.findForward("submitagain");

  } 

  Struts根據用戶會話ID和當前系統時間來生成一個唯一(對于每個會話)令牌的,具體實現可以參考TokenProcessor類中的generateToken()方法。  

  1. //驗證事務控制令牌,<html:form >會自動根據session中標識生成一個隱含input代表令牌,防止兩次提交

  2. 在action中:  

   //<input type="hidden" name="org.apache.struts.taglib.html.TOKEN"

   // value="6aa35341f25184fd996c4c918255c3ae">

   if (!isTokenValid(request))

   errors.add(ActionErrors.GLOBAL_ERROR,

   new ActionError("error.transaction.token"));

   resetToken(request); //刪除session中的令牌  

  3. action有這樣的一個方法生成令牌  

   protected String generateToken(HttpServletRequest request) {  

   HttpSession session = request.getSession();

   try {

   byte id[] = session.getId().getBytes();

   byte now[] =

   new Long(System.currentTimeMillis()).toString().getBytes();

   MessageDigest md = MessageDigest.getInstance("MD5");

   md.update(id);

   md.update(now);

   return (toHex(md.digest()));

   } catch (IllegalStateException e) {

   return (null);

   } catch (NoSuchAlgorithmException e) {

   return (null);

   }

   }   

總結

以上是生活随笔為你收集整理的在JSP客户端限制表单重复提交的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 午夜精品视频在线 | 成人无码久久久久毛片 | 国产一区二区在线播放 | 日韩欧美一区二 | 天天操天天艹 | 免费在线观看视频 | 午夜国产 | 国产91熟女高潮一区二区 | 国产妇女馒头高清泬20p多 | 超碰中文字幕在线 | 日韩激情啪啪 | www.香蕉网| 涩涩资源站 | 欧美黄色录像视频 | 免费在线看污视频 | 欧美三级又粗又硬 | 亚洲图片 自拍偷拍 | yw在线观看 | 97在线公开视频 | 欧美激情在线观看一区 | 制服丝袜av在线 | 国产11页 | 九九在线观看高清免费 | 女人张开双腿让男人捅 | 在线观看少妇 | 巨大胸大乳奶电影 | 成人视品 | 夜夜草天天草 | 日韩欧美午夜 | 亚洲天堂成人网 | 91久久精品夜夜躁日日躁欧美 | 成人性生生活性生交全黄 | 自拍偷拍2019| 91一区二区在线观看 | 97视频在线观看免费 | jizz中国女人 | 91精品毛片| 午夜一区二区三区在线观看 | 成人手机在线视频 | 天天躁狠狠躁 | 国产裸体视频 | 久久国产精品一区二区 | 中文字字幕一区二区三区四区五区 | 求av网站 | 色婷婷成人 | 日韩在线视 | 手机福利在线 | 波多野吉衣毛片 | 吃瓜网今日吃瓜 热门大瓜 色婷在线 | 欧美电影一区二区三区 | 亚洲免费成人 | 国产情侣露脸自拍 | 日韩一区二区三区四区五区六区 | 中文字幕成人在线 | 亚洲成人系列 | 亚洲综合自拍 | 欧美黑人做爰爽爽爽 | 欧美日韩国产网站 | 丹丹的呻吟声1一7 | 毛片一级视频 | 久久视频免费看 | 日韩三级国产精品 | 国产一二三在线 | 麻豆av电影在线 | 日本特黄一级片 | 在线视频精品免费 | 精品少妇白浆小泬60P | 精品国产一区二区三区在线观看 | 香蕉视频网页版 | 亚洲av成人无码一二三在线观看 | 中文字幕成人网 | 免费av看片 | 香蕉网伊 | 奇米网狠狠干 | 最近中文字幕免费 | sesese99| 亚洲图片在线播放 | 热热99| 91手机视频在线观看 | 99热伊人| 高h放荡受浪受bl | 免费av片| 无码人妻精品一区二区三区99日韩 | 在线观看理论片 | jizz国产在线观看 | 成人免费在线视频网站 | 美日韩一区二区三区 | 在线观看中文字幕第一页 | 欧美成人做爰猛烈床戏 | 国产乱国产乱老熟300部视频 | 欧美亚洲大片 | a√天堂资源在线 | 日韩精品一区二区亚洲av | 亚洲区国产区 | 少妇精品无码一区二区 | 神马电影久久 | 国产精品国产三级国产专播精品人 | 亚洲精品高清视频在线观看 | 在线观看日批视频 |