1.Springmvc与struts2区别
①. SpringMVC的入口是Servlet,而Struts2是Filter
②. SpringMVC会稍微比Struts2快些,SpringMVC是基于方法设计,而Struts2是基于类,每次发一次请求都会实例一个Action
③. SpringMVC使用更加简洁,开发效率SpringMVC比Struts2高,支持JSR303,处理ajax请求更加方便
④. Struts2的OGNL表达式使页面的开发效率相比SpringMVC更高些
2.Hibernate与mybatis区别
开发效率方面:
①. hibernate开发中,sql语句已经被封装,直接可以使用,加快系统开发(但是对于庞大复杂系统项目来说,负责语句较多,hibernate就不是一个很好的方案)
②. Mybatis属于半自动化,sql需要手工完成,稍微繁琐
SQL优化方面
①. Hibernate自动生成SQL,有些语句较为繁琐,会多消耗一些性能
②. MyBatis手动编写SQL,可以避免不需要的查询,提高系统性能
对象管理方面
①. hibernate是完整的ORM框架,开发过程中,无需过多关注底层实现,只需要管理对象即可
②. MyBatis需要自行管理映射关系
3.SSH与SSM有什么区别
SSH指的是:Struts+Spring+hibernate
SSM指的是:Spring+SpringMVC+MyBatis
所以只需要回答面试官Struts和SpringMVC的区别以及Hibernate和MyBatis的区别