使用tokenid 防止表单多次提交

在使用mvc时,常常会遇到表单重复提交的问题。解决方法如下:


1.我们首先模拟生成tokenid,添加到cookie的同时,传到页面

使用tokenid 防止表单多次提交_第1张图片


2.写好ajax方法,以便校验时调用


使用tokenid 防止表单多次提交_第2张图片

3.为表单增加隐藏的tokenid,并对提交按钮增加js事件



4.tokenid提交表单后的处理

使用tokenid 防止表单多次提交_第3张图片


5.校验使用的js代码

  使用tokenid 防止表单多次提交_第4张图片


附件:用到的util


public static void removeCookie(HttpServletResponse response, String name) {

Cookie cookie = new Cookie(name, null);
cookie.setMaxAge(-1);
cookie.setPath("/");
response.addCookie(cookie);
}
public static Cookie getCookie(HttpServletRequest request, String name) {
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (int i = 0; i < cookies.length; i++) {
Cookie c = cookies[i];
if (c.getName().equals(name)) {
return c;
}
}
}
return null;
}




你可能感兴趣的:(使用tokenid 防止表单多次提交)