在服务器端判断表单是否重复提交,主要可以考虑在页面之间通过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.单击“提交查询内容”后,单击“后退”,再次单击“提交查询内容”按钮就会提示重复提交错误。
新闻热点
疑难解答