客户端:
重复提交、重复刷新:
1.jsp页面设置page全局变量,只允许提交一次
2.将提交按钮或者image置为disabled
3.禁止客户端刷新:通过JS来控制,禁用刷新的功能、清除访问历史纪录;
防止后退:
1.更改浏览器的历史纪录
使用window.history.forward()方法,调用window.history.forward()方法即可。
<SCRIPT language="JavaScript">
// 通过简单脚本防止用户后退
javascript:window.history.forward(1);
</SCRIPT>
服务器端:
重复提交、重复刷新:
1.Struts利用同步令牌(Token)机制来解决Web应用中重复提交的问题。(在session中和页面hidden域中保存token,提交的时候进行判断)。
2.通过重定向的方式:把地址栏的地址显示为最后的地址。 (response.sendRedirect(request.getContextPath() + "/person/list.do"),该方法提交后不能给用户提示是否成功)
3.submit窗口利用弹出模式窗口,添加完成后转向“成功信息”页面,然后关闭该模式窗口。(例如ExtJS框架、parent.$id("buttom_iframe").style.display="";等)