【软件系肖潇】Struts起源

Struts发展至今已经成为一个高度成熟的框架,但是在学习Struts之前需要了解一下Struts的发展历史。

Struts相比其他框架的发展经历有着差异性,比如说现阶段广泛使用的hibernate4,他相比较前几代则没有什么性质上的差异,也可以说是技术上的差异,版本号的提升只是对bug的修改和功能上的添加。但Struts2和Struts1确不同,确切来说Struts1和Struts2从技术上来讲没有任何关系

在最早Struts1的架构是基于Servlet之上的,发展到成熟的版本为Struts1.2,但是既然说了是基于servlet,就有了一个不可忽略的问题,那就是servlet线程是不安全的,那么Struts1基于线程不安全的Servlet之上,自然也是处于一种线程不安全的状态。在这期间便有了由Rickard Oberg开发的WebWork,WebWork不同于Struts1,它的架构是基于filter之上,是线程安全的。相比较看似很火,但有着诟病的Struts1来讲,明显WebWork在技术实现上更胜一筹。但WebWork的影响力确没有办法跟如日中天的Struts1比。在这样的前提下,就有了团队合作的一个版本,Struts2,它使用了全新架构,基于filter,单从线程来讲完全摆脱了Struts1的线程安全问题。

也就是说Struts2其实和Struts1没有太多关联,它的前身应该是webwork。是在webwork的核心基础包Xwork之上,整合了Struts1,在当时来说,Struts2可以说是结合了Struts1的影响力和Webwork的先进技术。去查阅各个版本Struts2的jar包不难发现xwork的身影。

所以从技术方面来说Struts2相比前代不是单纯的技术升级,它更像是Webwork的升级版。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值