中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

java表單重復(fù)提交代碼,前端表單重復(fù)提交

在java jsp中怎么處理用戶多次點擊提交按鈕造成數(shù)據(jù)重復(fù)

java jsp處理用戶多次點擊提交按鈕造成數(shù)據(jù)重復(fù),最常見的方法是點擊按鈕提交之后,讓線程休眠幾秒再執(zhí)行,如下代碼:

成都創(chuàng)新互聯(lián)公司是專業(yè)的龍文網(wǎng)站建設(shè)公司,龍文接單;提供做網(wǎng)站、網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行龍文網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

1.提交的表單頁面

%@?page?language="java"?import="java.util.*"?pageEncoding="UTF-8"%

!DOCTYPE?HTML

html

head

titleForm表單/title

/head

body

form?action="${pageContext.request.contextPath}/servlet/DoFormServlet"?method="post"

用戶名:input?type="text"?name="username"

input?type="submit"?value="提交"?id="submit"

/form

/body

/html

2.處理提交表單的servlet,里面有提供防止重復(fù)提交的代碼,如下:

package?xdp.gacl.session;

import?java.io.IOException;

import?javax.servlet.ServletException;

import?javax.servlet.http.HttpServlet;

import?javax.servlet.http.HttpServletRequest;

import?javax.servlet.http.HttpServletResponse;

public?class?DoFormServlet?extends?HttpServlet?{

public?void?doGet(HttpServletRequest?request,?HttpServletResponse?response)

throws?ServletException,?IOException?{

//客戶端是以UTF-8編碼傳輸數(shù)據(jù)到服務(wù)器端的,所以需要設(shè)置服務(wù)器端以UTF-8的編碼進行接收,否則對于中文數(shù)據(jù)就會產(chǎn)生亂碼

request.setCharacterEncoding("UTF-8");

String?userName?=?request.getParameter("username");

try?{

//讓當(dāng)前的線程睡眠3秒鐘,模擬網(wǎng)絡(luò)延遲而導(dǎo)致表單重復(fù)提交的現(xiàn)象

Thread.sleep(3*1000);

}?catch?(InterruptedException?e)?{

e.printStackTrace();

}

System.out.println("向數(shù)據(jù)庫中插入數(shù)據(jù):"+userName);

}

public?void?doPost(HttpServletRequest?request,?HttpServletResponse?response)

throws?ServletException,?IOException?{

doGet(request,?response);

}

}

在java中怎么防止頁面重復(fù)提交

1.新建兩個文件

index.jsp -- 表單頁面

success.jsp -- 結(jié)果提示頁面

2

2.代碼分別如下:

3

3.新建TokenServlet,代碼如下

4

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

5

5.正常跳轉(zhuǎn)結(jié)果頁面

6

6.但當(dāng)我在這個頁面點擊刷新的時候,出現(xiàn)如下提示

7

7.點擊重試,發(fā)現(xiàn)又一次調(diào)用了servlet,這就是一個重復(fù)提交

8

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

9

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

10.再次測試,發(fā)現(xiàn)重定向到了success.jsp ,再點擊刷新的話也不會出現(xiàn)重復(fù)提交了

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

12.現(xiàn)在修改Index.jsp

13.修改servlet代碼

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

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

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

17.當(dāng)點擊瀏覽器中的后退按鈕,再次進行操作,發(fā)現(xiàn)不能重復(fù)提交

18.這是因為session中的token已經(jīng)被移除掉了

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

Java struts2 表單重復(fù)提交的問題NullPointerException

是username沒有拿到值。文件框你還是用struts2自帶的標(biāo)簽的文本框,再嘗試下。

java后臺接口 怎么防止重復(fù)提交

防止重復(fù)提交的方法很多,例如:

1、Meta法

在你的表單頁里HEAD區(qū)加入這段代碼:

META HTTP-EQUIV="pragma" CONTENT="no-cache"

META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"

META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT"

2、令牌法

生成一個令牌保存在用戶session中,在form中加一個hidden域,顯示該令牌的值,form提交后重新生成一個新的令牌,將用戶提交的令牌和session中的令牌比較,如不同則為重復(fù)提交。

3、禁用按鈕法

input type="button" value="提交" onclick="this.disabled=true;this.form.submit()"

4、struts配置法

修改struts-config.xml文件,在action里面有一個redirect重新定向的屬性,struts中默認的是false,添加這個屬性,改成true,在forword中寫上要跳轉(zhuǎn)頁面的絕對或者相對地址就行了

修改如下:

action-mappings

action attribute="newsActionForm" name="newsActionForm" input="/addnews.jsp" path="/newsAction" parameter="method" scope="request" type="com.yongtree.news.action.NewsAction"

forward name="list" path="/listnews.jsp" redirect="true"/forward

forward name="error" path="/addnews.jsp"/forward

/action

/action-mappings

本文題目:java表單重復(fù)提交代碼,前端表單重復(fù)提交
標(biāo)題網(wǎng)址:http://www.rwnh.cn/article42/dsighhc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、ChatGPT、企業(yè)網(wǎng)站制作、域名注冊、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
寿光市| 罗源县| 晋城| 汕头市| 南陵县| 云和县| 新乐市| 金昌市| 武鸣县| 酒泉市| 黄梅县| 逊克县| 台前县| 鄂伦春自治旗| 九龙坡区| 林周县| 南昌市| 崇礼县| 隆回县| 柯坪县| 仪陇县| 普兰县| 永寿县| 郎溪县| 玛曲县| 襄垣县| 长宁区| 临夏县| 南平市| 黔东| 抚顺市| 雷山县| 平罗县| 鸡泽县| 黑龙江省| 高州市| 特克斯县| 旺苍县| 英德市| 新乐市| 楚雄市|