- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Struts2概述
第3章 Struts2概述 Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。顾名思义它给开发者提供了一个基本框架和众多组件,那么在此框架下生产出的产品必然大量节省时间而且产品趋于标准化的,这也正是Struts项目的目的所在。Struts能充分满足应用开发的需求,简单易用,敏捷迅速,成为最成功的J2EE框架之一。 3.1 Struts项目简介 Struts是Apache基金会Jakarta项目组的一个开源项目,它采用MVC模式,能够很好地帮助Java开发者利用J2EE开发Web应用,它能大量减少开发Web应用的时间,提高产品的重用度。Struts主要是采用Servlet和JSP技术来实现的,它把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,Struts它只有一个中心控制器,他采用XML定制转向的URL,采用Action来处理逻辑,开发人员利用其进行开发时不用再自己编码实现全套MVC模式。 Struts跟Tomcat、Velocity等诸多Apache项目一样是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。 3.2 Struts2的前世今生 经过多年的发展,Struts已经成为一个高度成熟的框架,不管是稳定性还是可靠性,都得到了广泛的证明。在国内Struts是使用最广泛的一个框架,也成为Java程序员一项基本技能。但毕竟Struts诞生于很多年前,近期Ajax、JSF技术的兴起,原有设计上的缺陷成为它的硬伤,Struts有点跟不上时代的步伐一些。 大量新的MVC框架成了Struts强大的在竞争者,最有代表性的莫过于WebWork。WebWork是由OpenSymphony组织开发的,也是致力于组件化和代码重用的J2EE Web框架。后来Struts与WebWork两大社区决定将两个项目合并,称为Sturts2。 3.3 Web世界中的MVC 本节将着重讲述Web世界中MVC模式是如何应用的,与传统的C/S结构中MVC模式有哪些区别。另外,以网页为视图也为MVC带来了一些变化和发展,产生了新的处理方式前端控制器和页面控制器。 3.3.1 MVC在Web中的发展 在经典MVC中的事件流中,用户与视图(View)进行交互,填入数据并单击按钮,控制器(Controller)接收到来自视图的事件并对模型(Model)进行操作,根据用户提供的数据更新模型(Model)。视图也会接到“模型改变”的事件通知,因此它会随着模型而更新,将模型更新的结果显示给用户。这种模式在单机且实时更新的应用程序中可以起到很好的作用。 3.3.2 前端控制器和页面控制器 MVC也不是一成不变的,一种稍微有些不同的MVC实现已经通过一些框架,譬如Microsoft的ASP.NET,流行起来了。在这种MVC中,并不是令分发器去寻找一个控制器并执行之,而是直接到达视图并且在继续生成视图之前调用相应的控制器。与传统的MVC模式中的前端控制器对应这种模式成为页面控制器。 3.4 为什么要使用Struts2 在Web应用中MVC如此的重要,那么在众多的MVC框架中Struts为何能脱颖而出受到绝大部分程序员的青睐呢?首先是它的技术水平,Struts2由Struts和webwork共同发展而来,集中来两者的优势于一身。其次是它在国内的认知度最高,在选择框架的时候,选择一个大家都普遍熟悉的框架来减少学习时间,无疑也是一个很重要的因素。 3.4.1 框架的意义 框架可以极大地提高开发效率。为了能够满足用户的需求并且应对来自不断改变的商业世界的挑战,在构建Web应用程序的时候充分发挥MVC设计模式的优势。绝大多数的开发人员并不会自己从零开始写一个MVC框架,而是在已有框架(譬如Struts)的基础上进行改进。 Rickard Oberg(WebWork的创造者和JBoss创始人之一)曾经说过:“框架的强大之处不是源自它能让你做什么,而是它不能让你做什么。”Rickard所说的话解释了什么是框架:框架使混乱的东西变得结构化。而Web应用程序框架则鼓励开发人员使用一系列框架所提供的基础类和类库,从而避免杂乱的JSP所造成的混乱。对句话可能对初学者更有意义,应该最先学习和了解的应该是最普通、最经典的应用,而用了框架就能保证开发和设计不会偏离正确的方向。 3.4.2 Struts2的优势 由Struts2的发展过程我们可以看出,Struts2是集中了MVC领域最强大的两个社区的力量,其技术水平可谓是绝无仅有。Struts2 又是一个崭新的项目,发展空间很大,当前最新的技术,最新的理念都包含着其中。使用了Struts2就相当于站沿了Java Web开发的最前沿,将与Struts2共同前
文档评论(0)