问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Struts2.0跟webwork有什么区边,那个更实用

发布网友 发布时间:2024-10-08 17:25

我来回答

1个回答

热心网友 时间:22小时前

Struts、Webwork比较
比较内容 Struts WebWork2
Action 类 在Struts里面,每一个
Action Class都需要扩展org.apache.struts.action.Action;这个在Java编程中会引来一些问题,就是关于多种继承的问题 Webwork仅仅需要implement com.opensymphony.xwork.Action Interface,您也可以implement其它的interface来实现更多的功能,譬如:validate(验证),localware(国际化)等,当然 webwork2也提供了一个类ActionSupport 集成了以上功能。Developer可以根据需要实现不同的功能。
线程模型 Struts Actions必须是thread-safe方式,它仅仅允许一个实例去处理所有的请求。所以action用到的所有的资源都必须统一同步,这个就引起了线程安全的问题。 Webwork 2 actions每一个请求对应一个action,因此没有线程的安全问题。实际上Servlet 容器对应每一个请求会产生许多Object,这种一个请求产生许多object的例子没有证明对性能产生太多的影响。现在Web容器都是这么处理Servlet的。
Servlet的依赖 Struts处理一个Action时候必须要依赖ServletRequest and ServletResponse。所以这一层摆脱不了Server容器。而serveltRequest可能会被web层的Context使用。 Webwork2 每一个action不依赖任何层和任何容器。他们使用Request和response是通过ActionContext,所以这个对于逻辑层的分离是很重要的。
测试 因为Struts的每一个action都必须用到request和response所以都必须通过web层来进行测试。这就导致了许多测试struts都要通过web容器(尽管现在有许多测试方法cactus mock 等)。 Webwork的action能够通过赋予一定的属性。就可以执行。同时您可以使用一个mock的实例去测试,而不是通过启动web容器来进行测试。
FormBean Struts 需要一个FormBeans针对每一个Form。而使用DynaBeans实际上没有太大的意义。不能够很好的处理现有的模型。 Webwork 能够动态的收集web的数据然后在赋值给bean。同时它还能够使用FormBean模式。Webwork2还允许现有的ModelDrvien进行导入处理。能够处理它就像处理action自己的属性一样。
前端表达语言 Struts大部分使用的是JSTL EL(JSP2。0)去获得数据的。在Collection上面处理显得很弱。 Webwork前端可以使用JSTL同时也可以使用多种表现形式。譬如:velocity freemaker jspparer xml等等。Webwork2 利用ongl建立一个valuestack来搜集数据
类型的转换 Struts FormBeans把所有的数据都作为string类型。得到一个自己需要的类型然后展示给用户是很困难的。 Webwork2 数据都是转换成Java中的类型。这个根据Form的类型自动转换。然后操作这些bean十分方便。
对Action 执行前和后的处理 Struts处理action的时候是基于class的hierarchies,很难在action处理前和后进行操作。 Webwork2 允许您处理action可以通过interceptor,就是在每一个action处理前或者后进行其它操作。
验证处理 因为struts的FormBean的属性都被认为是string类型。许多类型的验证都要进行类型转换的处理。FormBean对一个验证链的处理显然不行。 而webwork2的验证采用的是interceptor设计模式。它的这种验证方式决定了它十分灵活。而且一个验证可以重复不断的使用仅仅需要一个XML文件的定义。实际上webwork2的验证是采用了xwork的验证框架。
Action的链的控制 Struts里面每一个action对应一个处理,如果一个action转向另外一个action就很困难了。 Webwork使用一个强大的DispatcherChain去处理这个action链。很方便的从一个处理到另外一个处理。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
曼昆经济学曼昆经济学术语表 无锡清名桥景区酒店推荐,无锡清名桥景区酒店推荐 材料可以分哪些种类 通常材料有哪些分类 材料都有哪些分类 什么是三门对冲 请问“开门之法事如何,对直三门便不宜,纵对宜偏长闭塞,免来灾祸是兼... 购买珍珠首饰时有什么注意事项? 国债基金属于什么基金 什么叫国债基金 15寸笔记本电脑中,哪款更适合游戏和娱乐? 如何护肤装嫩? 有哪些美容护肤的方法比较可靠? 美容护肤窍门 白领出差如何保养皮肤 用电饭锅能成功制作蛋糕吗? 风光互补电站原理 风光互补发电解决方案 风光油互补发电系统系统简介 风光互补发电什么是风光互补 经常头疼头晕,今天量血压,高压为90,低压为80,今年十九,是女生!这个... 谁能想到,波场逆市上涨原因竟是传销资金盘? 客体和餐厅之间,用什么装饰物隔开,相对得体? TRX波场币价格今日行情,TRX波场币最新价格 手机微信怎么打印照片? gif快手怎么添加好友 gif快手关注好友方法 电脑没有声音了,右下角的小喇叭也不见了 东边日出西边雨的下一句是啥 “日出花照耀”的出处是哪里 Win10 1809更新被微软暂停推送,如何解决Office与Morphisec软件兼容问 ... 三月三和清明节是同一天有什么讲究?拜托了各位谢谢 struts和struts2的配置文件有什么不同,struts2配置文件是否比struts好... 现在还有用xwork的公司吗?这框架和struts2区别大不大? 橄榄核怎么包浆最快 橄榄核包浆方法 成语接龙一心一夜开头最少30个!!拜托了~ 无证售房构成非法经营罪吗 无证售房不退款能否要求开发商承担诉讼费用 开发商未取得许可证的商品房买卖有效吗 无证售房合同违法吗 暖气管道的阀门,不知道是开还是关。这个把手向那边是开? 女性身高164,体重61公斤,应该穿什么样的衣服? 我1.68米 体重61公斤 但是网上买衣服裤子,我应该选什么尺码啊? bobo短直发发型 这样的bobo头怎么做出来的 武汉现在很多女生扎那种bobo头,到底怎么扎的,感觉好像是把头发裹进... 这个男士BOBO头怎样做啊、 箬岭古道的民俗文化 刷宝提现要银行卡身份证还有银行的预留电话干什么 银行卡身份证号都... 丰顺鸳鸯寨门票_黄山十大古镇排名 净化环境、保持水土、改良土壤和调节气候的作用体现了生物多样性的哪... ...调节气候”这体现了生物多样性的( )A.直接使用价值B.间接使用价值...