前几天给师弟师妹们讲了一下我这一段时间写的一个简单的框架,我之所以敢讲是因为我觉得这个框架已经基本定型了,我想让他们帮我参考一下这种方法是不是合理,有哪些地方需要改进。鹏哥给我的框架起了一个名字叫做“杨氏框架”。
这个框架是基于MVC的,是不是严格的MVC不好说,至少打破了我从前的开发模式。控制器就使用Servlet来实现,模型使用JavaBean来做,jsp只是用来视图的显示,尽量简单。
这里需要对文件结构做一些解释:
1、由于这里建立的是Dynamic Web Project,所有的应用文件都存放在WebContent文件夹,而Java的源文件则放在src文件夹中。
2、一般来讲,WebContent文件夹下只有一些jsp视图文件、控制样式的css文件以及JavaScript文件,images文件夹下存放的是图片文件,include文件夹下存放公共引用文件。
3、重点说一下src文件夹下的文件结构。beans.action这个包中放的是各种动作bean,用来处理用户的各种请求;beans.common这个包里面是一些公共的bean,在后面的文章中我会把大部分的公共bean的代码贴出来;beans.data这个包里是所有操作数据库的bean,也是sql语句生成的bean,这些bean对外提供一些接口,让action bean来使用;beans.entity这个包是实体bean,一般来讲数据库中有一个表,那么这个包里面就应该有一个bean与其对应,当然这个也不是绝对的;beans.from这个包设计的有些重复,我本来想要存放form表单的数据,结果后来发现这个用实体bean就可以了,没有必要再设置一个类;filters是过滤器,tags里面是自定义标签。
这里面包含的文件后面会进行解释。
当然文件的结构设置可能也有些不合理,如果后期有需要的话会继续进行修改。
文件结构基本定型以后就应该说原理了。这里是所有的动作请求全部定义为.do,所有的动作请求全部交给Controller来处理,Controller根据配置文件得知什么样子的动作请求交给哪一个动作来处理,动作处理完之后会返回一个Boolean类型的结果,Controller根据返回的结果重定向到配置文件描述的页面,从而完成一次动作请求。
具体的实现方式后面慢慢说。