struts2 为什么要基于 webwork

6 篇文章 0 订阅

WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1,现在的WebWork2.x前身是Rickard Oberg开发的WebWork,但现在WebWork已经被拆分成了Xwork1和WebWork2两个项目。 Xwork简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出来。 Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。 WebWork2建立在Xwork之上,处理HTTP的响应和请求。WebWork2使用ServletDispatcher将HTTP请求的变成Action(业务层Action类), session(会话)application(应用程序)范围的映射,request请求参数映射。WebWork2支持多视图表示,视图部分可以使用JSP, Velocity, FreeMarker, JasperReports,XML等。在WebWork2.2中添加了对AJAX的支持,这支持是构建在DWR与Dojo这两个框架的基础之上 
   
  Web 应用程序的设计开发是复杂并且费时的。然而,你能够通过运用一种框架处理常见的Web应用程序来简化开发流程。许多开源Web应用框架能够做到这一点甚至更好一些。这些开发框架中最好的一个就是WebWork,是开源项目中OpenSymphony组的一个Web应用开发框架。

WebWork的最大优点是它的简单性和灵活性。WebWork有一个很小的API,它使开发者可以迅速进行开发工作。WebWork是许多特性和适用性的组合,包括使用variour view技术,例如JavaServer Pages(JSP),Velocity,Extensible Stylesheet Language Transformations Specification(XSLT)和JasperReporters。WebWork拥有一个活跃的社区,有许多文章、开发者和用户。

  WebWork是建立在称为XWork的Command模式框架之上的强大的基于Web的MVC框架。

WebWork2的特性包括   

灵活的Validation框架 
允许你在XML文件中定义验证内容,在运行时通过Interceptor自动应用,因此完全脱离Action类。新版支持客户端验证。

Type conversion   允许你在类之间很容易转换对象。 
OGNL(Object Graphical Navigation Language)表达式语言:
允许动态对象图表遍历和方法执行,使用ValueStack透明访问多Beans的属性。WW2也具有使用JSTL的能力。

IoC(Inversion of Control)容器 
管理组件的生命周期,使客户获得组件实例不需要创建注册类(与容器环境无关)。   
   
Velocity Templates 
使UI组件可重用,从而允许开发者容易定制Web页面的look & feel。   
   
Interceptors 
在Actions处理的前后动态拦截,以简单化Action代码,增加减少代码的机会。

支持I18N。 

容易和第三方软件集成 
包括Hibernate, Spring, Pico, Sitemesh等。

支持多种视图技术
如JSP,Velocity,FreeMarker,JasperReports,XML等。

支持Packages和Namespaces,来管理Actions。

struts2 为什么要基于 webwork


webwork 
采用更加松耦合的设计,系统的action和servlet API不在耦合,使单元测试更方便,允许系统从B/S结构向C/S结构转换 
webwork支持更多的表现层技术,如velocity,freemarker和xslt等 
webwork可以脱离web应用使用,webwork有自己的控制反转(Inversion of Control)容器,通过控制反转,能让测试更简单 
从处理流程上来看,webwork与struts1很相似,核心都是控制器组成: 
1)核心控制器ServletDispatcher,由框架提供 
2)业务逻辑控制器Action,由程序员提供 相对于struts1,webwork优点 
1)action无需与Servlet API耦合,更容易测试 
2)action无需与webwork耦合,代码重用率高 
仅仅实现webwork的action接口,包含了一个execute方法。 3)支持更多的表现层技术,有更好的适应性


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值