社区
Web 开发
帖子详情
jsp实现线程安全访问
bryan_lin
2009-03-18 02:50:53
譬如要对一篇文章(id=10)进行编辑,即edit.jsp?id=10
这时管理员a访问edit.jsp?id=10取得编辑权限之后
如果管理员b同样访问edit.jsp?id=10则应该提示正在被编辑
问题是这个应该怎么实现?
我的想法是在数据库中对10的文章进行标记,即标记为正在被a编辑
但是异常状况的时候(譬如浏览器不正常退出)的时候 怎么取消该标记 使得其他人能够正常编辑?
谢谢~
...全文
95
8
打赏
收藏
jsp实现线程安全访问
譬如要对一篇文章(id=10)进行编辑,即edit.jsp?id=10 这时管理员a访问edit.jsp?id=10取得编辑权限之后 如果管理员b同样访问edit.jsp?id=10则应该提示正在被编辑 问题是这个应该怎么实现? 我的想法是在数据库中对10的文章进行标记,即标记为正在被a编辑 但是异常状况的时候(譬如浏览器不正常退出)的时候 怎么取消该标记 使得其他人能够正常编辑? 谢谢~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bryan_lin
2009-03-18
打赏
举报
回复
[Quote=引用 4 楼 zou_wei_forever 的回复:]
可以用乐观锁实现,在数据被保存到数据库是进行检查:
在表中增加一个表示版本的字段,第一个人读出出来那笔记录更新后版本号为1,第二个人读出出来那笔记录版本号为2,当第二个人再保存后发现他的数据的版本跟数据库中那笔记录的版本不符,就不允许修改。
[/Quote]
这样的话 第二个人读出来做出修改之后却不能保存 用户体验太差
想要的效果是 第二个人都不能往外读~
jishu_vip
2009-03-18
打赏
举报
回复
楼主的方法也是可以的,只是文章正在编辑的时候,对文章增加一个标识位,表示正在编辑。
解决异常状况(如浏览器不正常退出):
同时数据库中记录正在编辑的用户名,间隔一段时间判断一下该用户名是否还为登录状态(或则其它用户编辑的时候也同时进行判断之前记录的用户名是否还为登录状态)如果不是登录状态则取消该文章为正在编辑。
sjkof
2009-03-18
打赏
举报
回复
[Quote=引用 4 楼 zou_wei_forever 的回复:]
可以用乐观锁实现,在数据被保存到数据库是进行检查:
在表中增加一个表示版本的字段,第一个人读出出来那笔记录更新后版本号为1,第二个人读出出来那笔记录版本号为2,当第二个人再保存后发现他的数据的版本跟数据库中那笔记录的版本不符,就不允许修改。
[/Quote]
同意
zou_wei_forever
2009-03-18
打赏
举报
回复
可以用乐观锁实现,在数据被保存到数据库是进行检查:
在表中增加一个表示版本的字段,第一个人读出出来那笔记录更新后版本号为1,第二个人读出出来那笔记录版本号为2,当第二个人再保存后发现他的数据的版本跟数据库中那笔记录的版本不符,就不允许修改。
downloadvip
2009-03-18
打赏
举报
回复
顶了
老黄瓜_
2009-03-18
打赏
举报
回复
楼主可以用 数据集合(list) 存储 文章 id 以及对应的修改时间 当第二个人要去 访问的时候 就遍历 这个数据集合(list) 另外起线程扫描 当前时间 如果时间过长 就从集合中删除掉 该文章
个人想法 没有考虑过 修改文章数据量大的效率,性能 情况
therehere
2009-03-18
打赏
举报
回复
帮顶!!!!!!!!!!!!!!!!!!!!!!
tomcat6.0 64位
- 支持Servlet 2.5和
JSP
2.1规范:Tomcat 6.0提供了对这些Java Web标准的
实现
,允许开发者利用新特性和改进。 - 多线程模型:Tomcat使用基于NIO的多线程模型,提高了并发性能和响应速度。 - 管理工具:提供了Web...
Java中
实现
线程安全
的几种方法
在Java中,通过如下方法
实现
线程安全
: 使用线程同步 使用Volatile关键字 使用Atomic变量 使用final关键字 使用线程同步 同步是一次只允许一个线程完成特定任务的过程。 意思是当多个线程同时执行,想要同时
访问
同...
javawen之
jsp
从入门到项目实战(
jsp
+servlet)
JSP
是一种Java servlet,主要用于
实现
Java web应用程序的用户界面部分
JSP
通过网页表单获取用户输入数据、
访问
数据库及其他数据源,然后动态地创建网页。 本课程对
JSP
做了详细讲解,主要涉及的课程内容:
jsp
的底层...
servlet是单例的 所以需要
线程安全
以及如何
实现
线程安全
然而,很多人编写Servlet/
JSP
程序时并没有注意到多
线程安全
性的问题,这往往造成编写的程序在少量用户
访问
时没有任何问题,而在并发用户上升到一定值时,就会经常出现一些莫明其妙的问题。 Se
在Servlet和
JSP
中如何
实现
多
线程安全
编写Servlet和
JSP
的时候,
线程安全
问题很容易被忽略,如果忽视了这个问题,你的程序就存在潜在的隐患.1.Servlet的生命周期Servlet的生命周期是由Web容器负责的,当客户端第一次请求Servlet时,容器负责初始化Servlet,也...
Web 开发
81,111
社区成员
341,693
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章