Struts2.0与Struts1.2的区别?

 我来答
bhdydyq
2012-03-15
知道答主
回答量:7
采纳率:0%
帮助的人:3.4万
展开全部
struts1.x之间差别不大,你具体提到struts1.2似乎没什么意义~所以你提的问题其实就是struts1和struts2的差别。

先大致介绍下struts1和struts2
struts:过去最流行的web MVC组件,apache项目组的一个开源项目
struts2:现在非常流行的web MVC组件,是apache用struts1和webwork组合出来的产品
两者都是web MVC组件,利用这两个组件都可以比较方便地开发web项目。不过struts1毕竟是老组件,在人们开发过程中,发现了如下问题:
1.struts1支持的表现层技术太单一,就只有jsp。不支持freemaker、velocity等当前比较流行的页面技术。
2.struts1的Action与servlet API过于耦合,难以测试。这一点对于初学者来说可能没什么感觉,只有你用它开发过大型项目才知道。企业开发过程中,我们既要写正式代码,也要写相应的测试代码(即单元测试类,以此来保证代码是符合我们预期的),如果正式代码和servlet API耦合太深,会造成你的测试类难以编写,一旦离开web服务器就会难以测试。
3.struts1属于侵入式设计,也就是说,在你的代码里,除了你自己定义的类之外,还会包含struts1的API。倒不是说这样的设计有多么差,毕竟你用别人的组件,少不了会用到别人的API。只是这样的设计会影响代码的重用,如果需要重构,就会比较麻烦。

以上就是struts1的主要缺点,作为大改之后的struts2,对以上问题都做了改进:
1.struts2支持多种表现层技术,如freemaker、velocity都支持。
2.struts2中,Action不再与servlet API耦合(当然了,你希望在Action里使用servlet API也行),便于编写单元测试类。
3.Action不需要和struts2耦合,方便重用。

至于更详细的区别,网上很多,有些还用列表形式列出来了,我这里就不copy了。总之,虽然都叫struts,但是两者差别挺大的,设计思想都不一样。建议你运用这两个组件各自实现同一个小项目,自然就明白差别了。
百度网友30555a3
2013-12-01
知道答主
回答量:1
采纳率:0%
帮助的人:1429
展开全部
struts2 在开发中省去了struts1 的映射,比较易于理解。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式