转自:[url]http://wanchong958.iteye.com/[/url]
//表单重复提交问题一般都是在涉及到提交数据时,数据量大,网络出现暂时延迟,用户不//明情况,重新点击提交按钮或者重新重新刷新是产生的问题
// 页面代码start
<%
//页面第一次载入时执行
Random random = new Random();
//生成随机flag,
Integer flag=new Integer(random.nextInt());
session.setAttribute("flag",flag);
%>
//form代码-->保存第一次随机产生的随机标志标量
//在页面重新提交时,该值不变
<input type=hidden name="flag" value="<%=flag%>">
//页面代码end
//处理表单代码 start
Integer flag =new Integer(Integer.parseInt(request.getParameter("flag")));
HttpSession session=request.getSession();
if (flag.equals(session.getAttribute("flag"))){
//在此调用dao
destroyFlag(session);
} else {
//可判断为重复提交,不予处理
System.out.println("重复提交");
}
/**
* 销毁flag
* @param session
*/
public void destroyFlag(HttpSession session) {
session.removeAttribute("flag");
}