在服務器端判斷表單是否重復提交,主要可以考慮在頁面之間通過session共享標志變量的方法來實現,即在客戶端頁面設置session中的標志變量,然后在服務器段對session中的標志變量進行判斷。
1.新建一個servertest.jsp文件,代碼如下:
<%@ page language="java" contenttype="text/html; charset=gb2312"
pageencoding="gb2312"%>
<!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=gb2312">
<title>提交頁面</title>
</head>
<%
//設置標志變量submitflag值servertest.jsp
session.putvalue("submitflag","servertest.jsp");
%>
<body bgcolor="#ffffff">
<form name="form_client" action="serversubmit.jsp">
<input type="checkbox" name="check_1" checked=true/>人在江湖
<input type="submit" name="submitok"/>
</form>
</body>
</html>
2.新建一個serversubmit.jsp,代碼如下:
<%@ page language="java" contenttype="text/html; charset=gb2312"
pageencoding="gb2312"%>
<!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=gb2312">
<title>服務器端程序</title>
<%
string pageflag;
pageflag=(string) session.getvalue("submitflag");
if(pageflag=="over"){
out.println("重復提交頁面!");
}else{
//設置標志變量submitflag值為over,表示已經提交
session.putvalue("submitflag","over");
out.println("正常業務邏輯處理...請等待!!!");
}
%>
</head>
<body>
</body>
</html>
3.單擊“提交查詢內容”后,單擊“后退”,再次單擊“提交查詢內容”按鈕就會提示重復提交錯誤。
新聞熱點
疑難解答