Ⅰ jsP怎樣避免刷新頁面時重復提交表單數據
一、頁面重定向。
二、token防止重復提交。
建議使用第二種
Ⅱ 如何讓jsp頁面禁止刷新,後退
struts2令牌機制, 解決的是重復提交的問題,跟刷新無關系。
刷新與後退是瀏覽器行為,單純的jsp頁面是不能禁止這些的。
Ⅲ jsp頁面怎麼防止刷新頁面又提交表單
JSP刷新頁面表單重復提交問題解決辦法,使用sessionID和時間戳作為標識,關鍵代碼如下:
java">{
publicStringexecute(){
/**業務代碼**/
................
//設置標識
this.setSessionToken();
//轉到添加頁面
return"toAdd";
}
publicStringreSave(){
if(this.token!=null&&this.token.equals(this.getSessionToken())){
/**設置新標識**/
this.setSessionToken();
/**業務代碼**/
..............
return"toAdd";
}else{
printWriterout=null;
try{
httpServletResponse.setContentType("text/html;charset=UTF-8");
out=httpServletResponse.getWriter();
out.println("<script>alert('刷新提交表單!');</script>");
out.flush();
}catch(IOExceptione){
e.printStackTrace();
}finally{
if(out!=null){
out.close();
}
}
}
returnnull;
}
}
{
/**jsp頁面標識**/
protectedStringtoken;
publicStringgetToken(){
returntoken;
}
publicvoidsetToken(Stringtoken){
this.token=token;
}
publicStringgetSessionToken(){
if(null!=httpSession.getAttribute("Token")){
returnhttpSession.getAttribute("Token");
}else{
returnnull;
}
}
/**標識生成**/
publicvoidsetSessionToken(){
Stringflag=useMd5(httpSession.getId()+System.currentTimeMillis());
httpSession.setAttribute("Token",flag);
httpServletRequest.setAttribute("SessionToken",flag);
}
/**MD5加密**/
privateStringuseMd5(Stringstr){
byte[]bs=str.getBytes();
Stringresult=null;
try{
MessageDigestmd5=MessageDigest.getInstance("MD5");
md5.update(bs);
result=md5.digest().toString();
}catch(NoSuchAlgorithmExceptione){
e.printStackTrace();
}finally{
}
returnresult;
}
}
JSP頁面設置標識隱藏域:
<form>
<inputtype="hidden"name="token"value="${SessionToken}"/>
</form>
Ⅳ jsp分頁顯示 怎樣可以點擊下一頁不會刷新整個頁面
這個要藉助後台語言,點擊按鈕,通過AJAX請求一個方法,通過方法返回下一頁數據JSON,就可以更改前端JS獲取json,更改DIV內容;
$.ajax({
type: "POST",
url: "getPageDate.php", //調用的php文件
data: "page=1",
success: function(msg){ //回調函數
alert( "Data Saved: " + msg ); //這里是操作
$("#content").html(
);
}
});
Ⅳ 在jsp頁面上改變頁面的數據,但頁面不刷新的方法有哪些
在jsp頁面上改變頁面的數據,只要不跟伺服器有交互,都不會刷新數據的。
屏蔽刷新的方法:
public String reSave(){
if(this.token != null && this.token.equals(this.getSessionToken())){
/**設置新標識**/
this.setSessionToken();
/**業務代碼**/
..............
return "toAdd";
}else{
printWriter out = null;
try{
httpServletResponse.setContentType("text/html;charset=UTF-8");
out = httpServletResponse.getWriter();
out.println("<script>alert('刷新提交表單!');</script>");
out.flush();
}catch(IOException e){
e.printStackTrace();
}finally{
if(out != null){
out.close();
}
}
Ⅵ JSP 如何不刷新頁面更新數據
以前,抄基於 Web 的用戶界面(包括頁襲面和應用程序)要求用戶所做的每個請求都強制執行一次頁面刷新,這消耗了大量的時間和帶寬。重復的頁面刷新的後果是 Web 體驗變得異常緩慢和沉悶,即使對於那些具有高速的寬頻連接的用戶也是如此。現在,各地的開發人員都在尋找新的技術和技巧,以便顯著提高基於 Web 的應用程序的性能和用戶體驗。用 Ajax 編寫的 Web 應用程序允許數據在後台被非同步地發送給伺服器,而同時又能在不重載頁面的情況下更新此 Web 頁面的各個部分.給你個參考網站http://www.ibm.com/developerworks/cn/ajax/index.html?S_TACT=105AGX52&S_CMP=content
Ⅶ 如何實現頁面禁止刷新jsp
//禁止 瀏覽器 前進、後退
<body onbeforeunload="history.go(0)">
<script language="JavaScript">
<!--
javascript:window.history.forward(1);
file://-->
</script>
<script language="javascript">
//禁止用F5鍵
function document.onkeydown()
{
if(event.keyCode==116){
event.keyCode = 0;
event.cancelBubble = true;
return false;
}
}