您的位置:首页 > 编程语言 > Java开发

【Struts】——struts2和struts1的区别

2017-03-19 20:33 302 查看
            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耦合,方便重用。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: