第3章 提纲挈领 —— Struts2概览

1. Struts2和Struts1.x有什么区别,它们各自的发展足迹又如何

Struts1.X系列开发框架在开始的时候再世界范围内流行起来,很长一段时间内,其流行程度几乎可以说垄断了整个Web开发领域,成为Web开发领域的世纪开发标准。随着时代的进步,许多程序员发现了Struts1.X在设计中存在的严重不足,于是开始慢慢没落。

Apache社区和Opensymphony开源组织联合推出了Struts2,随着Struts2的不断升级,我们不仅从中获得了越来越便利的开发模式,也可以体会到整个web开发的发展历程。

Struts2来自于Webwork2,并且与Struts1.x完全不兼容

 

2. Struts2依赖于那些核心技术?

表示层技术、设计模式、OGML、XWork

 

3.Struts2可以应用在什么样的项目中

当需要建立一个由复杂的业务逻辑和众多页面构成的Web应用是,我们不得不采用分层开发模式。Struts2就可以作为一个表示层的解决方案,帮助我们进行与表示层相关的开发工作,冰提供在表示层范围内高度的可扩展性和可维护性。 

 

4. Struts2可以分成哪两条逻辑运行主线

第一条主线:

      Struts2的初始化:init方法驱动执行

第二条主线:

      Struts2处理http请求:doFilter方法驱动执行

两条主线完全没有交叉,时间节点和触发条件都不同。

 

5. Struts2在处理Http请求时,可以分为哪两个主要阶段

第一阶段 —— Http请求预处理

    在这个阶段,执行控制权在Struts2手中

    针对于每个Http请求进行预处理,为真正的业务逻辑执行做必要的数据环境和运行环境的准备。

    依赖于web容器,并时时刻刻将于web容器打交道作为主要工作。 

第二阶段 —— XWork执行业务逻辑

    在这个阶段,执行控制权在XWork手中

    预处理完后,http请求的数据被封装为Java对象,由XWork负责执行具体的业务逻辑。

   不依赖于Web容器,完全由XWork框架驱动整个执行过程。

 

6. Struts2通过哪些元素的相互配合来完成初始化运行主线

    1.  数据结构的定义:

    核心构成元素:容器及其实现类

元素名称Java Package描述
Containercom.opensymphony.xworks.inject容器定义接口,是Struts2内部进行对象管理的基础构建
ContainerImplcom.opensymphony.xworks.inject容器的实现类,内部实现了Struts2进行对象生命周期管理和依赖注入的基本功能
PackageConfigcom.opensymphony.xworks.config.entitiesPackageConfig实体类,其中定义了时间响应模型的完整数据结构

   两个相辅相成的元素配合共同完成:加载接口(Provider)和构造器(Builder)

元素名称Java Package描述
ConfigurationProvidercom.opensymphony.xworks.config配置加载接口的统一接口。Struts2将初始化元素分为Container和PackageConfig两类,这里使用多重继承将两类配置加载接口进行统一
ContainerProvidercom.opensymphony.xworks.configContainer的配置加载接口,其实现类需要负责初始化容器中的所有对象
PackageProvidercom.opensymphony.xworks.configPackageConfig的配置加载接口,其实现类需要负责初始化用于处理事件请求的配置对象
ContainerBuildercom.opensymphony.xworks.injectContainer的构造器,用于在初始化时构造容器
PackageConfigBuilderPackageConfig的内部类PackageConfig的构造器,用于在初始化时构造PackageConfig

   2. 初始化行为的操作接口

    辅助元素

元素名称Java Package描述
ConfigurationManagercom.opensymphony.xworks.config配置行为操作代理类,包含了所有ContainerProvider和PackageProvider的实现
Configurationcom.opensymphony.xworks.configStruts2配置数据的管理类,作为运行时获取配置的基本接口。承载所有配置的结构化数据和操作方法

 

7. Xwork框架主要有哪些元素构成?他们之间有什么关系

元素名称Java Package描述
ActionProxycom.opensymphony.xwork2XWork生产线中的执行环境,整个生产线的入口,如一个口袋一样封装了所有的执行细节
ActionInvocationcom.opensymphony.xwork2XWork生产线中的调用者,负责调用整个生产线中各个元素的执行次序
Interceptorcom.opensymphony.xwork2.interceptorXWork生产线中的工序序列,可以丰富整个生产线的功能
Actioncom.opensymphony.xwork2XWork生产线的核心工序,负责核心业务逻辑调用和实现
ActionContextcom.opensymphony.xwork2XWork生产线的辅助设备,提供整个生产线工作运行所必须的数据环境
ValueStackcom.opensymphony.xwork2.utilXWork数据环境中提供表达式运算的工具类,也是XWork中进行数据访问的基础
Resultcom.opensymphony.xwork2XWork生产线中的末端设备,负责输出生产线的生产结果

8. Struts2有哪些配置表现形式

 

9. Struts2中的配置元素可以为什么哪两个大类

容器配置元素  关系映射元素

 

10. 什么是配置元素的对象化过程

 

11. Struts2的配置元素的对象化过程由哪两个大元素配合完成

转载于:https://www.cnblogs.com/sankuaiqian/archive/2012/10/22/2734719.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值