欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
防止表單重復提交

  有時(shí)候由于網(wǎng)絡(luò )原因會(huì )造成頁(yè)面加載緩慢,導致用戶(hù)頻繁點(diǎn)擊提交按鈕,或者用戶(hù)手動(dòng)點(diǎn)擊頁(yè)面的刷新按鈕,都會(huì )造成表單數據的重復提交,無(wú)形中增加了服務(wù)器的壓力,并且有時(shí)候可能會(huì )造成無(wú)法挽回的損失。比如用戶(hù)在購物網(wǎng)站選中一款商品,因為頁(yè)面反應延遲,導致用戶(hù)多點(diǎn)擊了添加按鈕,而結算時(shí)用戶(hù)沒(méi)有注意,就會(huì )造成用戶(hù)多買(mǎi)了同一件商品。


      防止表單重復提交,可以從兩方面著(zhù)手解決。

一、客戶(hù)端:通過(guò)JavaScript來(lái)阻止 

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><!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=utf-8"]] ><title]] > Insert title here</title]] ><script type="text/javascript"]] >var isCommited = false;function checkPost(){if(!isCommited){isCommited = true;return true;}else{var div = document.getElementById("message");div.innerHTML = "請不要重復提交!";return false;}}</script]] ></head]] ><body]] ><form action="/day02/Servlet2" method="post" onsubmit="return checkPost()"]] >  姓名:<input type="text" name="name"]] >  性別:<input type="text" name="sex"]] >  <input type="submit" value="提交"]] >  <div id="message"></div]] ></form]] ></body]] ></html]] >

這種方式只能阻止用戶(hù)重復點(diǎn)擊提交按鈕的提交,如果用戶(hù)點(diǎn)擊刷新按鈕,或者點(diǎn)擊后退按鈕后再點(diǎn)提交,還會(huì )造成表單的重復提交。

二、服務(wù)器:利用session來(lái)阻止

     具體思路:在服務(wù)器端,生成一個(gè)唯一的標識符,將它存入session,同時(shí)將它寫(xiě)入表單的隱藏字段中,然后將表單頁(yè)面發(fā)給瀏覽器,用戶(hù)錄入信息后點(diǎn)擊提交,在服務(wù)器端,獲取表單中隱藏字段的值,與session中的唯一標識符比較,相等說(shuō)明是首次提交,就處理本次請求,然后將session中的唯一標識符移除;不相等說(shuō)明是重復提交,就不再處理。

下面是相關(guān)代碼:

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><%@ page import="java.util.UUID" %><!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=utf-8"]] ><title]] > Insert title here</title]] ></head]] ><body]] ><%String token = UUID.randomUUID().toString().replaceAll("-","");    session.setAttribute("token",token);%><form action="/day02/TokenServlet" method="post"]] >姓名:<input type="text" name="name"]] >性別:<input type="text" name="sex"]] ><input type="submit" name="提交"]] ><input type="hidden" name="formtoken" value="<%=token%>"]] ></form]] ></body]] ></html]] >

TokenServlet.java:

package com.mac.servlet; import java.io.IOException; import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession; public class TokenServlet extends HttpServlet {private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");String formtoken = request.getParameter("formtoken");HttpSession session = request.getSession();String token = (String)session.getAttribute("token");if(formtoken.equals(token)){String name = request.getParameter("name");String sex = request.getParameter("sex");response.getWriter().println("姓名:"+name+";性別:"+sex);session.removeAttribute("token");}else{response.getWriter().println("請不要重復提交!");}} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);} }

這種方式實(shí)際上被稱(chēng)為令牌機制,那個(gè)唯一的標識符就是令牌。

令牌機制不僅可以防止用戶(hù)重復點(diǎn)擊提交按鈕帶來(lái)的表單重復提交,還可以防止用戶(hù)點(diǎn)擊刷新按鈕,以及后退后再點(diǎn)提交帶來(lái)的表單重復提交問(wèn)題。 


本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
表單重復提交的處理方案(其中服務(wù)器處理 模擬struts)
Servlet 文件上傳 | 菜鳥(niǎo)教程
在服務(wù)器端避免表單的重復提交
Servlet方法
JSP HTML JAVASCRIPT 中文亂碼 解決方案 大全
Java平臺國際編碼問(wèn)題分析_SUN-JAVA技術(shù)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久