通过开发一个STRUTS项目的体会
今天已经进入项目的尾声了,足足忙活了一个月。从搭建工作环境,然后熟悉业务流程、工作计划、进度控制等等项目相关的东东开始,到今天一个功能完备的治理系统已经出现在我的眼前,感到一种成就感。
想一想,起初对STRUTS只停留在书本的熟悉上,也就是能够看个明白,不过经过这个月的摸爬滚打也算有些入门了,也了解了STRUTS项目是如何进行开发的。记得第一天开工作计划是这样的:先是开发数据库值对象(VO)-数据库访问对象(DAO)-DAO的测试用例-业务逻辑对象(BO)-BO的测试用例-jsp页面-ACTIONFORM-ACTION。大概是这样的一个流程吧,现在分别说一下各个阶段是如何进行的。
(1)VO对象:从整体上看,感觉和FORMBEAN很类似,可以说是一样的,只不过是层次不同而已。在VO中也都是一些属性以及他们的setter、getter方法,其他的什么也不需要;一个VO对应一张数据库表,每个属性就是一个字段,主要是对应好数据类型,其实值得注重的就是数据库里的时间类型(DATE),这点也是我在这个小项目里感到比较头痛的问题。
(2)DAO对象:就是数据访问对象,完成一些基本数据增删改操作。这个项目中,我们编写的DAO都继续自一个积累BasicDAO,里面写了几个虚接口,提供查询的功能。这个地方要留意的就是一个线程安全的问题,需要保证每个DAO只能有一个实例存在,因此使用了单子模式(SINGLETON)来完成。
(3)BO对象:感觉BO对象只是封装了DAO层的一些接口,提供给Action调用,如update,delete等等,可能是我的业务模块中业务不是很复杂,知识简单的增删改操作,因此没有体现出BO层的魅力。
(4)Juint Test测试用例:这个东西还是满有意思的。大概了解了一下,每个测试用例都要继续自junit.framework.TestCase,主要的方法就是setUp(),tearDown(),testXXX()。
(5)ActionForm和Action:感觉用JBuilder开发还是方便了不少的,可以通过JSP页面自动生成ActionForm然后在生成Action。
通过这次项目,还是学到了很多东西,如Struts-config的配置,国际化资源的配置等等。