下载此文档

⑩.Struts2教程-防止重复提交(令牌).ppt


文档分类:IT计算机 | 页数:约30页 举报非法文档有奖
1/30
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/30 下载此文档
文档列表 文档介绍
STRUTS2教程八维学院廉泽制作总目录介绍与入门实例ActionResult标签类型转换校验框架国际化拦截器上传下载防止重复提交(令牌)常用配置本章目录什么是重复提交什么是令牌令牌拦截器如何使用简单实例登录拦截器的使用什么是重复提交所谓重复提交,就是用户在页面多次点击提交按钮,或者通过不断刷新页面,把已经提交过的数据多次向后台提交。重复提交对于查询类的功能,问题还不是太大,但是对于新增或是修改类的功能,就有可能凭空的出现很多同样信息的重复数据,从而导致业务功能出现错误。用一个实例来让大家体会一下重复提交的问题,来实现一个订单新增的功能,订单号一般都是由后台自动生成,前台页面只要传递订购人、订购商品和订购数量等订单的具体信息过来就可以了。为了示例的简洁,只是从前台传递一个订购的商品和一个订购的数量,一共两个值就可以了,就不去处理什么订单的主记录、子记录等复杂的功能了。模拟重复提交的产景1:实现Action写一个处理订单的Action,接收前台传递过来的数据,然后输出即可。为了表示会花一定的时间来进行业务处理,在execute方法里面,让线程休息6秒。lassOrderActionextendsActionSupport{privateStringproductId;privateintorderNum;publicStringexecute()throwsException{("预定的产品编号是:"++",预定数量为:"+);(6000L);("处理完成!");ESS;}//省略set、get方法。}模拟重复提交的产景2:,示例如下:<packagename="product"extends="struts-default"><actionname="orderAction"class=""><result>/order/</result></action></package>模拟重复提交的产景3:制作新增页面提供新增页面来让用户输入:预定的产品编号和预定的数量,然后提交到上面的Action,示例代码如下:<%***@pagecontentType="text/html;charset=UTF-8"%><%***@taglibprefix="s"uri="/struts-tags"%><html><head><title>Inserttitlehere</title></head><body><s:formaction=""method="post"><s:textfieldname="productId"label="预定的产品编号"/><s:textfieldname="orderNum"label="预定的数量"/><s:submitvalue="提交"/></s:form></body></html>模拟重复提交的产景4:运行测试运行新增页面,填写数据,然后点击提交。由于Action中,让当前线程sleep了6秒钟,所以必须等6秒之后才能正确的结束调用。如果这个时候用户乖乖的等足6秒,自然没有什么问题。但是,如果用户在第一次提交还没有响应的时候,又再次点击了提交按钮,则同样的请求再次被提交,这时候,如果不加任何控制的话,同样的订单就将被处理两次了。可以在控制台中看到输出以下信息:什么是令牌----百度百科令牌基本思想:一个独特称为令牌的标志信息(一位或多位二进制数字组成的码)从一个节点发送到另一个节点,只有获得令牌的节点才有权发送信息包。当一个工作站准备发送报文信息时,首先要等待令牌的到来,当检测到一个经过他的令牌为空令牌时,即可以“帧”为单位发送信息,并将令牌置为忙向下一站发送信息。下一站按转发的方式转发经过本站但又不属于有本站接受的信息。由于环中已无空闲令牌,因此其他希望发送的工作站必须等待。令牌接收过程:每一站随时检测经过本站的信息,当查到信息包指定的目的地址与本站地址相同时,则一面拷贝全部有关信息,一面继续转发该信息包,环上的帧信息绕环网一周,由原发送点予以收回。按这种方式工作,发送一直在源站点控制之下,只有发送信息包的源站点放弃发送权把令牌置“空”后,其他站点得到令牌才有机会发送自己的信息。令牌生成原理图

⑩.Struts2教程-防止重复提交(令牌) 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数30
  • 收藏数0 收藏
  • 顶次数0
  • 上传人s0012230
  • 文件大小970 KB
  • 时间2018-09-15