学习心得之……如何用Tonken防止重复提交表单

 我来答
鹏鹏0488
2013-11-11 · 超过57用户采纳过TA的回答
知道答主
回答量:119
采纳率:0%
帮助的人:54.4万
展开全部
二、 Token工作机制  
这里以用户注册做为例子,这里有二个Acion:ForwordAction(转发的用户注册页面)、 LoginAction(提交注册页面,完成数据持久化),三个JSP:Login.jsp(提供用户注册的页面)、Index.jsp(用户注册成功的页面)。  
用户发个main.do,前段控制器调用ForwordAction,这个Action里New一个令牌,并把这个令牌的信息放到Session里(Session的信息放在request),同时转发到Login.jsp,在这个jsp有一个隐含对象,这个就是Session的Id信息。用户填写注册,用户发送Login.do请求提交信息表单时,页面会带着这个隐含对象,服务器这时,会检测到该页面有Token,并且这个Token是有效的,这时页面的信息将会放入数据库(数据持久化),至此成功完成用户的注册。转发到Index.jsp。  以上的说是用户没有误操作的情况下  如果
,正在提交页面时,点击了刷新,这时又分为两种情况,
如果已经完成对Token的校验,跳转到其他的页面,提示用户不用重复注册(Error.jsp)。如果没有数据没有进入数据库,则发送main.do转发到用户注册的页面。让用户继续注册。  
如果注册完成以后用户点击浏览器后退,这是有发送main.do请求,难么ForwordAction又会New一个Token,重复以上的过程,当用户发送再次发送Login.do请求时,服务器检测检测这个也面有Token,但是这时的Token,和数据库里的不匹配,服务器这里认定此时是重复注册,调转到其他的页面(Error.jsp)。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式