同一时间只有一个用户可以打开编辑界面,编辑数据库中的一条记录,其他用户则无法打开,哪位大侠能提供一下思路??我用的SSH~

解决方案 »

  1.   

    修改记录的设计原则
    1.各个用户修改与自己相关的记录
    2.公共数据修改要设定角色和权限,对菜单进行过滤,后台也要判断权限
    象lz这种比较特殊的需求可以定义一个全局的变量
    class Constance {
    static boolean can_update = false;
    }
    第一个进入该页面时先判断Constance.can_update是否为false,是可以进入修改页面,不是提示错误信息
    进入修改页面之后将Constance.can_update=true;
    当修改提交到后台并数据库提交之后Constance.can_update=false; 
      

  2.   

    在session中做用户是否访问页面的标记,并设置一个合理的session有效期
      

  3.   

    大概明白了,有人知道Struts2中如何实现?即用户推出界面,session销毁时如何恢复标记的记录呢?
      

  4.   

    hibernate不是有个什么悲观锁 乐观锁的么  某个用户编辑某条数据的时候,就给这条数据加上锁,别人的用户既不能查看,也不能更新;然后其他的用户要编辑,肯定会要取这条数据,因为前面枷锁了,他肯定取不到,这时候,判断,如果取得数据为空,这样他进不了编辑页面了呗(或者说不让他进)。
      

  5.   

    你的action可能默认被你设成单例的了,其他的用户当然用不了哈……
      

  6.   


    session有对应的监听事件吧
      

  7.   

    在数据库里创建一个字段,当偶人便捷页面时,设置这个字段为true,其他人进来发现是ture就直接退出。。当编辑结束关闭窗口时,用ajax发送消息到服务器,修改这个字段为false
      

  8.   

    我还真不知道用js怎样判断关闭窗口,貌似qq web版和百度知道都能做到,网上就是搜不到代码。。