java防止重复提交
时间: 2024-01-23 18:15:27 浏览: 76
以下是Java防止重复提交的两种解决方案:
1. 前端利用JavaScript或Vue操作进行按钮置灰,防止二次点击。
```javascript
// JavaScript示例
document.getElementById("submitButton").disabled = true;
```
```vue
<!-- Vue示例 -->
<template>
<button :disabled="isSubmitting" @click="submitForm">Submit</button>
</template>
<script>
export default {
data() {
return {
isSubmitting: false
};
},
methods: {
submitForm() {
this.isSubmitting = true;
// 提交表单的逻辑
}
}
};
</script>
```
2. 后端利用Redis进行防止重复操作。
```java
import redis.clients.jedis.Jedis;
public class DuplicateSubmissionUtil {
private static final String REDIS_KEY_PREFIX = "duplicate_submission:";
public static boolean isDuplicateSubmission(String requestId) {
Jedis jedis = null;
try {
jedis = new Jedis("localhost", 6379);
String redisKey = REDIS_KEY_PREFIX + requestId;
if (jedis.setnx(redisKey, "1") == 0) {
return true; // 已存在,说明是重复提交
}
jedis.expire(redisKey, 60); // 设置过期时间,防止缓存一直存在
return false; // 不存在,不是重复提交
} finally {
if (jedis != null) {
jedis.close();
}
}
}
}
```
阅读全文