• 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语句")来解决。

  • 相关阅读:
    jQuery的事件处理
    《CSS mastery》 读书笔记
    javascript 基础三
    javascript 基础二
    webpack全局引入jquery的方法
    解决mongoVue的collections不显示问题
    javascript 实现一个回文数字
    nth-child和:nth-of-type的区别
    iscroll5实现一个下拉刷新上拉加载的效果
    js(jquery)解决input元素的blur事件和其他非表单元素的click事件冲突的方法
  • 原文地址:https://www.cnblogs.com/jiangli869/p/3489682.html
Copyright © 2020-2023  润新知