日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

解決jsp重復(fù)提交_JSP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:jsp簡單自定義標(biāo)簽的forEach遍歷及轉(zhuǎn)義字符
forEach中的items類型是map或者Collection類型的,怎樣使用增強for循環(huán); 首先還是創(chuàng)建一個標(biāo)簽處理器類,定義兩個屬性,String var; Object items; 因為items要迭代各種集合,所以要使用Object; 然后重寫setter方法; www.2cto.com 聲明一個成員變量,集合類型的,

 有幾種方法:
1 在你的表單頁里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
在你的服務(wù)器端控件的代碼中使用Response.Redirect("selfPage")語句。但是大多的數(shù)都不使用這種方法。
方法還有很多。。。
4
<input type="button" value="提交" onclick="this.disabled=true;this.form.submit()">

5

在JSP頁面的FORM表單中添加一個hidden域
<input type="hidden" name="url"value=<%=request.getRequestURL()%>>

在你的serverlet中添加如下語句
String url=request.getParameter("url");
response.sendRedirect(url);
我一般都是采用這樣的方法返回JSP頁面的,不太明白你說的重復(fù)刷新是什么概念

6 ajax 無刷新提交

7 Web開發(fā)中防止瀏覽器的刷新鍵引起系統(tǒng)操作重復(fù)提交
怎么解決呢?重定向可以解決頁面刷新帶來的數(shù)據(jù)的重復(fù)提交的問題,我們自然可以利用重定向的方式來解決這個問題。但是struts的action里面mapping.findword();跳轉(zhuǎn)的話,默認(rèn)的是在工程文件夾里面找要跳轉(zhuǎn)的頁面。這種情況,怎么解決呢?
修改struts-config.xml 文件, 在action里面有一個redirect重新定向的屬性,struts中默認(rèn)的是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>
重復(fù)提交、重復(fù)刷新、防止后退的問題以及處理方式

一。前言
你在任何一個比較專業(yè)的BBS都會看到這樣的問題,即使你Google一下,也會發(fā)現(xiàn)有很多的人在關(guān)注和詢問,但大家給出的解決方法卻都是千差萬別,(有的人主張采用腳本來解決;有的則想重定向到別的頁面;有的則將此問題提升到Token的角度)為什么會有如此大的差異呢?

二。問題場景
首先,我們應(yīng)該先了解為什么要處理這樣的問題?或者專業(yè)一點就是它適合的場景是什么?(似乎只有人來問沒有人來解釋)

1。重復(fù)提交、重復(fù)刷新的場景
重復(fù)提交、重復(fù)刷新都是來解決系統(tǒng)重復(fù)記錄的問題。也就是說某個人在多次的提交某條記錄(為什么?也許是閑了沒有事情干的;最有可能是用戶根本就不知道自己的提交結(jié)果是否已經(jīng)執(zhí)行了?�。�。

但出現(xiàn)了這樣的問題并不見得就必須處理,要看你所開發(fā)的系統(tǒng)的類別而定。比如你接手的是某個資源管理系統(tǒng),系統(tǒng)本身從需求的角度根本就不允許出現(xiàn)"重復(fù)"的記錄,在這樣需求的約束條件下,去執(zhí)行重復(fù)的提交動作只會引發(fā)“業(yè)務(wù)級異常”的產(chǎn)生,根本就不可能執(zhí)行成功也就無所謂避免不避免的問題了。

2。防止后退的場景
了解了重復(fù)刷新、重復(fù)提交的場景,我們來了解一下"防止后退"操作的原因是什么?比如你在開發(fā)某個投票系統(tǒng),它有很多的步驟,并且這些步驟之間是有聯(lián)系的,比如第一步會將某些信息發(fā)送給第二步,第二步緩存了這些信息,同時將自身的信息發(fā)送給了第三步。。。。。等等,如果此時用戶處在第三步驟下,我們想象一下某個淘氣用戶的用戶點擊了后退按鈕,此時屏幕出現(xiàn)了第二步驟的頁面,他再次的修改或者再次的提交,進(jìn)入到下一個步驟(也就是第三步驟),錯誤就會在此產(chǎn)生?!什么錯誤呢?最為典型的就是這樣的操作直接導(dǎo)致了對于第一個步驟信息的丟失�。ㄈ绻@樣的信息是依靠Request存放的話,當(dāng)然你可以存放在Session或者更大的上下文環(huán)境中,但這不是個好主意!關(guān)于信息存放的問題,下次在就這個問題詳細(xì)的討論)


三。如何處理的問題
當(dāng)然很多的系統(tǒng)(比如訂票系統(tǒng)從需求上本身是允許個人重復(fù)訂票的)是必須要避免重復(fù)刷新、重復(fù)提交、以及防止后退的問題的,但即使是這樣的問題,也要區(qū)分如何處理以及在哪里處理的(網(wǎng)上只是告訴你如何處理,但很少去區(qū)分在哪里處理的),顯然處理的方式無非是客戶端或者服務(wù)器端兩種,而面對不同的位置處理的方式也是不同的,但有一點要事先聲明:任何客戶端(尤其是B/S端)的處理都是不可信任的,最好的也是最應(yīng)該的是服務(wù)器端的處理方法。

客戶端處理:
面對客戶端我們可以使用Javascript腳本來解決,如下

1。重復(fù)刷新、重復(fù)提交
Ways One:設(shè)置一個變量,只允許提交一次。
<script language="javascript">
var checkSubmitFlg = false;
function checkSubmit() {
if (checkSubmitFlg == true) {
return false;
}
checkSubmitFlg = true;
return true;
}
document.ondblclick = function docondblclick() {
window.event.returnValue = false;
}
document.onclick = function doconclick() {
if (checkSubmitFlg) {
window.event.returnValue = false;
}
}
</script>
<html:form action="myAction.do" method="post" onsubmit="return checkSubmit();">

分享:解決JSP中拼裝數(shù)據(jù)為XML出現(xiàn)的問題
一、應(yīng)用背景 JSP取得Servlet中放入request的List,將List中的數(shù)據(jù)拼裝成XML。以下代碼在Eclipse的內(nèi)置瀏覽器中顯示為xml,沒有問題。 [java] /** * 新聞Servlet * @author 徐越 * */ public class ListServlet extends HttpServlet { private static final long seria

共2頁上一頁12下一頁
來源:模板無憂//所屬分類:JSP教程/更新時間:2013-04-17
相關(guān)JSP教程