Topic: 怎么控制一个页面只允许一个用户操作?急!!! |
Print this page |
1.怎么控制一个页面只允许一个用户操作?急!!! | Copy to clipboard |
Posted by: huozhe Posted on: 2006-11-24 15:28 怎么控制一个页面只允许一个用户操作??? 比如:一个修改页面modify.jsp,A用户进入modify.jsp页面进行修改信息时,则控制不允许其它用户进入modify.jsp页面。 |
2.Re:怎么控制一个页面只允许一个用户操作?急!!! [Re: huozhe] | Copy to clipboard |
Posted by: huozhe Posted on: 2006-11-24 15:31 请各位大虾们多多指点啊~~~非常感谢! 希望大家多多发表意见!!! |
3.Re:怎么控制一个页面只允许一个用户操作?急!!! [Re: huozhe] | Copy to clipboard |
Posted by: zcjl Posted on: 2006-11-24 16:57 这样的需求十分“无理”,也很不好实现,因为http请求是无状态连接,很难判断A用户是否离开modify.jsp 要么说服需求方,放弃这样的想法 要么,就得大量运用客户端的js脚本去记录和判断用户行为 |
4.Re:怎么控制一个页面只允许一个用户操作?急!!! [Re: huozhe] | Copy to clipboard |
Posted by: YuLimin Posted on: 2006-11-24 19:50 可以采用FileLock模式解决,进入时JSP里,Lock一下,提交后UnLock,当然可能存在N多情况死锁,可以定时清除Lock来解决,从你目前的需求可以这样实现,自己要记录与区分是否是用户A。 |
5.Re:怎么控制一个页面只允许一个用户操作?急!!! [Re: huozhe] | Copy to clipboard |
Posted by: hawker Posted on: 2006-11-24 22:06 可以这样 再这个jsp页面请求之前用一个filter来截获请求,判断是否已经有用户请求这个页面。 但是http是无连接的,你不能要求用户再打开这个页面以后可以向你报告它的状态,所以如果需要防治资源的并发访问的话,最后是使用事务的隔离方式,通过系统控制用户对资源的访问。 |
6.Re:怎么控制一个页面只允许一个用户操作?急!!! [Re: huozhe] | Copy to clipboard |
Posted by: zilanfeixue Posted on: 2006-11-27 12:32 从一个容量为1的池中取连接,这样子? |
7.Re:怎么控制一个页面只允许一个用户操作?急!!! [Re: hawker] | Copy to clipboard |
Posted by: huozhe Posted on: 2006-11-27 13:00 hawker wrote: 请问你那有没有filter的实例啊?谢谢了! |
8.Re:怎么控制一个页面只允许一个用户操作?急!!! [Re: huozhe] | Copy to clipboard |
Posted by: zcjl Posted on: 2006-11-27 13:26 不管是FileLock,还是Filter,都无法判断用户是否在未做任何操作下离开这个modify.jsp,因为这根本就是客户端的行为而http是无状态的连接 |
9.Re:怎么控制一个页面只允许一个用户操作?急!!! [Re: huozhe] | Copy to clipboard |
Posted by: floater Posted on: 2006-11-27 23:40 use a db column as a flag .... |
10.Re:怎么控制一个页面只允许一个用户操作?急!!! [Re: huozhe] | Copy to clipboard |
Posted by: vteam Posted on: 2006-11-29 15:35 的确是非常难实现,还是和HTTP协议的原理有冲突,怎样解决都会出现一些意想不到的问题的。建议通过授权来做。 |
11.Re:怎么控制一个页面只允许一个用户操作?急!!! [Re: huozhe] | Copy to clipboard |
Posted by: huozhe Posted on: 2006-12-01 09:53 感谢大家的回复~!!! use a db column as a flag .... 这个确实可以,但现在要解决的是有很多这样的页面都要控制。 如果只有一两个页面,用这个方法还是很好的。 多了就想用一个通用的方法解决。。。 求助中。。。 |
12.Re:怎么控制一个页面只允许一个用户操作?急!!! [Re: huozhe] | Copy to clipboard |
Posted by: 原始社会人 Posted on: 2006-12-02 22:29 package bean; import java.sql.*; import javax.sql.*; import javax.naming.*; public class ConnectionFactory{ private static ConnectionFactory instance = null; private static String key = "key"; private DataSource dataSource = null; private ConnectionFactory(){} public static ConnectionFactory getInstance() throws Exception{ // 单例doublecheck if(instance == null){ //t3 synchronized(key){ // (t2) //////t2 if(instance == null){ // 控制只产生一个实例,jndi instance = new ConnectionFactory(); instance.init(); } } } return instance; } private void init() throws Exception{ //初始化jndi tree,目的是为了获取资源(DataSource) Context ctx = new InitialContext(); //java:comp/env是在jndi上面lookup资源的前缀 dataSource = (DataSource)ctx.lookup("java:comp/env/jdbc/oracle"); } public Connection getConnection() throws Exception{ //以后统一通过这一个方法获取连接 //ds.getConnection 从池里面获取连接,提高访问的效率 return dataSource.getConnection(); } } 这是在一个群的共享上面下的..不知道跟楼主那个有没有关系哦 ^_^ |
13.Re:怎么控制一个页面只允许一个用户操作?急!!! [Re: zcjl] | Copy to clipboard |
Posted by: YuLimin Posted on: 2006-12-03 18:13 zcjl wrote: 无耻一点就是在onunload的事件中去处理离开,当然,有可能他的Browser是直接死掉,那么,后台定时30分钟的清理作用就发挥了。 db做标志,一样与FileLock模式的思路是一样的。。。:) 这个问题我们在N年前做OA时早已经实现,并且系统一直在运行使用当中,所以可以说,不存在你所说的http无状态等等这种问题,要换思路解决问题,只要解决了问题,什么方法都是OK了。:) |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |