java ssh 面试_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 的抓取策略  [难]

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

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

答: 工厂模式 和 单例模式

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

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

通过参数名称来标识参数

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

答  一对一关联

一对多关联

多对多关联

答:HQL检索方式

QBC检索方式

SQL检索方式

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

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

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

答:save-update

答:session.close();方法后

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

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

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

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

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

进行查询

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

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

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

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

26. 简述Hibernate的优点 [难]

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

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

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

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

(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),等等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值