继续前面讨论的网上办公系统,这里说一下我考虑的框架结构,我想了很长时间,从可行性方面看,这种结构还是可以的,而且我有能力把这个框架写出来,如果有更好的建议,欢迎讨论。
首先是用到的技术,包括jsp,servlet,javabean,xml,css,jdbc,自定义标签等。jsp主要用来创建视图,也就是用户能够看到的和接收到的页面;servlet主要是过滤器和中央控制器,过滤器包括登录检测和用户权限,可能还有更多,后续添加中,中央控制器读取xml配置文件,对url进行转发;javabean包括的东西比较多,我现在考虑的有三种,一种是action bean,用来处理业务,一种是entity bean,用来封装数据,一种是common bean,用来存放一些公共模块;xml主要用来保存配置信息,我这里基本没有使用ajax,因此xml基本不用来交换数据;css控制样式;jdbc连接数据库;自定义标签用在jsp视图中显示信息。
来解释一下javabean。一般来讲,数据库中有一个表,就应该有一个对应的entity bean,这个bean只是用来封装数据,其中有属性和setter以及getter方法,其他的最多有一个验证函数;action bean就是业务逻辑bean了,所有的action bean都继承自一个叫做action的接口,该接口只有几个函数,一个是execute函数,还有验证函数等,action bean自己定义execute函数,这样做的目的是为了在中央控制器中统一调用;common bean就不再多说了,包括数据库连接以及公共信息的定义等。我没有想清楚到底是不是应该再加入一种bean,用来进行数据处理,还是直接在action bean中进行数据操作,如果是再加入一种database bean,就是对entity bean进行添加,删除,修改操作,所有的sql语句全部在database bean中生成,而action bean只是用来处理业务,也就是说告诉database bean到底是应该添加还是应该删除,这个问题还在考虑中。
整个的流程是:过滤器先过滤所有的请求,*.jsp,*.do(我规定所有的逻辑处理的后缀名都是do),过滤器结束后将请求交给中央控制器,控制器的处理范围是*.do,然后去读xml配置文件,通过url地址找到处理它的action bean,如果没找到就跳转到page not found页面,如果找到了就调用action bean的execute方法,从而处理数据。
大体的思路就是这样,我要做一下才知道合理不合理。
应该将操作数据库也变成面向对象的
@Amy 我这样觉得的,这样,就与面向对象一脉相承了
@Amy 你说的是使用框架吧,我记得有一个框架是这样的,你先看看,了解一下原理,然后写出来大家讨论一下,我没有用是因为我不知道怎么用
@老杨 hibernate就是这样的,它封装了jdbc,将操作数据库变成了面向对象的。
@Amy 嗯,这个我是知道的,但是不知道其中的原委,也不知道应该怎么去用