基于 FreeMarker+WebWork+Spring 架构的 Web 应.doc

上传人:李主任 文档编号:3624707 上传时间:2019-09-18 格式:DOC 页数:5 大小:143.50KB
返回 下载 相关 举报
基于 FreeMarker+WebWork+Spring 架构的 Web 应.doc_第1页
第1页 / 共5页
基于 FreeMarker+WebWork+Spring 架构的 Web 应.doc_第2页
第2页 / 共5页
基于 FreeMarker+WebWork+Spring 架构的 Web 应.doc_第3页
第3页 / 共5页
基于 FreeMarker+WebWork+Spring 架构的 Web 应.doc_第4页
第4页 / 共5页
基于 FreeMarker+WebWork+Spring 架构的 Web 应.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于 FreeMarker+WebWork+Spring 架构的 Web 应.doc》由会员分享,可在线阅读,更多相关《基于 FreeMarker+WebWork+Spring 架构的 Web 应.doc(5页珍藏版)》请在三一文库上搜索。

1、基于 FreeMarker+WebWork+Spring 架构的 Web 应用研究梁广吉 东北大学东软信息学院计算机科学与技术系,辽宁大连(116023) E-mail:摘要:针对开发 Web 应用中多层开发的特点和可维护性、可扩展性的要求,介绍了三种 轻量级框架 FreeMarker,WebWork,Spring 的基本特征,并将这三种框架技术整合起来应用 到实际的 Web 项目开发中去。三种框架分别对应 web 应用开发中的三层,即用 FreeMarker 来架构我们的表示层,用 WebWork 来架构我们的控制层,而用 Spring 架构我们的业务层, 从而提高项目代码的复用性及项目开发

2、的效率,实现多层开发的低耦合。 关键词:框架;FreeMarker;WebWork;Spring中图分类号:TP3111引言面对日益复杂的软件规模,选择良好的开发框架对保证系统的成功至关重要。在传统 J2EE架构体系中,其业务层主要是靠业务组件EJB(EnterpriseJava Beans)来实现的。虽然EJB 一度被认为是J2EE的核心组件,但它是典型的重量级组件,具有部署复杂等缺点。与J2EE 重量级体系相对应,轻量级Web框架FreeMarker+ WebWork +Spring不仅保持了J2EE的优势 (例如事务管理),还简化了Web的开发。将Web应用分层,然后按层来选择框架,让框

3、架技 术的优点发挥在每一层中,即用FreeMarker来架构表示层,用WebWork来架构控制层,而用 Spring来架构业务层,然后把这些框架无缝地整合起来,应用到项目开发中来。2FreeMarker,WebWork,Spring框架简介2.1 FreeMarkerFreeMarker是一个模板引擎。模版技术应用的场合很多,例如代码生成,XML文件生成, 而其最主要的作用还是应用于VIEW层的HTML代码生成。使用Freemarker的MVC框架有 Webwork,SpringMVC,Struts2.0等等。虽然FreeMarker具有一些编程的能力,但通常由Java 程序准备要显示的数据,

4、由FreeMarker生成页面,通过模板显示准备的数据。-1-Template FileHello $name!.Java objectsOutput Hello Word!data.name= Word图1 FreeMarker工作机制zFreeMarker 不是一个 Web 应用框架,而适合作为 Web 应用框架一个组件。zFreeMarker 与容器无关,因为它并不知道 HTTP 或 Servlet;FreeMarker 同样可以应用于非 Web 应用程序环境。zFreeMarker 更适合作为 Model2 框架(如 Struts)的视图组件,也可以在模板中使 用 JSP 标记库。2.

5、2 WebWorkWebWork1由 OpenSymphony 组织开发。致力于组件化和代码重用的拉出式 MVC 模式 J2EE Web 框架。WebWork 框架扩展了传统的 MVC 设计模式,这个框架的原理图如图 2 所 示:ClientRequestRefreshView-5-DispatcherViewExecuteControllerRenderChangeModelModel图2 WebWork框架原理图WebWork实际上是一个Front Controller设计模式的实现。它通过一个Dispather对象把客 户端发送的URL请求映射到一个命令对象(由Xwork里的Action

6、对象实现)中,该命令对象在 后台完成与系统内部模型的交互,并根据处理后的返回结果把控制权映射到某一具体的视图 (通常用JSP表示),最后在视图层根据表达式语言OGNL对更新后的结果进行显示。相对于传 统MVC架构,WebWork具有下列优点:(1)支持AOP,可以方便地配置前端拦截器(interceptor)统一地处理异常事件流。 (2)支持多视图表示,视图部分可以使用JSP,Velocity,FreeMarker,JasperReports等。 (3)测试独立于Servlet容器,WebWork2已经被拆分成与Servlet容器相关的WebWork和核心的Xwork两部分,对于一般开发需要使

7、用的JUnit测试只需使用Xwork。(4)插件的支持。WebWork的插件应归功于其拦截器(AOP编程),它的很多功能框架都是 通过拦截器来组装的(如验证、国际化、IoC等),并且与其它项目的集成也更加容易。2.3 SpringSpring是一个应用于J2EE领域轻量的、功能强大的、灵活的应用程序框架,以提供快速 的Java Web应用程序开发,同时Spring还提供了以其它各种MVC框架或视图技术的集成。 Spring具有下列优点:(1)支持IoC2和AOP,更容易实现复杂的需求;(2)支持事务管理,提供了比EJB CMT更加强大、高效的编程模型可以很容易的实现 支持多个事务资源;(3)支

8、持JMS、JMX和JCA等技术,更方便访问EJB;(4)支持JDBC和ORM等技术进行数据访问。有了Spring框架,使用简单的JavaBean就可以实现以前只有EJB才能实现的功能。不只 是服务器端开发能从中受益,任何Java系统开发都能从Spring的简单、可测试和松耦合特征 中得到好处3 。图3 Spring框架的7个模块Spring框架4由7个模块组成(如图3),所有的模块都是建立在核心容器上的,核心容器 定义了创建、配置和管理Bean的方式。此外Spring还提供了AOP的支持、JDBC的提取框架 和抽象事务支持等等。3三种框架的集成网络教学平台系统复杂,采用传统方式开发容易将用户请

9、求和业务逻辑混合在一起,不 利于系统扩展和更新。FreeMarker+WebWork+Spring三种框架的集成提供的解决方案,用于 建立“快装式企业应用”。HTML CSSFreeMarkerWebWorkSpringOracleJavaScriptSpringJdbcTemplateEclipse / Tomcat / SubVersion/ JIRA4在Web开发中的应用图4 技术体系结构图文中以网络教学平台系统的用户管理模块为例,通过一个用户登录的整个流程分析了该 框架的应用。(1)用户提交表单到login.action,而web.xml里面所有以.action结尾的请求都映射到了We

10、bWork的Servlet,因此请求转发给WebWork的控制层。(2)控制层调用Servlet分派器,分派器根据配置文件声明,发现login请求对应的是netp.action.LoginAction,请求被转发给该Action。(3)LoginAction调用了由Spring管理的UserService,用来获取用户的信息。(4)UserService使用Spring JdbcTemplate访问数据库,调用了queryForMap方法,传入SQL语句“SELECT * FROM users WHERE username=?”,取得了用户的具体信息。 (5)UserService把取到的us

11、er对象返回给LoginAction.action。Action完成密码验证过程。 (6)验证成功,返回SUCCESS结果。请求继续交由WebWork的Servlet分派器进行处理。根据配置文件中定义success结果调用FreeMarker来处理页面模板。 (7)FreeMarker根据Action中的数据和页面模板输出用户登录成功的信息。 以下是各层的实现代码:(1)业务逻辑层:UserServicepublic List getUsersByUserId(Long userId) jt.queryForList( select * from users where userid= ?,n

12、ew ObjectuserId ) (2)控制层:UserActionpublic List users;public List getUsers()return users;public String list() throws Exception users= UserService. getUsersByUserId(getLoginUserId();return list;(3)编写 Action 的配置文件:user_list.ftl(4)表示层:FreeMarker 页面模板 user_list.ftl用户名创建时间$user.USERNAME$user.BUILDDATE?dat

13、etime5结束语文中讨论了J2EE开发中的轻量级框架组合FreeMarker + WebWork +Spring,并对这种组 合应用于Web管理信息系统开发进行了研究与设计。三种框架的组合使得J2EE的开发有更好的扩展性、可维护性,能充分发挥三者的优势,实现Web管理信息系统开发的松耦合,因此具有很好的应用前景。1http:/ www.O SpringM北京:电子工业出版社,20053Craig Ills,RyanBreidenbathSpringinAction中文版M李磊,程立,周悦虹译北京:人民邮电出版社,2OO64 Johnon RSpring Reference Documenta

14、tionEB/OLhttp:/www.springframework.org/,2004Web Research Based on FreeMarker+WebWork+SpringArchitectureLiang GuangjiDept. of Computer Science and Technology,Neusoft Inst. of Information, Northeast University,Dalian,Liaoning(116023)AbstractFor the characteristics of development for application on Web

15、 with multilayers and the demands of maintainability and expansibility,introduces the basic character of three lightweight frameworks with FreeMarker,WebWork and Spring,and we integratethese three kinds of framework technology and apply these technologies to our real web project development。They cor

16、respond to three layers in web system development separately,The presentation layer is constructed with FreeMarker,the controller layer is constructed with WebWork,and the business layer is constructed with Spring。Doing this can reuse code and achieve loose coupling,improving the development efficiency evidently。 Keywords:Architecture,FreeMarker,WebWork,Spring作者简介:梁广吉,男,1976 年生,助教,主要研究方向是软件理论与软件工程。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1