J2EE考試題目與答案_第1頁
J2EE考試題目與答案_第2頁
J2EE考試題目與答案_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余13頁可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、J2EE簡(jiǎn)答題1、簡(jiǎn)述J2EE的四層模型。運(yùn)行在客戶端機(jī)器上的客戶層組件;運(yùn)行在J2EE服務(wù)器上的Web層組件;運(yùn)行在J2EE服務(wù)器上的業(yè)務(wù)邏輯層組件;運(yùn)行在EIS服務(wù)器上的企業(yè)信息系統(tǒng)層軟件2、什么是對(duì)象持久化?即把數(shù)據(jù)(如內(nèi)存中的對(duì)象)保存到可永久保存的存儲(chǔ)設(shè)備中 (如磁盤)。持 久化的主要應(yīng)用是將內(nèi)存中的數(shù)據(jù)存儲(chǔ)在關(guān)系型的數(shù)據(jù)庫中 ,當(dāng)然也可以存儲(chǔ) 在磁盤文件中、XML數(shù)據(jù)文件中等等。3、簡(jiǎn)述一下ORMAPPING,為什么我們使用它?ORM(Object Relatio nal Map pi ng) 是一種為了解決面向?qū)ο笈c關(guān)系型數(shù)據(jù)庫存在的互不匹配的現(xiàn)象的技術(shù)。簡(jiǎn)單說:ORM是通過使用

2、描述對(duì)象和數(shù)據(jù)庫之間 映射的元數(shù)據(jù),將Java程序中的對(duì)象自動(dòng)持久化到關(guān)系數(shù)據(jù)中。本質(zhì)上就是將 數(shù)據(jù)從一種形式轉(zhuǎn)換到另外一種形式。原因:用它來架起對(duì)象和關(guān)系型數(shù)據(jù)庫的橋梁,可解決對(duì)象層次的映射、對(duì)象 關(guān)系的映射以及對(duì)象的持久化問題。4、 簡(jiǎn)述一下如何使用Hibernate實(shí)現(xiàn)對(duì)象持久化的過程(可畫圖 或用偽碼描述)STEP 1創(chuàng)建Configuration對(duì)象。在這一步中主要為了進(jìn)行配置文件的裝載操 作,讀取所有的配置文件并進(jìn)行解析、STEP 2:創(chuàng)建SessionFactory對(duì)象。通過創(chuàng)建好的Configuration 對(duì)象可以創(chuàng)建 一個(gè)sessionFactory對(duì)象的實(shí)例,同時(shí)是生成S

3、ession對(duì)象實(shí)例的工廠,他在 整個(gè)應(yīng)用中應(yīng)該是,唯一的。STEP 3創(chuàng)建Session對(duì)象。Session對(duì)象類似于數(shù)據(jù)庫的連接對(duì)象,可以理解 為與數(shù)據(jù)庫建立的一個(gè)連接,但是他的功能要比JDBC中的Connection對(duì)象豐 富很多。STEP 4開始一個(gè)事務(wù)。在Java中定義一個(gè)事務(wù)操作的開始,這是使用 Hibernate進(jìn)行持久化操作必不可少的步驟STEP 5進(jìn)行持久化操作。在這個(gè)步驟中可以讀取或者保存 Java對(duì)象。STEP 6結(jié)束事務(wù)。在操作完成之后還要進(jìn)行顯式的結(jié)束事務(wù)的操作。STEP 7關(guān)閉Session。類似于釋放數(shù)據(jù)庫的連接。5、為什么要實(shí)現(xiàn)序列化?1、序列化以某種存儲(chǔ)形式使

4、自定義對(duì)象持久化2、序列化將對(duì)象轉(zhuǎn)換為可傳輸方式從一個(gè)地方傳遞到另一個(gè)地方3、序列化使程序更具維護(hù)性6、 比較一下 session Factory 中的 opensession()禾口getcurrentsession()方法1、getCurrentSession創(chuàng)建的session會(huì)和綁定到當(dāng)前線程,而openSession不 會(huì)。2、getCurrentSession創(chuàng)建的線程會(huì)在事務(wù)回滾或事物提交后自動(dòng)關(guān)閉,而 openSession必須手動(dòng)關(guān)閉7、比較一下session中的load ()和get ()方法,以及如何保證每次都是從數(shù)據(jù)庫讀取而不是在緩存中讀?load ()和get ()方

5、法均可以根據(jù)指定的實(shí)體類和id從數(shù)據(jù)庫讀取記錄,并 返回與之對(duì)應(yīng)的實(shí)體對(duì)象。其區(qū)別在于:如果未能發(fā)現(xiàn)符合條件的記錄,get方法返回null,而load方法 會(huì)拋出一個(gè) ObjectNotFoundException 。Load方法可返回實(shí)體的代理類實(shí)例,而get方法永遠(yuǎn)直接返回實(shí)體類。load方法可以充分利用內(nèi)部緩存和二級(jí)緩存中的現(xiàn)有數(shù)據(jù) ,而get方法則僅僅 在內(nèi)部緩存中進(jìn)行數(shù)據(jù)查找,如沒有發(fā)現(xiàn)對(duì)應(yīng)數(shù)據(jù),將越過二級(jí)緩存,直接調(diào) 用SQL完成數(shù)據(jù)讀取。8、Action接受用戶參數(shù)輸入,主要有哪幾種方式?我們常用的是 哪一種?1. Action屬性接收參數(shù);2. Domain modal(域模型

6、)接收參數(shù);3.Modaldriven接收參數(shù)。常用第一種跟第二種9、在struts中實(shí)現(xiàn)一個(gè)action有哪幾種方式?最常用的是哪種?1. 定義一個(gè)普通的類,類中只要有一個(gè)public String execute()方法且返回一 個(gè)字符串即可。2. 定義一個(gè)類,實(shí)現(xiàn)Action接口,xwork2.Action 這個(gè)包的3 繼承 xwork2.ActionSupport 這個(gè)類。最常用的是第三種10、在struts.xml中Result的type常用的有四種類型1) dispatcher 2 ) redirect 3 ) chain 4 ) redirectAction哪些是服務(wù)器跳轉(zhuǎn)?哪些

7、是客戶端跳轉(zhuǎn)?dispatcher和chain是服務(wù)器端跳轉(zhuǎn),所以客戶端只發(fā)起一次請(qǐng)求redirect和redirectAction是客戶端跳轉(zhuǎn),所以客戶端發(fā)起兩次請(qǐng)求。11、 j2ee是技術(shù)還是平臺(tái)還是框架?它主要包含哪些技術(shù),列舉并 簡(jiǎn)單描述2到3個(gè)技術(shù)?J2EE本身是一個(gè)標(biāo)準(zhǔn),一個(gè)為企業(yè)分布式應(yīng)用的開發(fā)提供的標(biāo)準(zhǔn)平臺(tái) 。J2EE 也是一個(gè)框架,包括JDBC、JNDI、RMI、JMS、EJB JTA等技術(shù)。JDBC:是一 種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由 一組用Java語言編寫的類和接口組成。RMI:RMI協(xié)議調(diào)用遠(yuǎn)程對(duì)象上的方法。它使用了序列

8、化方式在客戶端和服務(wù)器 端傳遞數(shù)據(jù)。RMI是一種被EJB使用的更底層的協(xié)議。12、 MVC的各個(gè)部分都有哪些技術(shù)來實(shí)現(xiàn)?如何實(shí)現(xiàn)?MVC是Model View Controller的簡(jiǎn)寫。"Model"代表的是應(yīng)用的業(yè)務(wù)邏輯(通過JavaBean, EJB組件實(shí)現(xiàn)),"View"是應(yīng)用的表示面 (由JSP頁面產(chǎn) 生),"Controller"是提供應(yīng)用的處理過程控制(一般是一個(gè)Servlet),通過 這種設(shè)計(jì)模型把應(yīng)用邏輯,處理過程和顯示邏輯分成不同的組件實(shí)現(xiàn)。這些組 件可以進(jìn)行交互和重用。13、什么是JNDI ?JNDI是SUN公司

9、提供的一種標(biāo)準(zhǔn)的Java命名系統(tǒng)接口 , JNDI提供統(tǒng)一的客 戶端API,通過不同的訪問提供者接口 JNDI SPI的實(shí)現(xiàn),由管理者將JNDI API 映射為特定的命名服務(wù)和目錄系統(tǒng),使得Java應(yīng)用程序可以和這些命名服務(wù)和 目錄服務(wù)之間進(jìn)行交互。14、舉例并簡(jiǎn)單描述2到3種動(dòng)態(tài)網(wǎng)頁開發(fā)技術(shù)。1、PHP,是英文超文本預(yù)處理語言 Hypertext Preprocessor 的縮寫。PHP是 一種HTML內(nèi)嵌式的語言,是一種在服務(wù)器端執(zhí)行的嵌入 HTML文檔的腳本語 言,語言的風(fēng)格有類似于C語言,被廣泛地運(yùn)用。2、ASP,它是微軟公司開發(fā)的代替 CGI腳本程序的一種應(yīng)用,它可以與數(shù)據(jù)庫 和其它

10、程序進(jìn)行交互,是一種簡(jiǎn)單、方便的編程工具。ASP的網(wǎng)頁文件的格式 是.asp,現(xiàn)在常用于各種動(dòng)態(tài)網(wǎng)站中。15、簡(jiǎn)單描述瀏覽器輸入http:/localhost:8088/myFirstweb/Firstservlet訪問 web 資源的過程(也就是servlet工作的時(shí)序圖)(提示,解釋地址-用端口號(hào) 和地址訪問服務(wù)器-訪問資源)。1. 瀏覽器會(huì)將請(qǐng)求打包成http請(qǐng)求數(shù)據(jù)包,發(fā)送給web服務(wù)器,2. web服務(wù)器中的servlet引擎解析請(qǐng)求并圭寸裝為一個(gè) HttpServletRequest對(duì) 象(包含了請(qǐng)求數(shù)據(jù)),同時(shí)創(chuàng)建個(gè)HttpServletResponse 對(duì)象。3. servle

11、t 調(diào)用 servlet 的 service()方法,并將 HttpServletReque , HttpServletResponse 對(duì)象作為參數(shù)傳遞給 servlet實(shí)例4. servlet可以從HttpServletRequest對(duì)象中獲得請(qǐng)求數(shù)據(jù),并處理,當(dāng)然, servlet也可能要訪問數(shù)據(jù)庫。然后將處理之后的結(jié)果放到HttpServletResponse 中。5. servlet引擎從HttpServletResponse 中取數(shù)據(jù),并將數(shù)據(jù)打包成http數(shù)據(jù) 包發(fā)送給瀏覽器。16、開發(fā)servlet服務(wù)器程序三種方法。開發(fā)servlet有三種方法:a,實(shí)現(xiàn)servlet接口 ;

12、 b,繼承GenericServet; c,繼承 HttpServlet17、通過 httpservlet 去開發(fā) servlet,需要重寫 doGet 和 doPost 方法。這是常用的方式,請(qǐng)簡(jiǎn)述Get與Post方法的區(qū)別。(1) get是從服務(wù)器上獲取數(shù)據(jù),post是向服務(wù)器傳送數(shù)據(jù)在客戶端,Get方式在通過URL提交數(shù)據(jù),數(shù)據(jù)在URL中可以看到;POST方 式,數(shù)據(jù)放置在HTML HEADER內(nèi)提交。(2) 對(duì)于get方式,服務(wù)器端用Request.QueryString獲取變量的值,對(duì)于 post方式,服務(wù)器端用Request.Form獲取提交的數(shù)據(jù)。(3) GET方式提交的數(shù)據(jù)最多

13、只能有1024字節(jié),而POST則沒有此限制。(4) 安全性問題。使用Get的時(shí)候,參數(shù)會(huì)顯示在地址欄上,而Post不會(huì)。 所以,還是使用post為好。18、簡(jiǎn)述http返回包中的狀態(tài)碼200,302,404,500的意義。200請(qǐng)求已成功,請(qǐng)求所希望的響應(yīng)頭或數(shù)據(jù)體將隨此響應(yīng)返回。302請(qǐng)求的資源現(xiàn)在臨時(shí)從不同的 URI響應(yīng)請(qǐng)求。404請(qǐng)求失敗,請(qǐng)求所希望得到的資源未被在伺服器上發(fā)現(xiàn) 。500伺服器遇到了一個(gè)未曾預(yù)料的狀況,導(dǎo)致了它無法完成對(duì)請(qǐng)求的處理.19、簡(jiǎn)述請(qǐng)求重定向(response.sendRedirect )和請(qǐng)求轉(zhuǎn)發(fā)(getRequestDispatcher forward )的

14、區(qū)另U。1、 forward。只能將請(qǐng)求轉(zhuǎn)發(fā)給同一個(gè) Web應(yīng)用中的組件,而sendRedirect() 方法不僅可以重定向到當(dāng)前應(yīng)用程序中的其他資源 ,還可以重定向到其他站點(diǎn) 的資源。2、 sendRedirect()方法重定向的訪問過程結(jié)束后,瀏覽器地址欄中顯示的URL 會(huì)發(fā)生改變,由初始的URL地址變成重定向的目標(biāo)URL;而調(diào)用forward()方 法的請(qǐng)求轉(zhuǎn)發(fā)過程結(jié)束后,瀏覽器地址欄保持初始的URL地址不變3、forward。方法的調(diào)用者與被調(diào)用者之間共享相同的request對(duì)象和response對(duì)象;而sendRedirect()方法調(diào)用者和被調(diào)用者使用各自的request對(duì)象和re

15、sponse對(duì)象,它們屬于兩個(gè)獨(dú)立的請(qǐng)求和響應(yīng)過程。20、Hibernate拒絕連接、服務(wù)器崩潰的原因?最少寫三個(gè)?1. db沒有打開2. 網(wǎng)絡(luò)連接可能出了問題3. 連接配置錯(cuò)了4. 驅(qū)動(dòng)的driver, url是否都寫對(duì)了5. LIB下加入相應(yīng)驅(qū)動(dòng),數(shù)據(jù)連接代碼是否有誤6. 數(shù)據(jù)庫配置可能有問題7. 當(dāng)前聯(lián)接太多了,服務(wù)器都有訪問人數(shù)限制的8. 服務(wù)器的相應(yīng)端口沒有開,即它不提供相應(yīng)的服務(wù)9 hibernate有哪些緩存,分別怎么使用?10你對(duì)hibernate的了解到了一個(gè)什么樣的程度?11寫出一個(gè)sql語句體現(xiàn)hibernate中一對(duì)多的關(guān)系21、Update ()和 saveOrUpd

16、ate ()的區(qū)別?update()方法操作的對(duì)象必須是持久化了的對(duì)象。也就是說,如果此對(duì)象在數(shù) 據(jù)庫中不存在的話,就不能使用update()方法。saveOrUpdate()方法操作的對(duì)象既可以使持久化了的,也可以使沒有持久化的 對(duì)象。如果是持久化了的對(duì)象調(diào)用saveOrUpdate()則會(huì)更新數(shù)據(jù)庫中的對(duì)象;如果是未持久化的對(duì)象使用此方法,則save到數(shù)據(jù)庫 中。22、Hibernate的三種狀態(tài)之間如何轉(zhuǎn)換?當(dāng)對(duì)象由瞬時(shí)狀態(tài)(Transient) save()時(shí),就變成了持久化狀態(tài)。當(dāng)我們?cè)?Session里存儲(chǔ)對(duì)象的時(shí)候,實(shí)際是在Session的Map里存了一份,也就是它 的緩存里放了

17、一份,然后,又到數(shù)據(jù)庫里存了一份,在緩存里這一份叫持久對(duì) 象(Persistent)。 Session 一 Close() 了,它的緩存也都關(guān)閉了,整個(gè) Session 也 就失效了 ,這個(gè)時(shí)候,這個(gè)對(duì)象變成了游離狀態(tài)(Detached),但數(shù)據(jù)庫中還是 存在的。當(dāng)游離狀態(tài)(Detached)update()時(shí),又變?yōu)榱顺志脿顟B(tài)(Persistent)。當(dāng)持久狀態(tài)(Persistent)delete()時(shí),又變?yōu)榱怂矔r(shí)狀態(tài)(Transient),此時(shí),數(shù)據(jù)庫 中沒有與之對(duì)應(yīng)的記錄。23、工廠模式?工廠模式主要是為創(chuàng)建對(duì)象提供了接口。工廠模式按照J(rèn)ava與模式中的提法分為三類:1.簡(jiǎn)單工廠模式(

18、Simple Factory) 2.工廠方法模式(Factory Method) 3. 抽象工 廠模式(Abstract Factory)這三種模式從上到下逐步抽象,并且更具一般性。還有一種分類法,就是將簡(jiǎn) 單工廠模式看為工廠方法模式的一種特例,兩個(gè)歸為一類。下面是使用工廠模 式的兩種情況:1.在編碼時(shí)不能預(yù)見需要?jiǎng)?chuàng)建哪種類的實(shí)例。2系統(tǒng)不應(yīng)依賴于產(chǎn)品類實(shí)例如何 被創(chuàng)建、組合和表達(dá)的細(xì)節(jié)24、抽象類和接口的區(qū)別?接口是公開的,里面不能有私有的方法或變量,是用于讓別人使用的,而抽象類是可以有私有方法或私有變量的,另外,實(shí)現(xiàn)接口的一定要實(shí)現(xiàn)接口里定義的所有方法,而實(shí)現(xiàn)抽象類可以有選擇地重寫需要用到

19、的方法,一般的應(yīng)用里,最頂級(jí)的是接口 ,然后是抽象類實(shí)現(xiàn)接口 ,最后才到具體類實(shí)現(xiàn)。還有,接口可以實(shí)現(xiàn)多重繼承,而一個(gè)類只能繼 承一個(gè)超類,但可以通過繼承多個(gè)接口實(shí)現(xiàn)多重繼承,接口還有標(biāo)識(shí) (里面沒有任何方法,如Remote接口)和數(shù)據(jù)共享(里面的變量全是常量)的作用.25、Forward 和 redirect 的區(qū)別?forward是服務(wù)器請(qǐng)求資源,服務(wù)器直接訪問目標(biāo)地址的URL,把那個(gè)URL的響應(yīng)內(nèi)容讀取過來,然后把這些內(nèi)容再發(fā)給瀏覽器,瀏覽器根本不知道服務(wù)器發(fā)送的內(nèi)容是從哪兒來的,所以它的地址欄中還是原來的地址。redirect就是服務(wù)端根據(jù)邏輯,發(fā)送一個(gè)狀態(tài)碼,告訴瀏覽器重新去請(qǐng)求那個(gè)

20、地址,一般來說瀏覽器會(huì)用剛才請(qǐng)求的所有參數(shù)重新請(qǐng)求,所以session,request參數(shù)都可以獲取。26、持久化對(duì)象的三種狀態(tài),代表含義?瞬時(shí)態(tài):簡(jiǎn)單的說就是你在程序里面new 個(gè)對(duì)象,還沒有和session關(guān)聯(lián)持久態(tài):對(duì)象和session有了關(guān)聯(lián),對(duì)象處于hibernate 框架管理中游離態(tài):在持久態(tài)的情況下,對(duì)象和session失去了關(guān)聯(lián),比如session.close()或session.flush()后,即游離態(tài),但數(shù)據(jù)已經(jīng)存儲(chǔ)到了數(shù)據(jù)庫27、頁面之間的值傳遞?1:可以分成多個(gè)參數(shù)對(duì)的方式用querystri ng傳遞。2:可以用特定的字符分隔后組成一個(gè)字符串,再用一個(gè)參數(shù)對(duì)的que

21、rystring方式傳遞。3:如果是第三信息的話,可以用在服務(wù)器端的session方式傳遞,一般不用這種方式。因?yàn)檎挤?wù)器資源。4:也可以用cookie方式傳遞。5:當(dāng)然還可以用其它的不常的方式傳遞。28、 Struts框架的數(shù)據(jù)驗(yàn)證可分為幾種類型?表單驗(yàn)證(由Actio nF orm Bea n處理):如果用戶沒有在表單中輸入姓名,就提交表單,將生成表單驗(yàn)證錯(cuò)誤業(yè)務(wù)邏輯驗(yàn)證(由Action處理):如果用戶在表單中輸入的姓名為“Monster",按照本應(yīng)用的業(yè)務(wù)規(guī)則,不允許向“Monster'打招呼,因此將生成業(yè)務(wù)邏輯錯(cuò)誤。29、 寫一個(gè)Singleton模式的例子?publ

22、ic class Sin glet onprivate static final Singleton singleton = new Singleton();private Sin glet on()public static Sin glet on get In sta nce()retur n sin glet on;30、談?wù)勀鉓VC的理解?MVC 是一種設(shè)計(jì)模式,它強(qiáng)制的將應(yīng)用程序的輸入、處理、和輸出分開。使用了MVC的應(yīng)用程序被分為 3個(gè)核心部件:試圖(View)、模型(Model)、控制器(Co ntroller)。它 們各司其職,既分工明確又相互合作。首先視圖接受用戶輸入請(qǐng)求,然

23、后將請(qǐng)求傳遞給控制器,控制器再調(diào)用某個(gè)模型來處理用戶的請(qǐng)求,在控制器的控制下,再將處理后的結(jié)果交給某個(gè)視圖進(jìn)行格式化輸出給用戶這是經(jīng)典的MVC設(shè)計(jì)執(zhí)行的基本流程。MVC不僅實(shí)現(xiàn)了功能模塊和顯示模塊的分離,同時(shí)它還提高了系統(tǒng)的可維護(hù)性、可擴(kuò)展性和組件的可 復(fù)用性,是一個(gè)優(yōu)秀的創(chuàng)建軟件的途徑。J2EE把MVC引入了 web領(lǐng)域,并在此基礎(chǔ)上架構(gòu)出了一套稱為 Model2的體系。Model2體系及jsp作為視圖顯示輸出和接受用戶輸入 數(shù)據(jù),Servlet作為控制器處理用戶請(qǐng)求并根據(jù)用戶請(qǐng)求選擇相應(yīng)的jsp返回給用戶,javaBean作為模型組件用作業(yè)務(wù)邏輯處理、管理數(shù)據(jù)的存儲(chǔ)和一致性 。31、項(xiàng)目中

24、為什么使用 SSH?1.使用Struts是因?yàn)閟truts是基于MVC模式的,很好的將應(yīng)用程序進(jìn)行了分 層,使開發(fā)者更關(guān)注于業(yè)務(wù)邏輯的實(shí)現(xiàn);第二,struts有著豐富的taglib,如能 靈活運(yùn)用,則能大大提高開發(fā)效率。2. 使用Hibernate :因?yàn)閔ibernate為Java應(yīng)用提供了一個(gè)易用的、高效率的對(duì)象關(guān)系映射框架。hibernate是個(gè)輕量級(jí)的持久性框架,功能豐富。3. 使用 Spring :因?yàn)?spring 基于 loC(lnversion of Control ,反向控制)和 AOP 構(gòu)架多層j2ee系統(tǒng)的框架,但它不強(qiáng)迫你必須在每一層中必須使用 Spring,因 為它模

25、塊化的很好,允許你根據(jù)自己的需要選擇使用它的某一個(gè)模塊 ; 采用loC使得可以很容易的實(shí)現(xiàn)bean的裝配,提供了簡(jiǎn)潔的AOP并據(jù)此實(shí)現(xiàn) 事務(wù)管理(Transcation Managment), 等等32、在Struts2中,action是單實(shí)例還是多實(shí)例,為什么?struts 2的Action是多實(shí)例的并非單例,也就是每次請(qǐng)求產(chǎn)生一個(gè) Action的 對(duì)象。原因是:struts 2的Action中包含數(shù)據(jù),例如你在頁面填寫的數(shù)據(jù)就會(huì) 包含在Action的成員變量里面。如果Action是單實(shí)例的話,這些數(shù)據(jù)在多線 程的環(huán)境下就會(huì)相互影響,例如造成別人填寫的數(shù)據(jù)被你看到了 。所以Struts2 的

26、Action是多例模式的。33、Hibernate 與 jdbc 的聯(lián)系?hibernate是jdbc的輕量級(jí)圭寸裝,包括jdbc的與數(shù)據(jù)庫的連接(用 perty 的配置文件實(shí)現(xiàn)當(dāng)然本質(zhì)是圭寸裝了 jdbc的forname ),和 查詢,刪除等代碼,都用面向?qū)ο蟮乃枷胗么a聯(lián)系起來,hibernate通過 hbm配置文件把po類的字段和數(shù)據(jù)庫的字段關(guān)聯(lián)起來比如數(shù)據(jù)庫的id,在po類中就是 pravite Long id; public Long getId() ;public setld(Long id);然后 hql語句也是面向?qū)ο蟮?,它的查詢語句不是查詢數(shù)據(jù)庫而是

27、查詢類的,這些實(shí)現(xiàn)的 魔法就是xml文件,其實(shí)hibernate=圭寸裝的jdbc+xml文件34、一般用spring做什么?Spring是一個(gè)解決了許多在J2EE開發(fā)中常見的問題的強(qiáng)大框架。Spring提供 了管理業(yè)務(wù)對(duì)象的一致方法并且鼓勵(lì)了注入對(duì)接口編程而不是對(duì)類編程的良好 習(xí)慣。Spring的架構(gòu)基礎(chǔ)是基于使用 JavaBea n屬性的In version of Co ntrol容器。然而,這僅僅是完整圖景中的一部分:Spring在使用IoC容器作為構(gòu)建完 關(guān)注所有架構(gòu)層的完整解決方案方面是獨(dú)一無二的。Spring提供了唯一的數(shù)據(jù)訪問抽象,包括簡(jiǎn)單和有效率的JDBC框架,極大的改進(jìn)了效率

28、并且減少了可 能的錯(cuò)誤。Spring的數(shù)據(jù)訪問架構(gòu)還集成了 Hibernate和其他O/R mapping 解決方案。Spring還提供了唯一的事務(wù)管理抽象,它能夠在各種底層事務(wù)管理 技術(shù),例如JTA或者JDBC事務(wù)提供一個(gè)一致的編程模型。Spring提供了一個(gè) 用標(biāo)準(zhǔn)Java語言編寫的AOP框架,它給POJOs提供了聲明式的事務(wù)管理和其 他企業(yè)事務(wù)-如果你需要-還能實(shí)現(xiàn)你自己的aspects。這個(gè)框架足夠強(qiáng)大,使 得應(yīng)用程序能夠拋開EJB的復(fù)雜性,同時(shí)享受著和傳統(tǒng)EJB相關(guān)的關(guān)鍵服務(wù)。 Spring還提供了可以和loC容器集成的強(qiáng)大而靈活的 MVC Web框架。35、C/S與B/S的區(qū)別?C

29、/S架構(gòu)是一種典型的兩層架構(gòu),其全程是Client/Server,即客戶端服務(wù)器端 架構(gòu),其客戶端包含一個(gè)或多個(gè)在用戶的電腦上運(yùn)行的程序,而服務(wù)器端有兩種,一種是數(shù)據(jù)庫服務(wù)器端,客戶端通過數(shù)據(jù)庫連接訪問服務(wù)器端的數(shù)據(jù);另 一種是Socket服務(wù)器端,服務(wù)器端的程序通過Socket與客戶端的程序通信。 C/S架構(gòu)也可以看做是胖客戶端架構(gòu)。因?yàn)榭蛻舳诵枰獙?shí)現(xiàn)絕大多數(shù)的 業(yè)務(wù)邏 輯和界面展示。這種架構(gòu)中,作為客戶端的部分需要承受很大的壓力,因?yàn)轱@ 示邏輯和事務(wù)處理都包含在其中,通過與數(shù)據(jù)庫的交互(通常是SQL或存儲(chǔ)過 程的實(shí)現(xiàn))來達(dá)到持久化數(shù)據(jù),以此滿足實(shí)際項(xiàng)目的需要。B/S架構(gòu)的全稱為Browse

30、r/Server,即瀏覽器/服務(wù)器結(jié)構(gòu)。Browser指的是Web瀏覽器,極少數(shù)事務(wù)邏輯在前端實(shí)現(xiàn),但主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn), Browser客戶端,WebApp服務(wù)器端和DB端構(gòu)成所謂的三層架構(gòu)。B/S架構(gòu) 的系統(tǒng)無須特別安裝,只有Web瀏覽器即可。B/S架構(gòu)中,顯示邏輯交給了Web瀏覽器,事務(wù)處理邏輯在放在了 WebApp 上,這樣就避免了龐大的 胖客 戶端,減少了客戶端的壓力。因?yàn)榭蛻舳税倪壿嫼苌?,因此也被成為瘦?6、J2EE常用的設(shè)計(jì)模式?說明工廠模式?Java中的23種設(shè)計(jì)模式:Factory (工廠模式),Builder (建造模式)Factory Method (工廠方

31、法模 式),Prototype (原始模型模式),Singleton (單例模式),F(xiàn)acade (門面 模式),Adapter (適配器模式),Bridge (橋梁模式),Composite (合成 模式),Decorator (裝飾模式),F(xiàn)lyweight (享元模式),Proxy (代理模 式),Comma nd (命令模式),In terpreter (解釋器模式),Visitor (訪問 者模式),Iterator (迭代子模式),Mediator (調(diào)停者模式),Memento(備忘錄模式),Observer (觀察者模式),State (狀態(tài)模式),Strategy(策略模式)

32、,Template Method(模板方法模式),Cha in OfResponsibleity (責(zé)任鏈模式)工廠模式:工廠模式是一種經(jīng)常被使用到的模式,根據(jù)工廠模式實(shí)現(xiàn)的類可以 根據(jù)提供的數(shù)據(jù)生成一組類中某一個(gè)類的實(shí)例 ,通常這一組類有一個(gè)公共的抽 象父類并且實(shí)現(xiàn)了相同的方法,但是這些方法針對(duì)不同的數(shù)據(jù)進(jìn)行了不同的操 作。首先需要定義一個(gè)基類,該類的子類通過不同的方法實(shí)現(xiàn)了基類中的方 法。然后需要定義一個(gè)工廠類,工廠類可以根據(jù)條件生成不同的子類實(shí)例。當(dāng) 得到子類的實(shí)例后,開發(fā)人員可以調(diào)用基類中的方法而不必考慮到底返回的是 哪一個(gè)子類的實(shí)例。37、BeanFactory的作用是什么?Bean

33、Factory提供的高級(jí)配置機(jī)制,使得管理任何性質(zhì)的對(duì)象成為可能。在Spring中,BeanFactory是loC容器的核心接口 。它的職責(zé)包括:實(shí)例化、定 位、配置應(yīng)用程序中的對(duì)象及建立這些對(duì)象間的依賴。Spring為我們提供了許多易用的BeanFactory實(shí)現(xiàn),XmlBeanFactory就是最常用的一個(gè)。該實(shí)現(xiàn)將以 XML方式描述組成應(yīng)用的對(duì)象以及對(duì)象間的依賴關(guān)系。XmlBeanFactory類將持有此XML配置元數(shù)據(jù),并用它來構(gòu)建一個(gè)完全可配置的系統(tǒng)或應(yīng)用。Ajax的工作原理?通過javascript的方式,將前臺(tái)數(shù)據(jù)通過xmlhttp對(duì)象傳遞到后臺(tái),后臺(tái)在接 收到請(qǐng)求后,將需要的結(jié)

34、果,再傳回到前臺(tái),這樣就可以實(shí)現(xiàn)不需要頁面的回 發(fā),頁是數(shù)據(jù)實(shí)現(xiàn)來回傳遞,從頁實(shí)現(xiàn)無刷新。39、何為容器?容器是一個(gè)Java所編寫的程序,原先必須自行編寫程序以管理對(duì)象關(guān)系,現(xiàn)在容器都會(huì)自動(dòng)幫您作好。常用容器 WebSphere ,WebLogic ,Resin,Tomcat40、Spring配置文件中的ref元素的作用是什么?它的兩個(gè)基本屬 性是什么?用于指定屬性值為spring容器中的其它bean.兩個(gè)基本屬性是bean和local41、Hibernate具有的三種檢索方式?HQL檢索方式 QBC檢索方式SQL檢索方式42、什么是IOC,請(qǐng)?jiān)斒??不?chuàng)建對(duì)象,但是描述創(chuàng)建它們的方式 。在代碼

35、中不直接與對(duì)象和服務(wù)連接,但在配置文件中描述哪一個(gè)組件需要哪一項(xiàng)服務(wù)。容器(在Spring框架中是IOC容器)負(fù)責(zé)將這些聯(lián)系在一起。就是由容器控制程序之間的關(guān)系,而非傳統(tǒng)實(shí)現(xiàn)中,由程序代碼直接操控,控制權(quán)由應(yīng)用 代碼中轉(zhuǎn)到了外部容器,控制權(quán)的轉(zhuǎn)移,就是所謂的反轉(zhuǎn)。43、什么是AOP,請(qǐng)?jiān)斒??是面向切面編?。AOP把軟件系統(tǒng)分為兩個(gè)部分:核心關(guān)注點(diǎn)和橫切關(guān)注點(diǎn)。所謂的 核心關(guān)注點(diǎn),是業(yè)務(wù)處理的主要流程,也就是說這個(gè)解決方案要做的事 。所謂橫切關(guān)注 點(diǎn),是與核心業(yè)務(wù)無關(guān)的部分,它把常發(fā)生在核心關(guān)注點(diǎn)的多處 ,而各處基本相似,如日 志,事務(wù),權(quán)限等。44、Spring框架的七個(gè)模塊是什么?(1)

36、spri ng AOP - 面象切面編程(2) spri ng DAO - 數(shù)據(jù)訪問對(duì)象(3) spri ng ORM - 對(duì)象關(guān)系影射(4) spring Contect -上下文配置,向Spring框架提供上下文信息(5) spri ng WEB - -WEB上下文模塊(6) spring WEB-MVC - 實(shí)現(xiàn)了 MVC(7) spring CORE -核心容器提供Spring框架基本功能45、Spring的注入方式有哪幾種?1. 接口注入(不推薦)2. getter , setter方式注入(比較常用)3. 構(gòu)造器注入(死的應(yīng)用)接口注入模式因?yàn)榫邆淝秩胄?,它要求組件必須與特定的接口相關(guān)聯(lián),因此并不被看好,實(shí)際使用有限。Setter 注入:對(duì)于習(xí)慣了傳統(tǒng)javabean開發(fā)的程序員,通過setter方法設(shè)定依賴關(guān)系更加直觀。如果 依賴關(guān)系較為復(fù)雜,那么構(gòu)造子注入模式的構(gòu)造函數(shù)也會(huì)相當(dāng)龐大,而此時(shí)設(shè)值注入模式則更為簡(jiǎn)潔。如果用到了第三方類庫,可能要求我們的組件提供一個(gè)默認(rèn)的構(gòu)造函數(shù),此時(shí)構(gòu)造子注入模式也不適用。構(gòu)造器注入:在構(gòu)造期間完成一個(gè)完整的 、合法的對(duì)象。所有依賴關(guān)系在構(gòu)造函數(shù)中集中呈現(xiàn)。依賴關(guān)系在構(gòu)造時(shí)由容器一次性設(shè)定 ,組件被創(chuàng)建之后一直處于相對(duì) 不變”的穩(wěn)定狀態(tài)。只有組 件的創(chuàng)建者關(guān)心其內(nèi)部依賴關(guān)系 ,對(duì)調(diào)用者而言,該依

溫馨提示

  • 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)論