1.5 WebWork和Struts 2对比
从某种程度上来看,Struts 2是WebWork的升级,而不是Struts 1的升级,甚至在Apache的Struts 2的官方文档都提到:WebWork到Struts 2是一次平滑的过渡。实际上,Struts 2.0其实是WebWork 2.3而已,从WebWork 2.2迁移到Struts 2.0不会比从WebWork 2.1到2.2更麻烦。
在很多方面,Struts 2仅仅是改变了WebWork下的名称,因此,如果开发者具有WebWork的开发经验,将可以更加迅速地进入Struts 2的开发领域。
下面是Struts 2与WebWork命名上存在改变(见表1.1):
表1.1 Struts 2和WebWork成员名称的对应
Struts 2 成员 | WebWork 成员 |
com.opensymphony.xwork2.* | com.opensymphony.xwork.* |
org.apache.Struts2.* | com.opensymphony.webwork.* |
struts.xml | xwork.xml |
struts.properties | webwork.properties |
Dispatcher | DispatcherUtil |
org.apache.Struts2.config.Settings | com.opensymphony.webwork.config.Configuration |
除此之外,Struts 2也删除了WebWork中少量特性:
— AroundInterceptor:Struts 2不再支持WebWork中的AroundInterceptor。如果应用程序中需要使用AroundInterceptor,则应该自己手动导入WebWork中的AroundInterceptor类。
— 富文本编辑器标签:Struts 2不再支持WebWork的富文本编辑器,如果应用中需要使用富文本编辑器,则应该使用Dojo的富文本编辑器。
— IoC容器支持:Struts 2不再支持内建的IoC容器,而改为全面支持Spring的IoC容器,以Spring的IoC容器作为默认的Object工厂。