bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

java表單重復提交代碼,前端表單重復提交

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

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

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

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,里面有提供防止重復提交的代碼,如下:

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編碼傳輸數據到服務器端的,所以需要設置服務器端以UTF-8的編碼進行接收,否則對于中文數據就會產生亂碼

request.setCharacterEncoding("UTF-8");

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

try?{

//讓當前的線程睡眠3秒鐘,模擬網絡延遲而導致表單重復提交的現象

Thread.sleep(3*1000);

}?catch?(InterruptedException?e)?{

e.printStackTrace();

}

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

}

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

throws?ServletException,?IOException?{

doGet(request,?response);

}

}

在java中怎么防止頁面重復提交

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,這時可以正常提交了

Java struts2 表單重復提交的問題NullPointerException

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

java后臺接口 怎么防止重復提交

防止重復提交的方法很多,例如:

1、Meta法

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

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中的令牌比較,如不同則為重復提交。

3、禁用按鈕法

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

4、struts配置法

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

修改如下:

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表單重復提交代碼,前端表單重復提交
標題網址:http://vcdvsql.cn/article42/dsighhc.html

成都網站建設公司_創新互聯,為您提供定制網站ChatGPT企業網站制作域名注冊標簽優化

廣告

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

小程序開發