基于Step的Java Web框架设计与实现
2012-05-08陈志宾
陈志宾,王 娜,李 洁
(1.河北省科学院 应用数学研究所,河北 石家庄 050081;2.河北省信息安全认证工程技术研究中心,河北 石家庄 050081;3.河北省科学院,河北 石家庄 050081)
由于互联网的发展,针对Web应用需求的日益增长,快速开发高质量的Web应用系统,满足社会需要,成为业界研究的一大热点问题。
目前,大部分Web应用开发都采用框架技术,即应用一种框架作为整个系统实现和程序编写的基础,如Java框架Struts/JSF、Spring、Hibernate、iBATIS、Tapestry、WebWork、Maverick等。这些框架虽然能够屏蔽J2EE架构[3]的复杂性,帮助开发人员快速编写web应用,但框架之间的配合和MVC分层设计以及应用部署等方面对开发者的技术水平要求较高。Maverick[1]特点是采用不同的模板和转换技术实现表示层逻辑,文献[2]利用Schema实现Pojo对象与关系数据库表的松散耦合,减少需求变化时的系统修改量,文献[3]仅对Struts在易用性方面进行了改善。截至目前,几乎所有的Java框架都需要编写后台Java代码,流程控制和权限配置仅限于页面级别。
在此笔者将阐述一种新型Java框架设计方法,让开发人员不用编写后台Java代码,仅用类似语义语言配置构建最小功能单元——Step,然后将Step流装配成业务功能——Action。它有效的将业务域和技术域进行分离,达到业务流程的敏捷实现和灵活调整,使开发人员能专注于具体应用的业务逻辑而不用将精力过多地放在技术实现细节上,极大地降低了Web应用开发难度。
1 框架原理
本框架是针对B/S应用从Web层、业务逻辑层到持久层的基于MVC(Model-View-Controller)的完整实现。

图1 框架结构
框架结构如图1所示,当浏览器向应用服务器发出请求后,Action Servlet(MVC中的Controller)接受该请求,找到对应的Action,调用Action Engine执行该Action。……
