收集的一些struts2和springMVC之间的对比

来源:互联网 发布:淘宝3c证书编号在哪里 编辑:程序博客网 时间:2024/06/05 12:39
1.易用性Spring MVC上手简单,并且可以与Spring无缝结合,毕竟都是一个公司的产品,学习起来也比较简单,比如从前端给对象填充值,他的处理就比Struts2简单多了,再比如对Restful风格的URL的支持,这些Spring MVC都比Struts2做的好N倍。
2.安全性说到安全性,我也不想多提Struts2了,我在一家游戏公司工作,之前公司的老项目是用的Struts2,他今年出了不少漏洞,并且是致命性漏洞,每出一次漏洞,我需要加班一次,好吧,我想说我加了4次班了,最可恶的是Struts2有漏洞后,还把攻击方法放到网上。Spring MVC到目前为止还没有发现比较严重的漏洞。
3.可扩展性Spring MVC依靠Spring这颗大树,Spring的实力我想大家不用怀疑吧,包括版本的更新、迭代这些都是经过历史见证的
4.spring mvc更加的灵活,更不容易出错,开发成本也比较低
5.spring-mvc + hiberante/mybatis的组合相比ssh更适合敏捷开发
6.由于springMVC是轻量级的,用起来相对灵活。Spring MVC 会稍微比 Struts2 快些。Spring MVC 是基于方法设计,而 Sturts2 是基于类, 每次发一次请求都会实例一个 Action。Spring MVC 使用更加简洁, 开发效率 Spring MVC 确实比 struts2 高:springMVC支持 JSR303, 处理 ajax 的请求更方便。当然struts也不是没有任何优点,Struts2 的 OGNL 表达式使页面的开发效率相比 Spring MVC 更高些。

上述1到6项出处:https://www.zhihu.com/question/22014461

7、springmvc基于方法开发的,struts2基于类开发的。springmvc将url和controller里的方法映射。映射成功后springmvc生成一个Handler对象,对象中只包括了一个method。方法执行结束,形参数据销毁。springmvc的controller开发类似web service开发。

8、springmvc可以进行单例开发,并且建议使用单例开发,struts2通过类的成员变量接收参数,无法使用单例,只能使用多例。

9、经过实际测试,struts2速度慢,在于使用struts标签,如果使用struts建议使用jstl。


上述7-9项出处:http://www.admin10000.com/document/6436.html

10.struts封装的功能更多更全面,用法比较独有。springmvc比较接近原生servlet,灵活度高。而且因为springmvc的controller是单例的,以及没有大量的过滤器,性能要比struts2好。还有一点就是Spring有自己的JdbcTemplate,用来执行原生态的SQL语句。如:






@Transactional
public Integer click(String id){
    jdbcTemplate.update("UPDATE content set count=count+1 where id=?",id );
    return jdbcTemplate.queryForInt("select count from content where id=?",id);
}
出处:http://www.osblog.net/blog/542.html

0 0
原创粉丝点击