Struts2与Webwork2的区别
一直在用Webwork2,因为Struts2基于Xwork2开发,变化更多的体现在名称上,所以平时甚少关注。这些天看了一下Apache上的文档,觉得Struts2更加优雅一些,至少Action变成了一个纯粹的POJO,而无须再实现任何一个接口。
Struts2不再提供Webwork2内置的IoC容器支持,转而将Spring作为ObjectFactory的缺省实现。所有由Struts2创建的对象都是由ObjectFactory实例化,ObjectFactory可以集成各种IoC容器,例如Spring、Pico、 Plexus等等.
在拦截器方面,Struts2不再支持AroundInterceptor,如果要用到AroundInterceptor ,则必须单独引入Webwork2的相关类,或者重写自己的拦截器。这一点是我不太理解的地方,不知出于什么考虑。
Struts2全面引入了Dojo,大概是对以前Webwork2在客户端实现的不满吧。例如不再支持Webwork2的richtexteditor,而以Dojo的编辑器取代。说实话,Webwork2了的rich text编辑器确实不太好用,有不少bug。还把Webwork2的Datepicker标签换成了Dojo实现的datetimepicker标签。
对开发人员而言,Struts2在Action映射方面的改进值得关注,尤其是借鉴了Spring的方式,提供了对action名称通配符的支持。在Webwork2里,需要在xwork.xml里以如下格式定义action:
- <action name="Logon" class="tutorial.Logon">
- <result type="redirectAction">Menu</result>
- <result name="input">/Logon.jsp</result>
- </action>
<action name="Logon" class="tutorial.Logon"><result type="redirectAction">Menu</result><result name="input">/Logon.jsp</result> </action>
而在Struts2中,则可以引入通配符,形如:
- <action name="*Logon" class="tutorial.Logon">
- <result type="redirectAction">Menu</result>
- <result name="input">/Logon.jsp</result>
- </action>
<action name="*Logon" class="tutorial.Logon"><result type="redirectAction">Menu</result><result name="input">/Logon.jsp</result> </action>
这样,任何以Logon结尾用作登录验证的Action,例如NewUserLogon,都可调用tutorial.Logon的一个实例。
Struts2还引入一个消息存储拦截器MessageStoreInterceptor用于存放、检索各种提示、错误消息等等,在一个session生命期中都是可用的。
转载于:https://www.cnblogs.com/JemBai/archive/2009/10/23/1588655.html
Struts2与Webwork2的区别相关推荐
- Struts2与Struts1的区别
Struts2是基于WebWork的一个全新框架. 不过有了Struts1的基础,学Struts2更方便. Struts2主要改进是取代了Struts1的Servlet和Action. Struts2 ...
- Struts2与Struts的区别
从Struts2的发展过程来看,Struts2继承了Struts与WebWork的血脉,Struts2取两者之精华,形成新德框架,但是struts2还是更多的继承了struts的设计思想,并加入了We ...
- 浅谈Struts2和Sturts1的区别
Action 类: • Struts1要求Action类继承一个抽象基类.Struts1的一个普遍问题是使用抽象类编程而不是接口. • Struts 2 Action类可以实现一个Action接口,也 ...
- struts2和springmvc的区别
一.框架机制 1.Struts2采用Filter(StrutsPrepareAndExecuteFilter)实现,SpringMVC(DispatcherServlet)则采用Servlet实现. ...
- jstl与struts2 条件语句的区别
jstl <c:if test="${flimit.limitPId==0}"> 代码 </c:if> struts <s:if ...
- Struts2和SpringMVC简单配置以及区别总结
Struts2: struts 2 是一个基于MVC(mode-view-con)设计模式的Web应用框架,是由Struts1和WebWork两个经典框架发展而来的. 工作流程: 1客户端浏览器发出H ...
- springmvc、struts2、servlet的联系与区别
一 servlet - 体系(组织)结构图 图1 - servlet体系(组织)结构图 - 网 参考: Servlet学习笔记五(相关接口与类) - 哔哩哔哩 Servlet继承体系 - 码农岛 错题 ...
- 在Struts2中使用OGNL
OGNL是XWork引入的一个非常有效的数据处理的工具.我们已经了解了OGNL的基本操作和OGNL的内部结构,接下来,我们来看看XWork对OGNL做了什么样的加强,以及OGNL的体系在Struts2 ...
- Struts2中OGNL,valueStack,stackContext的学习
http://jwx0925.iteye.com/blog/630335 [/color]学习Struts2,一直不明白表单中的值是怎么传给Action的,上网查了些资料,基本了解了!下面基本是从几个 ...
最新文章
- 开发顺序工作流时注意的几个事项
- C++11获取double类型的最大最小值
- ibm z系列服务器 cpu,低调发布:看IBM System Z系列大型机CPU
- HP-UX平台安装Oracle11gR2数据库
- python仿真智能驾驶_基于Python的3R机器人运动仿真
- 计算机系统结构教程卷子,计算机系统结构试卷试题.docx
- TokenInsight:BTC新增流量小幅下降,链上活跃度平稳
- 电商网站主动取消客户已支付成功订单感想
- 计算机usb端口没反应,电脑usb端口没反应怎么办,详细教您如何处理
- myfiles_WINDOWSXP-KB936929-SP3-X86-CHS.zip
- 含有n个元素的整型数组,将这个n个元素重新组合,求出最小的数,如{321,3,32},最小的数为321323...
- OSError: Unable to create file
- 庄懂着色器_L13_特效篇
- PRN(20201012):Improved updating of Euclidean distance maps and Voronoi diagrams
- Java并发编程:自己动手写一把可重入锁
- 23行代码下载逆水寒壁纸图片
- 制作U盘启动盘安装Win11系统
- 远程桌面从服务器拷文件出错
- 思维导图---“计算机硬件系统”练手
- 2020年终总结,少壮工夫老始成
热门文章
- 滴,这周的福利已掉落,镁客君请你免费骑摩拜
- hp unix oracle rac节点一磁盘损坏,节点修复
- 两句话动态修改table数据并提交到后台
- Hive On Tez,Tez 和 MapReduce engine 性能对比
- 聚焦:好手游难筛选的根本原因
- [webapi] 如何在查看api时 显示api的说明
- 实习博士访谈:我终于拥有了在大学实验室梦寐以求的算力
- 禅道8.2.4 腾讯云迁移至VM
- linux的一些机制Signal, Fork,
- 你也可以玩转Skype -- 基于Skype API开发外壳程序入门