SSH 面试题

1.  BeanFactory的作用是什么?  [中]

BeanFactory是配置、创建、管理bean的容器,有时候也称为bean上下文。Bean与bean的依赖关系,也是由BeanFactory负责维护的。

2.  bean在spring的容器中两种基本行为是什么? [中]

Singleton:单态

Non-singleton或prototype:原型

3.  spring配置文件中的ref元素的作用是什么?它的两个基本属性是什么?  [中]

用于指定属性值为spring容器中的其它bean.两个基本属性是bean和local

4.  什么是DWR?它有哪些功能?  [中]

DWR(Direct Web Remoting)是一个WEB远程调用框架.  可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript  DWR根据Java类来动态生成JavaScrip代码.

支持Dom Trees,支持Spring,支持commons-logging

5.  Ajax的工作原理 ? [难]

在会话的开始,浏览器加载Ajax引擎

请求动作通过JavaScript调用Ajax引擎来代替.

引擎负责绘制用户界面以及与服务器端通讯。

Ajax引擎采用异步交互过程--不用等待服务器的通讯。

6.  XMLHttpRequest对象是什么,它有哪些常用方法? [难]

一个 JavaScript 对象。是Ajax 的核心。

该对象的方法和属性。

open():建立到服务器的新请求。

send():向服务器发送请求。

abort():退出当前请求。

readyState:提供当前 HTML 的就绪状态。

responseText:服务器返回的请求响应文本。.

8.  什么是Ajax?  [易]

AJAX(Asynchronous JavaScript and XML),它不是一门新的语言或技术,而是多种技术的综合,包括:

Javascript

XHTML

CSS

DOM

XML

XSTL

XMLHttpRequest

9.  同步与异步的区别? [ 难]

普通B/S模式(同步)AJAX技术(异步)

同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事,而异步则是 请求通过事件触发->服务器处理->处理完毕

同步是阻塞模式,异步是非阻塞模式。

同步(发送方发出数据后,等接收方发回) 异步(发送方发出数据后,不等接收方发回响应)

10. Struts+Hibernate+Spring开发模式中Hibernate扮演的角色  [中]

答:Hibernate扮演的是数据持久层 它的作用是实现持久化对象和数据库表

之间的映射,形成持久化对象和数据库表中数据的一个转换平台

11. 什么是Hibernate 的抓取策略  [难]

抓取策略是指当应用程序需要利用关联关系进行对象获取的时候。

12. 何为容器  [中]

容器就是符合某种规范的能够提供一系列服务的管理器。

13. Spring实现了那几种模式  [中]

答: 工厂模式 和 单例模式

14 :Hibernate实体对象生命周期的三种状态  [难]fen

答 Transient(瞬态) ,persistent(持久态)和Detached(游历态)

15: HQL查询参数的处理方法  [中]

答:直接将参数拼写为HQL语句

通过参数名称来标识参数

16. Hibernate实体之间的关联关系的三种形式  [中]

答  一对一关联

一对多关联

多对多关联

17.  Hibernate具用的三种检索方式  [难]

答:HQL检索方式

QBC检索方式

SQL检索方式

18. spring 中的depends-on属性是什么  [中]

Depends-on用于当前Bean初始化之前显示的强制一个或多个bean被初始化

19.  spring 中的BeanWrapper类是什么  [难]

BeanWrapper类是一个对JavaBean进行各种操作的工具类

BeanWrapper本身是一个接口BeanWrapperImpl实现了BeanWrapper

20 . 元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取什么值?  [难]

答:save-update

21.  Hibernate中session什么时候是游离态  [中]

答:session.close();方法后

22. Hibernate中映射文件 inverse属性和cascade属性的区别  [中]

答:inverse属性只存在于集合标记的元素中集合元素包括,,,,

Inverse属性的作用是是否将对集合对象的修改反射到数据库中 inverse=”false”时修改反射到数据库中 inverse=”true” 时修改不反射到数据库中

Cascade属性的作用是描述关联对象进行操作时的级联特性,因此只有涉及到关系的元素才有cascade属性

23. : Hibernate中Session对象的load()方法和get()方法的区别(请列举出两点)[难]

答:①记录不存在时 get()方法会返回空(null),而load()方法将会抛出一个HibernateException异常 ② load()方法查询数据时会先找Hibernate的内部缓存和二级缓

存中的现有数据,get()方法在内部缓存中没有达到相对应的数据时装直接执行SQL语句

进行查询

24. : Hibernate中HQL属于什么语言  [易]

答:HQL是面向对象的查询语言,它可以查询以对象形式存在的数据。

25.  Hibernate简介以及主要功能  [中]

答:Hibernate是采用ORM模式实现数据持久层的一个优秀的JAVA组件,它提供了

强大,高效的将JAVA对象进行持久化操作的服务

26. 简述Hibernate的优点 [难]

答:开源和免费的License,我可以在需要的时候研究源代码,改写源代码,进行功能的定制。轻量级封装,避免引入过多复杂的问题,调试容易,也减轻程序员的负担。

具有可扩展性,API开放,当本身功能不够用的时候,可以自己编码进行扩展。

27. 怎样构建SessionFactory  [难]

答: Hibernate的SessionFactory接口提供Session类的实例,Session类用于完成对数据库的操作。

由于SessionFactory实例是线程安全的(而Session实例不是线程安全的),所以每个操作都可以共用同一个SessionFactory来获取Session。Hibernate配置文件分为两种格式,一种是xml格式的配置文件,另一种是Java属性文件格式的配置文件

28. :从XML文件读取配置信息构建SessionFactory的具体步骤如下。  [难]

(1)创建一个Configuration对象,并通过该对象的configura()方法加载Hibernate配置文件,代码如下。

Configuration config = new Configuration().configure();

configura()方法:用于告诉Hibernate加载hibernate.cfg.xml文件。Configuration在实例化时默认加载classpath中的hibernate.cfg.xml,当然也可以加载名称不是hibernate.cfg.xml的配置文件,例如wghhibernate.cfg.xml,可以通过以下代码实现。

Configuration config = new Configuration().configure("wghhibernate.cfg.xml");

(2)完成配置文件和映射文件的加载后,将得到一个包括所有Hibernate运行期参数的Configuration实例,通过Configuration实例的buildSessionFactory()方法可以构建一个惟一的SessionFactory,代码如下:

SessionFactory sessionFactory = config.buildSessionFactory();

构建SessionFactory要放在静态代码块中,因为它只在该类被加载时执行一次。



1. 谈谈你mvc的理解

MVC是Model—View—Controler的简称。即模型—视图—控制器。MVC是一种设计模式,它强制性的把应用程序的输入、处理和输出分开。MVC中的模型、视图、控制器它们分别担负着不同的任务。

(1)视图: 视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并接受用户的输入。视图不进行任何业务逻辑处理。

(2)模型: 模型表示业务数据和业务处理。相当于JavaBean。一个模型能为多个视图提供数据。这提高了应用程序的重用性

(3)控制器: 当用户单击Web页面中的提交按钮时,控制器接受请求并调用相应的模型去处理请求。然后根据处理的结果调用相应的视图来显示处理的结果。

MVC的处理过程:首先控制器接受用户的请求,调用相应的模型来进行业务处理,并返回数据给控制器。控制器调用相应的视图来显示处理的结果。并通过视图呈现给用户。

2. 项目中为什么使用SSH

(1) 使用Struts2是因为struts2是基于MVC模式的,很好的将应用程序进行了分层,使开发者更关注于业务逻辑的实现;第二,struts有着丰富的taglib,如能灵活运用,则能大大提高开发效率。

(2)使用Hibernate:因为hibernate为Java应用提供了一个易用的、高效率的对象关系映射框架。hibernate是个轻量级的持久性框架,功能丰富。

(3)使用Spring:因为spring基于IoC(Inversion of Control,反向控制)和AOP构架多层j2ee系统的框架,但它不强迫你必须在每一层中必须使用Spring,因为它模块化的很好,允许你根据自己的需要选择使用          它的某一个模块;采用IoC使得可以很容易的实现bean的装配,提供了简洁的AOP并据此实现事务管理(Transcation Managment),等等

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,039评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,223评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,916评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,009评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,030评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,011评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,934评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,754评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,202评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,433评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,590评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,321评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,917评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,568评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,738评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,583评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,482评论 2 352

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,621评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,650评论 18 139
  • (一)Struts、Spring、Hibernate、Mybatis框技术 1.Struts2.0有几种标签库 【...
    独云阅读 3,239评论 0 62
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,802评论 6 342
  • 什么是Spring Spring是一个开源的Java EE开发框架。Spring框架的核心功能可以应用在任何Jav...
    jemmm阅读 16,460评论 1 133