在前端代码写一个随机数出来,把这个随机数放在两个地方,一个是session域对象中,一个是表单的隐藏域中。传到后台进行比对,根据这两个值是不是一致,一致的话不是表单重复提交,不一致就是表单重复提交。注意:当判断到是一致的时候要把session中的随机数清除
String stoken = UUID.randomUUID().toString();//生成唯一的令牌
request.getSession().setAttribute("stoken", stoken);
%>
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
String ttoken = request.getParameter("ttoken");
System.out.println(ttoken);
String stoken = (String) request.getSession().getAttribute("stoken");
System.out.println(stoken);
if(ttoken.equals(stoken)){
request.getSession().removeAttribute("stoken");
String name = request.getParameter("name");
System.out.println(name);
}else{
System.out.println("请不要重复提交");
}
}