java三大框架面試題_第1頁
java三大框架面試題_第2頁
java三大框架面試題_第3頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

java三大框架面試題1Action是不是線程安全的?假如不是有什么方式可以保證Action的線程安全?假如是,說明緣由

不是

聲明局部變量,或者擴(kuò)展RequestProcessor,讓每次都創(chuàng)立一個(gè)Action,或者在spring中用scope=prototype來治理

2.MVC,分析一下struts是如何實(shí)現(xiàn)MVC的

m:JavaBean或結(jié)合EJB組件或者pojo構(gòu)成

c:Action來實(shí)現(xiàn)

v:一組JSP文件及其標(biāo)簽構(gòu)成。

3.struts中的幾個(gè)關(guān)鍵對(duì)象的作用(說說幾個(gè)關(guān)鍵對(duì)象的作用)

Action:掌握器類,ActionForm:表單對(duì)象,DynaValidatorForm:動(dòng)態(tài)form,ActonMapping:配置文件中action節(jié)點(diǎn)的信息

4.說說AOP和IOC的概念以及在spring中是如何應(yīng)用的

AOP:面對(duì)方面編程,ioc:依靠注入;聲明式事務(wù)和編程式事務(wù)積極一些通用局部

5.Hibernate有哪幾種查詢數(shù)據(jù)的方式

hql查詢,sql查詢,條件查詢

6.load()和get()的區(qū)分

hibernate對(duì)于load方法認(rèn)為該數(shù)據(jù)在數(shù)據(jù)庫中肯定存在,可以放心的使用代理來延遲加載,load默認(rèn)支持延遲加載,在用到對(duì)象中的其他屬性數(shù)據(jù)時(shí)才查詢數(shù)據(jù)庫,但是萬一數(shù)據(jù)庫中不存在該記錄,只能拋特別ObjectNotFoundEcception;所說的load方法拋特別是指在使用該對(duì)象的數(shù)據(jù)時(shí),數(shù)據(jù)庫中不存在該數(shù)據(jù)時(shí)拋特別,而不是在創(chuàng)立這個(gè)對(duì)象時(shí)。由于session中的緩存對(duì)于hibernate來說是個(gè)相當(dāng)廉價(jià)的資源,所以在load時(shí)會(huì)先查一下session緩存看看該id對(duì)應(yīng)的對(duì)象是否存在,不存在則創(chuàng)立代理(load時(shí)候之查詢一級(jí)緩存,不存在則創(chuàng)立代理)。get()現(xiàn)在一級(jí)緩存找,沒有就去二級(jí)緩存找,沒有就去數(shù)據(jù)庫找,沒有就返回null;而對(duì)于get方法,hibernate肯定要獵取到真實(shí)的數(shù)據(jù),否則返回null。

7.談?wù)刪ibernate的延遲加載和openSessionInView

延遲加載要在session范圍內(nèi),用到的時(shí)候再加載;opensessioninview是在web層寫了一個(gè)

filter來翻開和關(guān)閉session,這樣就表示在一次request過程中session始終開著,保證了延遲

加載在session中的這個(gè)前提。

8.spring的事務(wù)有幾種方式?談?wù)剆pring事務(wù)的隔離級(jí)別和傳播行為。

聲明事務(wù)和編程事務(wù)

隔離級(jí)別:

-DEFAULT使用數(shù)據(jù)庫默認(rèn)的隔離級(jí)別

-READ_UNCOMMITTED會(huì)消失臟讀,不行重復(fù)讀和幻影讀問題

-READ_COMMITTED會(huì)消失重復(fù)讀和幻影讀

-REPEATABLE_READ會(huì)消失幻影讀

-SERIALIZABLE最安全,但是代價(jià)最大,性能影響極其嚴(yán)峻

和傳播行:

-REQUIRED存在事務(wù)就融入該事務(wù),不存在就創(chuàng)立事務(wù)

-SUPPORTS存在事務(wù)就融入事務(wù),不存在則不創(chuàng)立事務(wù)

-MANDATORY存在事務(wù)則融入該事務(wù),不存在,拋特別

-REQUIRES_NEW總是創(chuàng)立新事務(wù)

-NOT_SUPPORTED存在事務(wù)則掛起,始終執(zhí)行非事務(wù)操作

-NEVER總是執(zhí)行非事務(wù),假如當(dāng)前存在事務(wù)則拋特別

-NESTED嵌入式事務(wù)

9.Hibernate中的update()和saveOrUpdate()的區(qū)分.

摘自hibernate說明文檔:

saveOrUpdate()做下面的事:

假如對(duì)象已經(jīng)在本session中長久化了,不做任何事

假如另一個(gè)與本session關(guān)聯(lián)的對(duì)象擁有一樣的長久化標(biāo)識(shí)(identifier),拋出一個(gè)特別

假如對(duì)象沒有長久化標(biāo)識(shí)(identifier)屬性,對(duì)其調(diào)用save()

假如對(duì)象的長久標(biāo)識(shí)(identifier)說明其是一個(gè)新實(shí)例化的對(duì)象,對(duì)其調(diào)用save()

假如對(duì)象是附帶版本信息的(通過或)并且版本屬性的值說明其是一個(gè)新實(shí)例化的對(duì)象,save()它。否則update()這個(gè)對(duì)象

10.Spring對(duì)多種ORM框架供應(yīng)了很好的支持,簡潔描述在Spring中使用Hibernate的方法,并結(jié)合事務(wù)治理。

getHiberanteTemplate里面供應(yīng)了save,update,delete,find等方法。

簡潔說一個(gè):假如配置了聲明式事務(wù),當(dāng)執(zhí)行g(shù)etHibernateTemplate的各種方法的時(shí)候,事務(wù)會(huì)

自動(dòng)被加載

假如沒有配置事務(wù),那么以上操作不會(huì)真正的被同步到數(shù)據(jù)庫,除非配置了hibernate的

autocommit=true

8.spring的事務(wù)有幾種方式?談?wù)剆pring事務(wù)的隔離級(jí)別和傳播行為。

spring事務(wù)分兩種形式,聲明式事務(wù)和編程式事務(wù),spring供應(yīng)了一個(gè)事務(wù)的接口

PaltformTractionManager接口,針對(duì)不同的事務(wù),spring進(jìn)展了不同的實(shí)現(xiàn),對(duì)hibernate事務(wù)

的實(shí)現(xiàn)HIbernateTractionManager,對(duì)JDBC的JdbcTractionManager,

DataSourceTractionManager以及JdoTractionManager。接口platformTractionManager供應(yīng)了三

個(gè)方法,獵取事務(wù),提交和回滾的方法。

java三大框架面試題(二)

1.jsp有哪些內(nèi)置對(duì)象?作用分別是什么?分別有什么方法?

答:JSP共有以下9個(gè)內(nèi)置的對(duì)象:

request用戶端懇求,此懇求會(huì)包含來自GET/POST懇求的參數(shù)

response網(wǎng)頁傳回用戶端的回應(yīng)

pageContext網(wǎng)頁的屬性是在這里治理

session與懇求有關(guān)的會(huì)話期

applicationservlet正在執(zhí)行的內(nèi)容

out用來傳送回應(yīng)的輸出

configservlet的構(gòu)架部件

pageJSP網(wǎng)頁本身

exception針對(duì)錯(cuò)誤網(wǎng)頁,未捕獲的例外

request表示HttpServletRequest對(duì)象。它包含了有關(guān)掃瞄器懇求的信息,并且供應(yīng)了幾個(gè)用于獵取cookie,header,和session數(shù)據(jù)的有用的方法。

response表示HttpServletResponse對(duì)象,并供應(yīng)了幾個(gè)用于設(shè)置送回掃瞄器的響應(yīng)的方法(如cookies,頭信息等)

out對(duì)象是javax.jsp.JspWriter的一個(gè)實(shí)例,并供應(yīng)了幾個(gè)方法使你能用于向掃瞄器回送輸出結(jié)果。

pageContext表示一個(gè)javax.servlet.jsp.PageContext對(duì)象。它是用于便利存取各種范圍的名字空間、servlet相關(guān)的對(duì)象的API,并且包裝了通用的servlet相關(guān)功能的方法。

session表示一個(gè)懇求的javax.servlet.http.HttpSession對(duì)象。Session可以存貯用戶的狀態(tài)信息

applicaton表示一個(gè)javax.servle.ServletContext對(duì)象。這有助于查找有關(guān)servlet引擎和servlet環(huán)境的信息

config表示一個(gè)javax.servlet.ServletConfig對(duì)象。該對(duì)象用于存取servlet實(shí)例的初始化參數(shù)。

page表示從該頁面產(chǎn)生的一個(gè)servlet實(shí)例

2.jsp有哪些動(dòng)作?作用分別是什么?

(這個(gè)問題好像不重要,不明白為何有此題)

答:JSP共有以下6種根本動(dòng)作

jsp:include:在頁面被懇求的時(shí)候引入一個(gè)文件。

jsp:useBean:查找或者實(shí)例化一個(gè)JavaBean。

jsp:setProperty:設(shè)置JavaBean的屬性。

jsp:getProperty:輸出某個(gè)JavaBean的屬性。

jsp:forward:把懇求轉(zhuǎn)到一個(gè)新的頁面。

jsp:plugin:依據(jù)掃瞄器類型為Java插件生成OBJECT或EMBED標(biāo)記

59、JSP的常用指令

isErrorPage(是否能使用Exception對(duì)象),isELIgnored(是否忽視表達(dá)式)

3.JSP中動(dòng)態(tài)INCLUDE與靜態(tài)INCLUDE的區(qū)分?

答:動(dòng)態(tài)INCLUDE用jsp:include動(dòng)作實(shí)現(xiàn)

它總是會(huì)檢查所含文件中的變化,適合用于包含動(dòng)態(tài)頁面,并且可以帶參數(shù)靜態(tài)INCLUDE用include偽碼實(shí)現(xiàn),定不會(huì)檢查所含文件的變化,適用于包含靜態(tài)頁面

4、兩種跳轉(zhuǎn)方式分別是什么?有什么區(qū)分?

(下面的答復(fù)嚴(yán)峻錯(cuò)誤,應(yīng)當(dāng)是想問forward和sendRedirect的區(qū)分,究竟出題的人不是專業(yè)搞文字藝術(shù)的人,可能表達(dá)力量并不見得很強(qiáng),用詞不肯定精準(zhǔn),加之其自身的技術(shù)面也可能存在一些問題,不肯定真正將他的意思表達(dá)清晰了,嚴(yán)格意思上來講,一些題目可能根本就無人能答,所以,答題時(shí)要把握主動(dòng),只要把自己知道的表達(dá)清晰就夠了,而不要去推敲原始題目的詳細(xì)含義是什么,不要一味想著是在答題)

答:有兩種,分別為:

前者頁面不會(huì)轉(zhuǎn)向include所指的頁面,只是顯示該頁的結(jié)果,主頁面還是原來的頁面。執(zhí)行完后還會(huì)回來,相當(dāng)于函數(shù)調(diào)用。并且可以帶參數(shù).后者完全轉(zhuǎn)向新頁面,不會(huì)再回來。相當(dāng)于Goto語句。

java三大框架面試題(三)

1.Hibernate工作原理及為什么要用?

原理:1.讀取并解析配置文件2.讀取并解析映射信息,創(chuàng)立SessionFactory3.翻開Session4.創(chuàng)立事務(wù)Transation5.長久化操作6.提交事務(wù)7.關(guān)閉Session8.關(guān)閉SesstionFactory

為什么要用:1.對(duì)JDBC訪問數(shù)據(jù)庫的代碼做了封裝,大大簡化了數(shù)據(jù)訪問層繁瑣的重復(fù)性代碼。2.Hibernate是一個(gè)基于JDBC的主流長久化框架,是一個(gè)優(yōu)秀的ORM實(shí)現(xiàn)。他很大程度的簡化DAO層的編碼工作3.hibernate使用Java反射機(jī)制,而不是字節(jié)碼增加程序來實(shí)現(xiàn)透亮性。4.hibernate的性能特別好,由于它是個(gè)輕量級(jí)框架。映射的敏捷性很精彩。它支持各種關(guān)系數(shù)據(jù)庫,從一對(duì)一到多對(duì)多的各種簡單關(guān)系。

2.Hibernate是如何延遲加載?

1.Hibernate2延遲加載實(shí)現(xiàn):a)實(shí)體對(duì)象b)集合(Collection)

2.Hibernate3供應(yīng)了屬性的延遲加載功能當(dāng)Hibernate在查詢數(shù)據(jù)的時(shí)候,數(shù)據(jù)并沒有存在與內(nèi)存中,當(dāng)程序真正對(duì)數(shù)據(jù)的操作時(shí),對(duì)象才存在與內(nèi)存中,就實(shí)現(xiàn)了延遲加載,他節(jié)約了效勞器的內(nèi)存開銷,從而提高了效勞器的性能。

3.Hibernate中怎樣實(shí)現(xiàn)類之間的關(guān)系?(如:一對(duì)多、多對(duì)多的關(guān)系)

類與類之間的關(guān)系主要表達(dá)在表與表之間的關(guān)系進(jìn)展操作,它們都市對(duì)對(duì)象進(jìn)展操作,我們程序中把全部的表與類都映射在一起,它們通過配置文件中的many-to-one、one-to-many、many-to-many

4.Struts1流程:

1、客戶端掃瞄器發(fā)出HTTP懇求。2、依據(jù)web.xml配置,該懇求被ActionServlet接收。3、依據(jù)struts-config.xml配置,ActionServlet先將懇求中的參數(shù)填充到ActionForm中,然后ActionServlet再將懇求發(fā)送到Action進(jìn)展處理。4、是否驗(yàn)證,需要驗(yàn)證則調(diào)用ActionForm的validate方法,驗(yàn)證失敗則跳轉(zhuǎn)到input,勝利則連續(xù)。5、Action從ActionForm獲得數(shù)據(jù),調(diào)用javabean中的業(yè)務(wù)方法處理數(shù)據(jù)。6、Action返回ActionForward對(duì)象,跳轉(zhuǎn)到相應(yīng)JSP頁面或Action。7、返回HTTP響應(yīng)到客戶端掃瞄器。

MVC設(shè)計(jì)模式:modal:“模型”也稱業(yè)務(wù)規(guī)律,是正真完成任務(wù)的代碼,相當(dāng)與JavaBeanview:視圖,其實(shí)就是顯示界面,相當(dāng)于JSPcontroller:掌握器,他掌握模型和視圖的交互過程,相當(dāng)于servletstruts1是基于MVC設(shè)計(jì)模式hibernate是基于ORM對(duì)象關(guān)系映射

5.struts是什么?

struts1是基于JSP和servlet的一個(gè)開源的.Web應(yīng)用框架,使用的是MVC的設(shè)計(jì)模式struts2是基于webwork技術(shù)的框架,是sun和webwork公司聯(lián)手開發(fā)的一個(gè)功能特別齊全的框架,struts2和struts1沒有任何關(guān)系,是一個(gè)全新的框架

6.spring是什么?

spring是一個(gè)集成了很多第三方框架的大雜燴,其核心技術(shù)是IOC(掌握反轉(zhuǎn),也稱依靠注入)和AOP(面對(duì)切面編程)

7.hibernate是什么?

hibernate是基于ORM對(duì)象關(guān)系映射(完成對(duì)象數(shù)據(jù)到關(guān)系數(shù)據(jù)映射的機(jī)制)實(shí)現(xiàn)的,做數(shù)據(jù)長久化的工具

8.JSF是什么?

JavaServerFace是基于組件的web開發(fā)框架,跟sturts差不多的框架

9.數(shù)據(jù)庫里面的索引和約束是什么?

索引是為了提高數(shù)據(jù)的檢索速度,索引是建立在數(shù)據(jù)表上,依據(jù)一個(gè)或多個(gè)字段建立的約束是為了保持?jǐn)?shù)據(jù)的完整性,約束有非空約束,主鍵約束,外鍵約束等等。

10.spring是什么

這個(gè)問題,往往可以通過我們?yōu)槭裁匆褂胹pring這個(gè)問題來切入:AOP讓開發(fā)人員可以創(chuàng)立非行為性的關(guān)注點(diǎn),稱為橫切關(guān)注點(diǎn),并將它們插入到應(yīng)用程序代碼中。使用AOP后,公共效勞(比如日志、長久性、事務(wù)等)就可以分解成方面并應(yīng)用到域?qū)ο笊希瑫r(shí)不會(huì)增加域?qū)ο蟮膶?duì)象模型的簡單性。IOC允許創(chuàng)立一個(gè)可以構(gòu)造對(duì)象的應(yīng)用環(huán)境,然后向這些對(duì)象傳遞它們的協(xié)作對(duì)象。正如單詞倒置所說明的,IOC就像反過來的JNDI。沒有使用一堆抽象工廠、效勞定位器、單元素(singleton)和直接構(gòu)造(straight

construction),每一個(gè)對(duì)象都是用其協(xié)作對(duì)象

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論