随笔-26  评论-44  文章-20  trackbacks-0
  做试卷管理系统的时候,写了一个操作数据库的工具,它与数据库的具体的表,属性都无关:Tabel t=DB.getTabel("user")后可以操作相应的数据表,只要这个名为user的表存在,t.search(property[][],start,limit)传入一个属性数组,property比如可以为{{"username","admin"},{"password","admin"}....},然后数据库就可以在user表中查找username="admin"....的记录,start,limit是查找起始点和数目限制,js分页时用到。
  这样一来,servlet也可以和具体的表,属性无关,只和几个通用属性有关,如tableName,id(主键也可以为别的,在config.properties中配置),start,limit等等和具体数据库无关的。奇妙就在这里:不管数据库有多少张表,对于与每一个操作,servlet只有一个,如Edit,而不需要EditUser,EditPaper....等等很多edit了。同样以后系统怎样扩展,怎样增加表,表的属性怎样变化。servlet都可以不变,他只是操作相应的数据。那么具体的业务操作呢?
  js为这些带来了可能,它与返回的数据交互操作,和在服务器没有两样,为servlet省去了麻烦。
  以上是我个人感想,仅供参考。
  操作数据库的工具和写的servlet参见 自己动手做试卷管理系统的几篇随笔。js不好意思公开了,这是给别人做的小项目。

posted on 2008-08-12 08:32 开机 阅读(1671) 评论(7)  编辑  收藏 所属分类: javaweb

评论:
# re: js带来了改变。 2008-08-12 10:13 | 一杯清茶
大哥,这样也太开放了吧,表结构,表属性,表数据相当于敞开门给别人看嘛,如果是小项目,且数据不重要的话还可以用用,不然就不要暴露给客户端了  回复  更多评论
  
# re: js带来了改变。 2008-08-12 13:38 | 隔叶黄莺
当客户端要随意修改你的表记录都很轻松了。  回复  更多评论
  
# re: js带来了改变。 2008-08-12 17:30 | leekiang
很多"架构师"也跟你想得一样。  回复  更多评论
  
# re: js带来了改变。 2008-08-12 17:39 | HiMagic!
并不是所有的客户端都具有攻击性,比如系统的使用者为了简化操作,完全可以让HTM+JS通过UI操作数据库。  回复  更多评论
  
# re: js带来了改变。 2008-08-13 18:49 | 开机
@一杯清茶
是的,我尝试的是小项目,所以才敢这样做。我也只是初学者,不知道遇到大项目,到底会出什么问题?  回复  更多评论
  
# re: js带来了改变。 2008-08-13 18:55 | 开机
@隔叶黄莺
客户端和服务器端都是我一人做,的确与数据库交互起来很轻松。
为什么怕客户端随意修改表记录?我现在基本上快做完了,还没遇到这个问题带来了麻烦。也许是因为我做的是很小很小的项目吧。
做这样的小项目,我觉得用自己做的这个工具很简洁,不需要把时间浪费到重复性的工作上。  回复  更多评论
  
# re: js带来了改变。 2008-08-13 18:56 | 开机
@leekiang
多谢夸奖!
不知道他们具体是怎么做的?  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: