1.2.3 Struts 2起源 经过五年多的发展,Struts 1已经成为一个高度成熟的框架,不管是稳定性还是可靠性,都得到了广泛的证明。但由于它太“老”了,一些设计上的缺陷成为它的硬伤。面对大量新的MVC框架蓬勃兴起,Struts 1也开始了血液的更新。 目前,Struts已经分化成两个框架:第一个框架就是传统Struts 1和WebWork结合后的Struts 2框架。Struts 2虽然是在Struts 1的基础上发展起来的,但实质上是以WebWork为核心,Struts 2为传统Struts 1注入了WebWork的设计理念,统一了Struts 1和WebWork两个框架,允许Struts 1和WebWork开发者同时使用Struts 2框架。 Struts分化出来的另外一个框架是Shale,这个框架远远超出了Struts 1原有的设计思想,它与原有的Struts 1的关联很少,它使用全新的设计思想。Shale更像一个新的框架,而不是Struts的升级。Shale 在很多方面与Struts存在不同之处,其中有两点最为突出: — Struts与JSF集成,而Shale则是建立在JSF之上。 — Struts实质上是一个巨大的、复杂的请求处理器;而Shale则是一组能以任何方式进行组合的服务,简单地说,Shale是一种SOA(面向服务架构)架构。 在后面的介绍中,我们会发现,Struts 2非常类似于WebWork框架,而不像Struts 1框架,因为Struts 2是以WebWork为核心,而不是以Struts 1为核心的。正因为此,许多WebWork开发者会发现,从WebWork过渡到Struts 2是一件非常简单的事情。 当然,对于传统的Struts 1开发者,Struts 2也提供了很好的向后兼容性,Struts 2可与Struts 1有机整合,从而保证Struts 1开发者能平稳过渡到Struts 2。 1.3 Struts 2体系介绍 Struts 2的体系与Struts 1体系的差别非常大,因为Struts 2使用了WebWork的设计核心,而不是使用Struts 1的设计核心。Struts 2大量使用拦截器来处理用户请求,从而允许用户的业务逻辑控制器与Servlet API分离。 1.3.1 Struts 2框架架构 从数据流图上来看,Struts 2与WebWork相差不大,Struts 2同样使用拦截器作为处理(Advice),以用户的业务逻辑控制器为目标,创建一个控制器代理。 控制器代理负责处理用户请求,处理用户请求时回调业务控制器的execute方法,该方法的返回值将决定了Struts 2将怎样的视图资源呈现给用户。
- 粉丝: 30
- 资源: 32
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助