2013.12.12-2013.12.22面试

关于struts2,spring,hibernate三大框架的问题

1.项目从开始用到struts2,spring,hibernate谈谈这个过程中你的收获

首先struts2是基于MVC模式的框架,它分层思想很明确,可以实现并行开发。

其次spring是整合框架用的,struts2将Action的控制权交给spring。

hibernate是访问数据库的一种技术,可以减少写大量的SQL语句,方便移植到其他数据库,可以实现实体类和表之间的映射关系。

2.struts2具有的2个小缺点:

如果是直接跳转的话,有多个直接跳转的页面就要写多个Action配置;

接着就是安全性问题,比如属性的注入等。假如有个表单,具有的属性这一角色;0代表普通角色,1代表管理员。如果在页面表单注入个属性为角色并将值设置为1(可以通过暴力猜想获得属性名),那么就可以改写在数据库的角色,就拥有管理员角色的功能。

3.spring具有Ioc和Aop这两个功能后在控制的领域上几乎接近完美。如果是单例(scope = singleton)的话,在整个bean容器中就

只有一个实例对象供调用者使用。但是如果是多例模式(scope = prototype)会针对每次不同的请求,Bean容器均会生成一个全新的Bean实例以供调用者使用。prototype作用域非常适用于那些需要保持会话状态的Bean实例,有一点值得注意的就是,Spring不能对一个prototype Bean的整个生命周期负责,容器在初始化、装配好一个prototype实例后,将它交给客户端,随后就对该prototype实例不闻不问了。因此,客户端要负责prototype实例的生命周期管理。

4.hibernate的缺点就是效率低,如果一级缓存不关闭的话,多了就会出现内存泄漏,但是可以通过spring框架来解决;

无法获得关联映射字段值,但是可以用session.SqlQuery("sql语句")来解决。

posted @ 2013-12-24 21:07  Ann869  阅读(116)  评论(0编辑  收藏  举报