首页 > 数据库技术 > 详细

项目中客户端,服务端验证,数据库联合唯一约束,事务管理。

时间:2014-08-08 12:33:16      阅读:372      评论:0      收藏:0      [点我收藏+]

项目中有个需求,发布一个活动,记录下参加该活动的id和参与人id,同时调用接口,往收藏夹中添加一条记录,往交易表中添加一条记录。最后根据返回的结果,给出不同的提示信息。

1.如果当前的在jsp页面上面做处理,判断是否参与过。参加过之后,参加按钮不可点。没有参加的情况,参加按钮可以点。

2.jsp客户端加上js处理,参加按钮点击完之后,按钮不可点。

3.在controller中,业务逻辑开始前,再次java判断是否参加过该活动。

4.在数据库中参与表(活动id,参与人id)加上联合唯一约束。根据异常来处理不重复参加。

5.将以上几个表的操作放到一个事务中处理。避免参加人重复参加的情况。

总结:不要相信客户端的验证,不要相信网络的时延(多次点击多次提交的情况~~!!),正常情况下,以上1到5任何一个情况都可以限制参与人只参加一次活动,然而项目上线在实际中却还是出现了重复参加的记录。所以只有将以上情况联合起来一起处理。

项目中客户端,服务端验证,数据库联合唯一约束,事务管理。,布布扣,bubuko.com

项目中客户端,服务端验证,数据库联合唯一约束,事务管理。

原文:http://www.cnblogs.com/simpledev/p/3898934.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!