Struts2与springMVC的区别:

1.springmvc入口是一个servlet前端控制器(DispatcherServlet),struts2入口是一filter过滤器(StrutsPrepareAndExecuteFilter).

  1. 2.struts2通过在action类中定义成员变量接收参数,(属性驱动和模型驱动),它只能使用多例模式管理action.

springmvc通过在controller方法中定义形参接收参数,springmvc可以使用单例模式管理controller.

  1. 3.springmvc是基于方法开发的,注解开发中使用requestMappingurl和方法进行 映射,如果根据url找到controller类的方法生成一个handler处理器对象(只包括一个method).

struts2是基于类开发的,每个请求过来创建一个action实例,实例对象中有若干个方法.

开发中建议使用springmvc,springmvc方法更类似service业务方法.

  1. 4.struts2采用值栈存储请求和相应的数据,通过OGNL存取数据。

springmvc通过参数绑定期将request请求内容解析,并给方法形参赋值.

  1. 5.struts2springmvc的速度是相当的,由于struts2的漏洞较多,跟多企业使用springmvc

mybatis与hibernate的区别:

  • Hibernate功能强大,数据库无关性好,O/R映射能力强,如果你对Hibernate相当精通,而且对Hibernate进行了适当的封装,那么你的项目整个持久层代码会相当简单,需要写的代码很少,开发速度很快,非常爽。
  • Hibernate的缺点就是学习门槛不低,要精通门槛更高,而且怎么设计O/R映射,在性能和对象模型之间如何权衡取得平衡,以及怎样用好Hibernate方面需要你的经验和能力都很强才行。
  • Mybatis入门简单,即学即用,提供了数据库查询的自动对象绑定功能,而且延续了很好的SQL使用经验,对于没有那么高的对象模型要求的项目来说,相当完美。
  • Mybatis的缺点就是框架还是比较简陋,功能尚有缺失,虽然简化了数据绑定代码,但是整个底层数据库查询实际还是要自己写的,工作量也比较大,而且不太容易适应快速数据库修改。
Mybatis Hibernate
市场占有率
适合的行业 互联网 电商 项目 传统的(ERP CRM OA)
性能
Sql灵活性
门槛
Sql配置文件 多(维护麻烦)
ORM 半自动化 完全的自动化
数据库无关性