http://www.paper.edu.cn
-1-
基于 FreeMarker+WebWork+Spring 架构的 Web 应
用研究
梁广吉
东北大学东软信息学院计算机科学与技术系,辽宁大连(116023)
E-mail:liangguangji@neusoft.edu.cn
摘 要:针对开发 Web 应用中多层开发的特点和可维护性、可扩展性的要求,介绍了三种
轻量级框架 FreeMarker,WebWork,Spring 的基本特征,并将这三种框架技术整合起来应用
到实际的 Web 项目开发中去。三种框架分别对应 web 应用开发中的三层,即用 FreeMarker
来架构我们的表示层,用 WebWork 来架构我们的控制层,而用 Spring 架构我们的业务层,
从而提高项目代码的复用性及项目开发的效率,实现多层开发的低耦合。
关键词:框架;FreeMarker;WebWork;Spring
中图分类号:TP311
1.引言
面对日益复杂的软件规模,选择良好的开发框架对保证系统的成功至关重要。在传统
J2EE架构体系中,其业务层主要是靠业务组件EJB(EnterpriseJava Beans)来实现的。虽然EJB
一度被认为是J2EE的核心组件,但它是典型的重量级组件,具有部署复杂等缺点。与J2EE
重量级体系相对应,轻量级Web框架—FreeMarker+ WebWork +Spring不仅保持了J2EE的优势
(例如事务管理),还简化了Web的开发。将Web应用分层,然后按层来选择框架,让框架技
术的优点发挥在每一层中,即用FreeMarker来架构表示层,用WebWork来架构控制层,而用
Spring来架构业务层,然后把这些框架无缝地整合起来,应用到项目开发中来。
2.FreeMarker,WebWork,Spring框架简介
2.1 FreeMarker
FreeMarker是一个模板引擎。模版技术应用的场合很多,例如代码生成,XML文件生成,
而其最主要的作用还是应用于VIEW层的HTML代码生成。使用Freemarker的MVC框架有
Webwork,SpringMVC,Struts2.0等等。虽然FreeMarker具有一些编程的能力,但通常由Java
程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据。
<html>
Hello ${name}!
...
</html>
data.name= Word
<html>
Hello Word!
</html>
<FreeMarker>
Java objects
Output
Template File
图1 FreeMarker工作机制
z FreeMarker 不是一个 Web 应用框架,而适合作为 Web 应用框架一个组件。