web应用中怎么样限制用户只能提交一次表单请求

众所周知,浏览器客户端重复恶意提交可以导致服务器端性能急剧下降,
所以在浏览器端限制客户端的提交就显得有必要了
struts2的解决方法:

必须使用struts标签才能够做到表单的重复提交验证
login












../doublePost.jsp
../fileupload_success.jsp




struts2的token标签重复提交还是在服务器端进行判断的

也可以通过客户端的js来进行判断:

<%@ page language="java" contentType="text/html; charset=Gb2312"%>


客户端限制重复提交




onSubmit="return checkSubmit();">
用户名



密  码



      







也可以这样写:

<%@ page language="java" contentType="text/html; charset=Gb2312"%>


客户端限制重复提交



onSubmit="window.document.form_client.submitok.disabled=true; return true;">
用户名



密  码



      







如果要在服务器端用session进行判断可以这样:


<%@ page contentType="text/html; charset=gb2312"%>


用户登录页面

<%
//设置标志变量SubmitFlag值original
session.putValue("SubmitFlag", "original");
%>



用户名



密  码



      






后端判定:


<%@ page contentType="text/html; charset=gb2312"%>


服务器端程序


<%
String PageFlag;
PageFlag = (String) session.getValue("SubmitFlag");
if (PageFlag == "Over") {
out.println("不能重复提交页面!");
} else {
//设置标志变量SubmitFlag值为Over,表示已经提交
session.putValue("SubmitFlag", "Over");
//进入数据接收并处理程序代码
out.println("正在处理...请等待!!!");
//在此处添加数据处理代码
}
%>

你可能感兴趣的:(闲谈,struts,javascript,html,浏览器,web)