本文主要是介绍【Struts】——struts2和struts1的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
struts1是过去最流行的web MVC组件,apache项目组的一个开源项目。struts2是现在非常流行的web mVC
组件,是apache用struts1和webwork组合出来的产品。二者都是web MVC组件,利用这两个组件都可以比较方便的
开发web项目。不过struts毕竟是老组件,在人们开发过程中,发现了如下问题:
1、struts1支持的表现层技术太单一、就只有jsp。不支持freemarker、velocity等当前比较流行的页面技术。
2、struts1的Action与servlet API过于耦合,难以测试。这一点对于初学者来说可能没有什么感觉,只有用
它开发过大型项目才知道。企业开发过程中,我们既要写正式代码,也要写相应的测试代码(即单元测试,以此来
保证代码是符合我们预期的),如果证实代码和Servlet API耦合太深,会早成功你的测试类难以编写,一旦离开web
服务器就会难以测试。
3、struts1属于侵入式设计,也就是说,在代码里,除了自己定义的类之外,还会包含struts1的API。这样的
设计会影响代码的重用,如果需要重构,就会比较麻烦。
以上就是struts1的主要缺点,作为大概之后的struts2,对以上问题都做了改进:
1、struts2支持多种表现层技术,如freemarker,velocity都支持。
2、struts2中,Action不再与servlet API耦合,便于编写单元测试类。
3、Action不需要与struts2耦合,方便重用。
这篇关于【Struts】——struts2和struts1的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!