「java频繁点击」点击过于频繁
今天给各位分享java频繁点击的知识,其中也会对点击过于频繁进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java中如何实现多次点击按钮只出现一个窗口
- 2、在java jsp中怎么处理用户多次点击提交按钮造成数据重复
- 3、java如何实现你提交太频繁了
- 4、JAVA 怎么实现多次点击一个按钮触发不同的事件?
- 5、在java jsp中怎么处理用户多次点击提交按钮造成数据重复。
java中如何实现多次点击按钮只出现一个窗口
方法很多,我说两个吧。
1. 假如按钮为 JButton bt = new JButton("点击我");
则点击后,设置按钮的enabled属性为false,即
bt.setEnabled(false); //则该按钮不能再点击,当把弹窗关闭后再设置bt.setEnabled(false); 让按钮可以再次被点击
我们常用的软件如迅雷和360就是采用这种方法
2. 设置一个布尔类型标记属性比如 boolean windowIsOpen = false; //初始值为false表示未打开子窗口
当点击按钮bt后,在actionPerformed方法中打开窗口,并设置 windowIsOpen为false。当子窗口关闭时再设置windowIsOpen为true。代码如下:
public void actionPerformed(ActionEvent ae) {
if(!windowIsOpen) { //如果没有打开子窗口
//打开子窗口
windowIsOpen = !windowIsOpen; //或者 windowIsOpen = true;
}
}
子窗口关闭事件代码:
subWindow.addWindowListener(new windowAdapter() {
public void windowClosing(WindowEvent e) {
windowIsOpen = !windowIsOpen; //重新设置标记,或者windowIsOpen = false;
}
});
希望能帮到你!!!
在java jsp中怎么处理用户多次点击提交按钮造成数据重复
java jsp处理用户多次点击提交按钮造成数据重复,最常见的方法是点击按钮提交之后,让线程休眠几秒再执行,如下代码:
1.提交的表单页面
%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%
!DOCTYPE HTML
html
head
titleForm表单/title
/head
body
form action="${pageContext.request.contextPath}/servlet/DoFormServlet" method="post"
用户名:input type="text" name="username"
input type="submit" value="提交" id="submit"
/form
/body
/html
2.处理提交表单的servlet,里面有提供防止重复提交的代码,如下:
package xdp.gacl.session;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DoFormServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//客户端是以UTF-8编码传输数据到服务器端的,所以需要设置服务器端以UTF-8的编码进行接收,否则对于中文数据就会产生乱码
request.setCharacterEncoding("UTF-8");
String userName = request.getParameter("username");
try {
//让当前的线程睡眠3秒钟,模拟网络延迟而导致表单重复提交的现象
Thread.sleep(3*1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("向数据库中插入数据:"+userName);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
java如何实现你提交太频繁了
可以使用前、后端分别拦截的方式。
前端拦截是指通过 HTML 页面来拦截重复请求,比如在用户点击完“提交”按钮后,我们可以把按钮设置为不可用或者隐藏状态。但前端拦截有一个致命的问题,如果是懂行的程序员或非法用户可以直接绕过前端页面,通过模拟请求来重复提交请求,比如充值了100元,重复提交了10次变成了1000元。所以除了前端拦截一部分正常的误操作之外,后端的拦截也是必不可少。后端拦截的实现思路是在方法执行之前,先判断此业务是否已经执行过,如果执行过则不再执行,否则就正常执行,将请求的业务 ID 存储在内存中,并且通过添加互斥锁来保证多线程下的程序执行安全。
JAVA 怎么实现多次点击一个按钮触发不同的事件?
可以设置计数器,每点击一次计数然后根据点击的次数判断所要执行的操作
在java jsp中怎么处理用户多次点击提交按钮造成数据重复。
如果js验证通过,再把button设为不可用
防止因为网络问题多次提交
----------------
都说这么清楚了你还要怎么说??????
js只能进行简单的表单验证,例如为不为空 和 文本格式等
ajax是异步的,也就是说你submit事件和判断手机号存不存在不会等待你是否判断完成的!!!
你把手机号的判断写提交里当然没反应!!
所以你需要先判断手机号,再决定是否提交
方法1:手机号的控件失去焦点事件onblur()失去焦点时将请求后台判断是否存在,如果存在提交按钮设为可用,不存在则为不可用并提示!
方法2:写一个form的提交function,假设你的form的name为formA
function sub_form(){
$.post("xxx.action",param,function(result){
if(result){
// 验证其他表单信息的方法
if(vali()){
formA.submit();
}
}
});
}
java频繁点击的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于点击过于频繁、java频繁点击的信息别忘了在本站进行查找喔。
发布于:2022-11-29,除非注明,否则均为
原创文章,转载请注明出处。