java 代码防重复触发

java 代码防重复触发

问:在java jsp中怎么处理用户多次点击提交按钮造成数据重复
  1. 答:按钮点击一次之后,设置按钮不可点
  2. 答:很多方式,可以用token,可以用JS控制
  3. 答:token 机制
    你搜一下吧
问:java 如何隔一段时间自动重复触发一个按钮动作?
  1. 答:java里面有个TimerTask你可以用你的java类继承这个类 它会在你设置轮询时间进行触发,下方是我以前写的方法 参考一下把
    .res.portal.core;
    import java.util.Date;
    import java.util.Timer;
    import java.util.TimerTask;
    public class imerTask extends TimerTask{
    static Timer timer = new Timer();
    public static void init(String contextPath) {
    try{
    //10分钟轮询一次 单位毫秒
    long timestamp = 1800000;
    imerTask imerTask =new imerTask();
    timer.schedule(imerTask, new Date(), timestamp);
    }catch(Exception e){
    }
    }
    @Override
    public void run() {
    imerTask imerTask =new imerTask();
    //此处加入要触发的方法
    }
    }
  2. 答:是程序之外的按钮 ,还是程序之内的按钮 ??
    如果是程序之外的按钮 ,就只能使用Robot , 模拟鼠标点击
    如果程序之内的 ,使用 Robot可以,但是不好 ,最好是使用 Timer 定时 ,然后调用 button.doClick();
  3. 答:重新实现listener接口,编一个自己的,写个线程定时调用你自己的listener的方法;
  4. 答:你使用定时器,定时执行一下函数不就可以了吗
问:jsp页面中java代码重复执行 执行两次
  1. 答:pageNumber 不是一个有效的整数,所以报了NumberFormatException异常,建议用try{}catch(){}包围起来
    还有在页面上用JS函数判断下,不要让非法的数据进入服务器端去验证。
    补充回答:
    不是一个有效的数字,从你的【但是随后我打印pageNumber的值 System.out.println("pageNumber--"+pageNumber);却能打印出pageNumber的值来???太奇怪了吧...

    描述来看可能是空字符串(也许是其他的汉字字符串),或者是“???”
    建议你看看页面源码,里面是什么样的数据
  2. 答:很简单:
    ---------------------------------------
    1、你要加上try-catch:
    int pageNumber=0;
    try { pageNumber=Integer.parseInt(request.getParameter("pageNumber")); }catch(Exception e) { pageNumber=0; }
    不加就是出错.因为如果获得Null的话不能转类型的。
    ----------------------------------------
    2、执行多次要看看你的代码才知道了,不过估计是你自己写得有问题了,比如循环出错了。
  3. 答:pageNumber 不是一个有效的整数,所以报了NumberFormatException异常,建议用try{}catch(){}包围起来
    还有在页面上用JS函数判断下,不要让非法的数据进入服务器端去验证。
    补充回答:
    不是一个有效的数字,从你的【但是随后我打印pageNumber的值 System.out.println("pageNumber--"+pageNumber);却能打印出pageNumber的值来???太奇怪了吧...

    描述来看可能是空字符串(也许是其他的汉字字符串),或者是“???”
    建议你看看页面源码,里面是什么样的数据
  4. 答:页面的东西确实会执行多次的
    所有的代码在你第一次载入是要执行一次
    等你点下什么按钮后,把参数又传到本页面后,页面的程序会再执行一次。所以有时候你再打印的时候会出现两个结果,很正常的
  5. 答:java执行两次是因为代码逻辑出问题了,检查逻辑并控制提交次数。
    1、禁用提交事件源
    2、设置标识,提交时标识true,完成后标识false
    <script src=""></script>
    <script type="text/javascript">
    $(function(){
    $("#abv").one("click",function(){
    alert("用户点击了提交按钮");
    });
    /*$("#abv").click(function(){//方案2
    $(this).attr("disabled",true);
    });*/
    })
    </script>
    <input type="submit" id="abv" value="测试用按钮"/>
java 代码防重复触发
下载Doc文档

猜你喜欢