• 这个周末恒大金碧天下邀您一起看童年的马戏节 2019-03-11
  • 苦瓜-热门标签-华商生活 2019-03-10
  • 承载历史使命的 “乡村振兴”,城乡共同参与 2019-03-05
  • 从穿工装相亲到出门被嘲笑 新飞电器员工口述企业兴衰史 2019-03-05
  • Lorgane législatif national adopte la loi sur la supervision 2019-02-20
  • 俄罗斯世界杯 完全观战手册 2019-02-17
  • 萨拉赫,你再不上 埃及队就要回家啦 2019-02-17
  • 牢牢抓住新时代广东发展的关键重点——三论认真学习贯彻省委十二届四次全会精神 2019-02-16
  • 娜扎谈分手张翰“想不起来了” 安全感全来自妈妈 2019-02-13
  • 敲黑板!“信息公开”不是“隐私公开”! 2019-02-13
  • 点击天山网 掌握全新疆 2019-02-10
  • 在美中国留学生江玥被枪杀案宣判 罪犯获刑25年 2019-02-10
  • 探索记忆之谜 科学家成功向海兔移植记忆 2019-02-08
  • 皇帝的女神:《雍正十二美人图》中的隐秘审美与渴望 2019-02-02
  • [大笑]是谁在炒呢?你们不参与,能炒得起来么? 2019-02-02
  • Jquery中文网 南粤风采36选7开奖公告 www.77402m.com
    Jquery中文网 >  脚本编程  >  java  >  正文 Liferay研究之二十:如何防止连续重复提交

    福建体彩31走势图开奖:Liferay研究之二十:如何防止连续重复提交

    发布时间:2018-11-20   编辑:南粤风采36选7开奖公告 www.77402m.com
    jquery中文网为您提供Liferay研究之二十:如何防止连续重复提交等资源,欢迎您收藏本站,我们将为您提供最新的Liferay研究之二十:如何防止连续重复提交资源
    <script>ec(2);</script>

    南粤风采36选7开奖公告 www.77402m.com 一般的解决连续重复提交的办法有以下几种。

    方法一、提交后 禁用提交按钮(大部分人都是这样做的)
    方法二、使用Session, session里面加令牌,第一次设置一个值,以后请求先与这个令牌进行比较;
    方法三、数据处理成功马上Redirect到另外一个页面

    Liferay中前台使用了客户端脚本(可能是jquery,没仔细研究)、Session,后台采用同步、多线程等来解决这个问题。服务端解决的具体思路如下:

    在Session中放一个DoubleClickControlor的实例,然后对这个实例进行同步,来判断是否重复提交请求。
    如果重复提交请求,则判断哪个是firstRequest,哪个不是,不是的话就以DoubleClickControlor的实例为同步依据,进入一个等待状态,直到firstRequest执行完,调用notifyAll方法,激活第二次请求。
    在DoubleClickFilter中,controller.control(httpReq, httpRes, chain);第二次请求会没有任何异常结束,这样会执行ok = true; 进而在控制台打印出阻止一次重复提交等信息。

    另外,补充温习一个FilterChain的知识点。
    向服务器发起一个请求时,在访问所请求的资源之前,会先通过Filter Mapping配置来匹配有哪些Filter需要被执行。所有的Filter根据filter-mapping定义的顺序形成一个FilterChain,依次进行调用。

    这个调用有点类似于递归,在调用到chain.doFilter()时,程序执行主线会跳转到下一个Filter的doFilter方法中,直到最后一个Filter, 最后一个filter执行chain.doFilter时不执行操作,也不会跳转到其他Filter,会将chain.doFilter之后的代码执行完,退出doFilter方法,然后执行倒数第二个Filter的chain.doFilter后面的代码,依此类推。

    Liferay中通过system.properties来设定开启或关闭哪个Filter.

     

    您可能感兴趣的文章:
    Jquery提交表单 Form.js官方插件介绍
    ajax防止重复提交请求的多种实现方法
    PHP防盗链图片怎么破解?实例代码
    js实现防止表单重复提交的代码
    win2003服务器安全设置之系统服务篇
    jquery 防止表单重复提交代码
    js防止表单重复提交、刷新、后退的方法介绍
    JavaScript 提交表单的实例分享
    用于结束进程的二个Dos命令(ntsd、taskkill)
    使用ARP排除网络故障

    [关闭]
  • 这个周末恒大金碧天下邀您一起看童年的马戏节 2019-03-11
  • 苦瓜-热门标签-华商生活 2019-03-10
  • 承载历史使命的 “乡村振兴”,城乡共同参与 2019-03-05
  • 从穿工装相亲到出门被嘲笑 新飞电器员工口述企业兴衰史 2019-03-05
  • Lorgane législatif national adopte la loi sur la supervision 2019-02-20
  • 俄罗斯世界杯 完全观战手册 2019-02-17
  • 萨拉赫,你再不上 埃及队就要回家啦 2019-02-17
  • 牢牢抓住新时代广东发展的关键重点——三论认真学习贯彻省委十二届四次全会精神 2019-02-16
  • 娜扎谈分手张翰“想不起来了” 安全感全来自妈妈 2019-02-13
  • 敲黑板!“信息公开”不是“隐私公开”! 2019-02-13
  • 点击天山网 掌握全新疆 2019-02-10
  • 在美中国留学生江玥被枪杀案宣判 罪犯获刑25年 2019-02-10
  • 探索记忆之谜 科学家成功向海兔移植记忆 2019-02-08
  • 皇帝的女神:《雍正十二美人图》中的隐秘审美与渴望 2019-02-02
  • [大笑]是谁在炒呢?你们不参与,能炒得起来么? 2019-02-02