写一个java代码来防止前端请求重复提交
时间: 2024-01-01 15:05:15 浏览: 93
好的,以下是一个简单的Java代码来防止前端请求重复提交:
```java
public class TokenInterceptor extends HandlerInterceptorAdapter {
private static final String TOKEN_KEY = "token";
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String token = request.getParameter(TOKEN_KEY);
HttpSession session = request.getSession();
if (session.getAttribute(TOKEN_KEY) == null) {
session.setAttribute(TOKEN_KEY, token);
return true;
} else if (session.getAttribute(TOKEN_KEY).equals(token)) {
session.removeAttribute(TOKEN_KEY);
return true;
} else {
response.sendRedirect(request.getContextPath() + "/duplicateSubmitionError");
return false;
}
}
}
```
这段代码拦截所有的请求,如果请求中包含一个token参数,则将其与当前会话中的token值进行比较。如果这两个值相同,则表示请求没有重复提交,移除当前会话中的token值并允许请求继续。如果这两个值不同,则表示请求已经被提交过了,重定向到一个错误页面。
阅读全文