JAVA SSH 面试题.docx

上传人:b****1 文档编号:14426649 上传时间:2023-06-23 格式:DOCX 页数:10 大小:27.27KB
下载 相关 举报
JAVA SSH 面试题.docx_第1页
第1页 / 共10页
JAVA SSH 面试题.docx_第2页
第2页 / 共10页
JAVA SSH 面试题.docx_第3页
第3页 / 共10页
JAVA SSH 面试题.docx_第4页
第4页 / 共10页
JAVA SSH 面试题.docx_第5页
第5页 / 共10页
JAVA SSH 面试题.docx_第6页
第6页 / 共10页
JAVA SSH 面试题.docx_第7页
第7页 / 共10页
JAVA SSH 面试题.docx_第8页
第8页 / 共10页
JAVA SSH 面试题.docx_第9页
第9页 / 共10页
JAVA SSH 面试题.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

JAVA SSH 面试题.docx

《JAVA SSH 面试题.docx》由会员分享,可在线阅读,更多相关《JAVA SSH 面试题.docx(10页珍藏版)》请在冰点文库上搜索。

JAVA SSH 面试题.docx

JAVASSH面试题

JAVA------SSH面试题

1.BeanFactory的作用是什么?

[中]BeanFactory是配置、创建、管理bean的容器,有时候也称为bean上下文。

Bean与bean的依赖关系,也是由BeanFactory负责维护的。

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

[中]Singleton:

单态Non-singleton或prototype:

原型3.spring配置文件中的ref元素的作用是什么?

它的两个基本属性是什么?

[中]用于指定属性值为spring容器中的其它bean.两个基本属性是bean和local4.什么是DWR?

它有哪些功能?

[中]DWR(DirectWebRemoting)是一个WEB远程调用框架.可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScriptDWR根据Java类来动态生成JavaScrip代码.支持DomTrees,支持Spring,支持commons-logging5.Ajax的工作原理?

 [难]在会话的开始,浏览器加载Ajax引擎请求动作通过JavaScript调用Ajax引擎来代替.引擎负责绘制用户界面以及与服务器端通讯。

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

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

[难]一个JavaScript对象。

是Ajax的核心。

该对象的方法和属性。

open():

建立到服务器的新请求。

send():

向服务器发送请求。

abort():

退出当前请求。

readyState:

提供当前HTML的就绪状态。

responseText:

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

.7.XMLHttpRequest有哪些属性,它的值分代表什么?

[中]8.什么是Ajax?

[易]AJAX(AsynchronousJavaScriptandXML),它不是一门新的语言或技术,而是多种技术的综合,包括:

JavascriptXHTMLCSSDOMXMLXSTLXMLHttpRequest9.同步与异步的区别?

[难]普通B/S模式(同步)AJAX技术(异步)同步:

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

同步(发送方发出数据后,等接收方发回)异步(发送方发出数据后,不等接收方发回响应)10.Struts+Hibernate+Spring开发模式中Hibernate扮演的角色[中]答:

Hibernate扮演的是数据持久层它的作用是实现持久化对象和数据库表之间的映射,形成持久化对象和数据库表中数据的一个转换平台11.什么是Hibernate的抓取策略[难]抓取策略是指当应用程序需要利用关联关系进行对象获取的时候。

12.何为容器[中]容器就是符合某种规范的能够提供一系列服务的管理器。

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

工厂模式和单例模式14:

Hibernate实体对象生命周期的三种状态[难]答Transient(瞬态),persistent(持久态)和Detached(游历态)15:

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

直接将参数拼写为HQL语句通过参数名称来标识参数16.Hibernate实体之间的关联关系的三种形式[中]答一对一关联一对多关联多对多关联17.Hibernate具用的三种检索方式[难]答:

HQL检索方式QBC检索方式SQL检索方式18.spring中<Bean>的depends-on属性是什么[中]Depends-on用于当前Bean初始化之前显示的强制一个或多个bean被初始化19.spring中的BeanWrapper类是什么[难]BeanWrapper类是一个对JavaBean进行各种操作的工具类BeanWrapper本身是一个接口BeanWrapperImpl实现了BeanWrapper20.<set>元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取什么值?

[难]答:

save-update21.Hibernate中session什么时候是游离态[中]答:

session.close();方法后22.Hibernate中映射文件<hibernate-mapping>inverse属性和cascade属性的区别[中]答:

inverse属性只存在于集合标记的元素中集合元素包括<set/>,<map/>,<list/>,<array/>,<bag/>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配置文件,代码如下。

Configurationconfig=newConfiguration().configure();configura()方法:

用于告诉Hibernate加载hibernate.cfg.xml文件。

Configuration在实例化时默认加载classpath中的hibernate.cfg.xml,当然也可以加载名称不是hibernate.cfg.xml的配置文件,例如wghhibernate.cfg.xml,可以通过以下代码实现。

Configurationconfig=newConfiguration().configure("wghhibernate.cfg.xml");

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

SessionFactorysessionFactory=config.buildSessionFactory();构建SessionFactory要放在静态代码块中,因为它只在该类被加载时执行一次。

29.写出使用构造方法进行注入的关键代码[难]<beanid=”constructBean”class=”com.huang.ConstructBean”><constructor-arg><refbean=”bean_1”/></constructor-arg><constructor-arg><refbean=”bean_2”/></constructor-arg><constructor-arg><refbean=”bean_3”/></constructor-arg></bean>30.什么是IOC?

[难]不创建对象,但是描述创建它们的方式。

在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。

容器(在Spring框架中是IOC容器)负责将这些联系在一起。

就是由容器控制程序之间的关系,而非传统实现中,由程序代码直接操控,控制权由应用代码中转到了外部容器,控制权的转移,就是所谓的反转。

31.编程题:

写一个Singleton出来。

[难]Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。

第一种形式:

定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。

publicclassSingleton{privateSingleton(){}  privatestaticSingletoninstance=newSingleton();  publicstaticSingletongetInstance(){    returninstance;    }}第二种形式:

publicclassSingleton{  privatestaticSingletoninstance=null;  publicstaticsynchronizedSingletongetInstance(){  if(instance==null)    instance=newSingleton();returninstance;  }}StringtempStr="";try{tempStr=newString(str.getBytes("ISO-8859-1"),"GBK");tempStr=tempStr.trim();}catch(Exceptione){System.err.println(e.getMessage());}returntempStr;}32.J2EE是技术还是平台还是框架?

[中]J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。

J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。

33.我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?

[难]PublicStringtranslate(Stringstr){StringtempStr="";try{tempStr=newString(str.getBytes("ISO-8859-1"),"GBK");tempStr=tempStr.trim();}catch(Exceptione){System.err.println(e.getMessage());}returntempStr;}34.如何使用静态工厂方法来创建Bean的实例[易]<beanid=”staticFactoryBean”class=”com.huang.StaticFactoryBean”factory-method=”静态方法名”/>相当于:

StaticFactoryBeanstaticFactoryBean=StaticFactoryBean.静态方法名使用实例化的工厂方法来创建Bean的实例<!

—注意此时bean的class属性为空--><beanid=”dynamicFactory”class=”com.huang.DynamicFactory”/><beanid=”dynamiceFactoryBean”factory-bean=”dynamicFactory”Factory-method=”方法名”/>相当于:

DynamicFactorydynamicFactory=newDynamicFactory();DynamiceFactoryBeandynamiceFactoryBean=dynamicFactory.方法名35.从Java属性文件读取配置信息构建SessionFactory的具体步骤如下:

[难]

(1)创建一个Configuration对象,此时Hibernate会默认加载classpath中的配置文件hibernate.properties,代码如下。

Configurationconfig=newConfiguration();

(2)由于在配置文件中缺少相应的配置映射文件的信息,所以此处需要通过编码方式加载,这可以通过Configuration对象的addClass()方法实现,具体代码如下。

config.addClass(BranchForm.class);addClass()方法用于加载实体类。

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

SessionFactorysessionFactory=config.buildSessionFactory();36.spring框架的7个模块是什么?

[难]答:

(1)springAOP--面象切面编程

(2)springDAO--数据访问对象(3)springORM--对象关系影射(4)springContect--上下文配置,向Spring框架提供上下文信息(5)springWEB--WEB上下文模块(6)\springWEB-MVC--实现了MVC(7)springCORE–核心容器提供Spring框架基本功能37.什么是AOP请祥述[中]答:

是面向切面编程AOP把软件系统分为两个部分:

核心关注点和横切关注点。

所谓的核心关注点,是业务处理的主要流程,也就是说这个解决方案要做的事。

所谓横切关注点,是与核心业务无关的部分,它把常发生在核心关注点的多处,而各处基本相似,如日志,事务,权限等。

38.Hinbernate和EJB的区别[中]答:

Hibernate可以用在任何JDBC使用的场合,例如Java应用程序的数据库访问代码,DAO接口的实现类,甚至可以是BMP里面的访问数据库的代码。

从这个意义上来说,Hibernate和EB不是一个范畴的东西,也不存在非此即彼的关系。

39.一般情况下,关系数据模型与对象模型之间有哪些匹配关系[难]答:

表对应类记录对应表的对象表的字段对应类的属性40.事务隔离级别是由谁实现的?

[难]答:

数据库系统‘41.什么是IOC[难]答:

IOC是控制反转,实现了对象之间的依赖关系的转移成而使程序的菘耦合42.在Spring中给属性有几种赋值方式请祥叙[难]答:

有四种分别是

(1)普通属性赋值

(2)集合属性赋值(3)Properties赋值(4)Map属性赋值43.在Spring说说Bean的alias元素和name属性有什么区别[难]答:

<bean>元素name属性可以一次为<bean>定义多个别名例:

<beanid=”beanName”name=”alias_1,alias_2”/><alias>元素一次只能定义一个别名例:

<aliasname=”beanName”alias=”toName”/>注意:

alias元素name属性是bean实例名44.Bean的作用域用几种,请祥叙[难]答:

用5种分别是:

1.singletonIOC容器只会创建一个Bean的唯一的实例2.prototypeIOC容器在每次请求该Bean的时候都创建一个新的实例3.request在一次Http请求中IOC容器会返回该Bean的同一个实例,而对于不同的用户请求,则会返回不同的实例4.session在一次Http请求Session中IOC容器会返回该Bean的同一个实例,而对于不同的用户Session,则会返回不同的实例5.globalsession在一个全局Http请求Session中45.简述什么是ORM[中]答:

ORM的全称是Object-RelationalMapping翻译成中文就是“对象-关系映射”ORM组件的主要功能就是实现实体域对象的持久化并封装数据库访问的细节ORM本身并不是一个组件,它是具用某种功能的组件的总称,也可以说是一种框架结构46.:

struts中的几个关键对象的作用(说说几个关键对象的作用)[中]struts中的几个关键对象:

ActionGlobal(设置语言靠它了)ModuleConfig(获取mapping),47.Action的作用[中]Action的作用是接受用户的请求,通过调用业务方法实现业务处理的功能。

48.在通常情况下软件系统由表示层,业务层,持久层和数据库层组成,Struts属于哪一层?

[难]Struts属于表示层组件,它的作用主要体现在以下几个方面:

1)输出用户界面和接收用户的输入,实现与用户的交互。

2)调用业务方法,完成业务处理,还要包括处理后的显示工作。

48:

Struts标签库由哪些组件组成?

[难]标签库是组合在一起的一组JSP自定义标签。

标签库由以下组件组成:

1)标签处理程序2)标签库描述符(TLD)文件3)应用程序部署描述符(web.xml)文件4)JSP页面中标签库的声明49.用<bean:

write>读出一个URL和一个名称,[难]用<html:

link>的话怎么组合起来。

即要达到这样的效果<ahref="<bean:

writename="data"property="url">"><bean:

writename="data"property="tilte"></a><html:

linkpage="<bean:

writename="data"property="url">"><bean:

writename="data"property="title"/></html:

link>会报出属性data无值的错误!

(page="<bean:

writename="data"property="url">"中的data无值。

)50:

怎样才能配置<html:

button>的资源文件?

[难]在资源文件ApplicationResourses.properties中加入label.login=login在jsp页面写:

<html:

buttonname="btn_login"><bean:

messagekey="label.login"/></html:

button>这样显示页面时,button上就会显示label.login的对应内容“login”51.说说struts框架,的方法的工作原理或流程[易]答:

对于采用Struts框架的web应用,在web应用启动时会加载并初始化ActionServlet,ActionServlet从struts-config.xml中读取配置信息,把它们存放到各种配置对象中,例如把Action的映射信息存放在ActionMapping对象中。

当ActionServlet接收到客户请求时,执行以下流程:

1.检索和用户请求匹配的ActionMapping实例,如果不存在,就返回用户请求路径无效信息;2.如果ActionForm实例不存在,就创建一个ActionForm对象并在其中保存客户提交的表单内容;3.根据配置信息决定是否调用ActionForm的validate()方法;4.如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActionErrors对象,就表示表单验证成功;5.ActionServlet根据ActionMapping实例包含的映射信息将请求转发给Action(如果Action实例不存在,就先创建Action实例),然后调用Action的excute()方法;6.Action的excute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向的JSP组件;7.ActionForward对象指向的JSP组件生成动态网页,返回给客户。

52:

strust的Action是不是线程安全的?

[难]答:

线程安全就是你可以在多线程环境下使用它,而不需要你来对它进行特殊的处理。

action都是继承至servlet的,由于servlet就是线程不安全的(指多个线程共享一个servlet对象,所以),所以不要再action中定义类变量和实例变量,否则其他线程改变了这些值,可本线程还在使用53:

MVC,分析一下struts是如何实现MVC的[难]从MVC角度来看看struts的体系结构(Model2)与工作原理:

  1)模型(Model)  在Struts的体系结构中,模型分为两个部分:

系统的内部状态和可以改变状态的操作(事务逻辑)。

内部状态通常由一组ActinFormBean表示。

根据设计或应用程序复杂度的不同,这些Bean可以是自包含的并具有持续的状态,或只在需要时才获得数据(从某个数据库)。

大型应用程序通常在方法内部封装事务逻辑(操作),这些方法可以被拥有状态信息的bean调用。

比如购物车bean,它拥有用户购买商品的信息,可能还有checkOut()方法用来检查用户的信用卡,并向仓库发定货信息。

小型程序中,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2