基于struts2框架研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于 Struts2 框架研究
(信息学院计算机科学与技术,)
摘要: 分析基于J2EE MVC架构的Struts2框架. Struts2是基于java、MVC模式、web的开发框架。 Struts 框架的开发应用,体现了软件框架结构和组件技术重用的优越性,促使网页设计者和软件开发者职责分离,提高了软件开发的效率,使得程序易于扩展和维护。
关键词:构架;Struts2;struts;
0引言
随着J2EE在WEB开发中的应用越来越广泛,J2EE工程开发框架不断涌现。从应用最早的struts到刚刚兴起的struts2,每个框架都在为实现代码复用、提高开发效率等方面做出了努力。Struts2框架的产生给程序开发带来了极大的方便,它更容易实现单元测试,更容易和其他框架整合,进一步提高了程序员的开发效率。
1 Struts2构架及其扩展
1.1 Struts2构架简介
虽然Struts2被业界称为是一个全新的框架,但这仅仅是相对Struts1而言。 Struts2与Struts 1 相比,确实有很多革命性的改进,但它并不是全新的框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。由于 Struts1是应用最早的一种MVC架构,经过多年的考验,被广大Java 开发者所接受,其稳定性和可用性毋庸置疑。相Struts1对来说,WebWork兴起时间比较短,要被广大开发者接受还需要一定的时间,但凭借其先进的技术优势,WebWork也逐渐受到业界的青睐。Apache接手 WebWork项目后,吸取 Struts1和 WebWork两者的优势,成功推出了 Struts2。
1.2 Struts构架简介
Struts是一个开放资源框架,具有组件的模块化、灵活性和重用性的优点,采用的是一个 M odel 2 JS PWeb 应用程序框架,也就是所谓的模型-视图-控制器(M V C )设计模式,它清晰地区分控制、事务逻辑和外观,从而简化了开发应用程序过程,其体系结构如图 1所示。
S tru ts 是由 S ervlet、标记库、实用类库等构成,这些类包括控制程序流程的类、实现和执行程序事务逻辑的类。其中,A ctionServlet类是控制器组件,它根据用户请求,调用相应的 Action 类实例进行处理,然后选择相应的JSP 文件返回客户端;A ctionForm 类是模型中的数据Bean 类,用来表示从 View 组件中输入的数据;Action 类是模型中的逻辑Bean 类,对它扩展后可以执行某一特定请求的业务逻辑;ta g lib 组件代
图1 Struts体系结构
表标签库;A ctionM apping 类代表 URL 模式和业务逻辑组件 Action 之间的映射。此外,Struts还包含了一个非常重要的配置文件Struts-config.xm l,它包括关于W eb 应用程序的ActionM apping 信息、 JD B C 数据源信息、 A ctionForm Bean 信息和全局转发等。使用 Struts 框架可以将业务逻辑、控制和数据显示功能模块区分开来,应用程序功能划分很清晰,开发人员可以分别集中开发业务逻辑模块、程序控制模块和数据显示模块,不用担心3 者之间的耦合问题。
Struts 架的开发应用,体现了软件框架结构和组件技术重用的优越性,促使网页设计者和软件开发者职责分离,提高了软件开发的效率,使得程序易于扩展和维护。
1.3 Struts 2与 Struts
Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2只有很小的变化。
1.4 MVC设计模式
将应用程序分为3个部分:模型 Model,视图View,控制器Controller;模型组件:负责业务逻辑模型包含应用程序的核心功能。模型封装了应用程序的状态。有时它包含的唯一功能就是状态。它对视图或控制器一无所知。视图组件:负责表示业务范围的视图;视图提供模型的表示。它是应用程序的外观。视图可以访问模型的读方法,但不能访问写方法。此外,它对控制器一无所知当更改模型时,视图应得到通知。控制器组件:负责控制用户输入的流和状态控制器对用户的输入作出反应。它创建并设置模型。Struts,它是使用servlet和JavaServer Pages 技术的一种MVC 实现;Struts,Apache 组织的一个项目,MVC的一种开放源码实现。
总结
Strut2提供了丰富的 JSP 自定义标记库,是 MVC 式样标记,包括 Html,Bean,Logic,Template 等,这是Struts 的一个特色. 采用框架软件 Struts来实现W eb 开发应用,充分利用 Java的强大功能和平台无关性的特点。S tru ts2是一种优秀的 J2EE M VC 架构框架,可以使开发人员集中精力编写 JS P 和业务逻辑及与外部数据库进行交互的代码而不用考虑基础框架问题;利用taglib 获得可重用的代码;利用 A ctionServlet配合 stru ts- co n fig.xm l实现对整个系统导航,增强了开发人员对系统的整体把握;用户界面与业务逻辑分离,使得页面设计者和程序开发者更好地协调工作,从而提高应用程序的柔韧性,使整个系统的开发有条不紊、容易集成、便于维护升级。
参考文献:
[1] A pache Softw are F oundation.Struts[EB /OL ].http://jak /stru ts/i ndex.htm l ,2001-06-15.
[2] James Turner ,Kevin Bedell .Struts KICK START[M]. 北京:电子工业出版社.2004.
[3] James Goodwill. Mastering jakarta struts[M]. Indiana: Iley Publishing Inc., 2002.
[4]Java EE基础实用教程郑阿奇电子工业出版社2009.7