其实都是ssh只是一个是struts2+spring3.0+hibernate,而另外一个是 springmvc+spring3.0+hibernate,纵向来看比较struts2和springmvc就可以了,
首先说springMvc的优点
1,基于注解,stuts2虽然也有注解但是比较慢,没人用更多的时候是用xml的形式
2,能与spring其它技术整合比如说webflow等,
3,获取request及session对象比较简单,直接当参数值传入就行了,而struts2还需要通过ServletActionContext 对象获取
4,验证也比较简单,通过jsr-303就能实现,而不必写其它的代码,而struts2是通过写 actionName-validation.xml实现的
在说struts2的优点:
1,不必关注客户端是get提交还是set提交,springMvc的地址映射注解method是必须要被关注的
2,自动封装对象,springMvc,是封装在model里的只能在,所以会看到input框的数字类型有0或是0.0的选项
3,自定义结果类型,如xml什么的而springmvc确只能返回modelandView,或是不返回
4,将视图与结果解耦,因为struts2返回的是字符串,只有通过struts.xml才知道具体的是哪一个jsp,或是html,而springMvc只能明确的返回modelAndview
5,struts2 不需要专门的中文过滤器,而springMvc3需要配置
针对标签来说它们大同小异,但是当需要自动装配时 springMnc的form表单是必须使用的,而struts2则不用,其它功能上差不多,但效率上,springMvc的标签比struts2快因为,struts2通过request建立了堆和栈,所以效率上有所下降,我推荐还是用jsp自带标签不仅易于扩展而且,效率也不错
再说应用场景:如果都是成功之后跳一个页面的那两者都可以,而如果是其它的类型,那么struts2是一个不错的选择,举个例子来说Extjs4.0 增加对象自动装配struts2能实现,但springMvc就不行,除非你喜欢大量的request.getParamter()
转载于:https://www.cnblogs.com/archermeng/p/7537379.html