当前位置:编程学习 > JAVA >>

java访问数据库的同步问题

我想请问:做注册功能的时候,一般都会用ajax进行用户名是否已经存在的校验。那么,会不会存在这种情况呢:用户A在注册时刚好检验完成,用户名可以使用,还没有点击注册按钮进行正式注册的时候,用户B使用相同的用户名注册成功了,这时用户A用户名的校验就没用了? 请问这种情况会存在吗?那一般访问量很大的网站是怎么避免这种情况的呢? 同步 java --------------------编程问答-------------------- 好问题,等高手来啊 --------------------编程问答-------------------- ajax做的只是浏览器端校验而已,你还需要做应用端服务器端校验。
就算应用服务器端没有,登录名这种重要数据,数据库端还有唯一性约束呢。 --------------------编程问答-------------------- 这个有几种方式
1 用时间戳 操作表中用一个字段单独存时间戳 每次提交事务的时候校验当前对象的时间戳是否与数据库中的时间戳一致
2 用业务锁 这个就是业务判断 也就是说当用户名可用时 对此用户名加锁 对此数据未提交时或者用户未放弃该数据之前 其他人无法创建相同用户名
3 数据库锁  数据库锁一般适用于修改某条记录时 你说的场景并不适合
个人理解 希望对你有帮助 --------------------编程问答--------------------
好老远的问题...ajax并不能完全保证的拉...应该在数据库级或者业务级再做一次约束比较靠谱,虽然是消耗了资源,但是对这个要求很高的时候也必须要搞咯... --------------------编程问答-------------------- 哦 这么复杂 --------------------编程问答-------------------- 最简单的,光标离开时候ajax做一次验证,然后点击注册按钮的时候再做一次验证。。 --------------------编程问答-------------------- 在ajax的基础上加上

1、数据库对用户名字段做唯一性约束
2、在action中再次对用户名做唯一性校验 --------------------编程问答-------------------- 我现在的实际情况是这样的:客户端通过webservice向服务端上传数据(如上传的Id),我要根据这个Id删除该id对应的数据库数据,并同时生成日志记录等其他一些相关信息。问题就是可能会有多个客户端同时上传相同的id到服务端,那么此时,服务端应该如何处理,以避免该id对应的数据生成重复的其他关联信息呢
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,