




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、JAVA的基本知識(shí)1、List、Map Set三個(gè)接口,存取元素時(shí),各有什么特點(diǎn)?List以特定次序來持有元素,可有重復(fù)元素。Set無法擁有重復(fù)元素,內(nèi)部排序。Map保存keyvalue 值,value可多值。2、Collection和 Collections的區(qū)別。Collection 是集合類的上級(jí)接口,繼承與他的接口主要有Set和List.Collecti ons 是針對(duì)集合類的一個(gè)幫助類,他提供一系列靜態(tài)方法實(shí)現(xiàn)對(duì)各種集合的搜索、排序、線程安全化等操作。?:L3、HashMap和 Hashtable 的區(qū)別。? HashMap是 Hashtable的輕量級(jí)實(shí)現(xiàn)(非線程安全的實(shí)現(xiàn)),他們
2、都完成了 Map接口,主要 區(qū)別在于HashMap允許空(null )鍵值(key),由于非線程安全,效率上可能高于 Hashtable。? HashMap允許將 null 作為一個(gè) entry 的 key 或者 value,而 Hashtable 不允許。HashMap把 Hashtable 的 contains 方法去掉了,改成 containsvalue 和 containsKey。因?yàn)?con tai ns方法容易讓人引起誤解。? Hashtable 繼承自 Dictio nary 類,而 HashMap是 Java1.2 引進(jìn)的 Map in terface 的一個(gè)實(shí) 現(xiàn)。最大的不同
3、是,Hashtable的方法是Synchronize的,而HashMap不是,在多個(gè)線程訪問Hashtable時(shí),不需要自己為它的方法實(shí)現(xiàn)同步,而HashMap就必須為之提供外同步。Hashtable和HashMap采用的hash/rehash算法都大概一樣,所以性能不會(huì)有很大的差異。4、fin al, fin ally, fin alize的區(qū)別。final用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。fin ally是異常處理語句結(jié)構(gòu)的一部分,表示總是執(zhí)行。finalize 是Object類的一個(gè)方法,在垃圾收集器執(zhí)行的時(shí)候會(huì)調(diào)用被回收對(duì)象的此方法,可以覆蓋此方法提
4、供垃圾收集時(shí)的其他資源回收,例如關(guān)閉文件等。5、JAVA中多線程有幾種實(shí)現(xiàn)方法?線程同步有幾種實(shí)現(xiàn)方法,都是什么?多線程有兩種實(shí)現(xiàn)方法,分別是繼承Thread類與實(shí)現(xiàn)Runnable接口?同步的實(shí)現(xiàn)方面有兩種,分別是synchronized,wait與notify6當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此對(duì)象的其它方法?不能,一個(gè)對(duì)象的一個(gè)synchronized方法只能由一個(gè)線程訪問精心整理?7、sleep() 和wait()有什么區(qū)別? sleep是線程類(Thread)的方法,導(dǎo)致此線程暫停執(zhí)行指定時(shí)間,給執(zhí)行機(jī)會(huì)給其他線程,但是監(jiān)控狀態(tài)依然保持,
5、到時(shí)后會(huì)自動(dòng)恢復(fù)。調(diào)用sleep不會(huì)釋放對(duì)象鎖。wait是Object類的方法,對(duì)此對(duì)象調(diào)用 wait方法導(dǎo)致本線程放棄對(duì)象鎖,進(jìn)入等待此對(duì)象的等 待鎖定池,只有針對(duì)此對(duì)象發(fā)出 notify方法(或notifyAlI )后本線程才進(jìn)入對(duì)象鎖定池準(zhǔn)備獲 得對(duì)象鎖進(jìn)入運(yùn)行狀態(tài)8、java中有幾種類型的流? JDK為每種類型的流提供了一些抽象類以供繼承,請(qǐng)說出他們分別是 哪些類?字節(jié)流,字符流。字節(jié)流繼承于 InputStream Outputstream ,字符流繼承于InputStreamReader OutputStreamWriter 。?9、java中實(shí)現(xiàn)多態(tài)的機(jī)制是什么?方法的重寫Ove
6、rriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫Overriding是父類 與子類之間多態(tài)性的一種表現(xiàn),重載 Overloading是一個(gè)類中多態(tài)性的一種表現(xiàn)。10、JAVA語言如何進(jìn)行異常處理,關(guān)鍵字:throws,throw,try,catch,finally分別代表什么意義?在try塊中可以拋出異常嗎?宀1 |/ > J-#Java通過面向?qū)ο蟮姆椒ㄟM(jìn)行異常處理,把各種不同的異常進(jìn)行分類,并提供了良好的接口。在Java中,每個(gè)異常都是一個(gè)對(duì)象,它是 Throwable類或其它子類的實(shí)例。當(dāng)一個(gè)方法出現(xiàn)異常 后便拋出一個(gè)異常對(duì)象,該對(duì)象中包含有異常信息,調(diào)用
7、這個(gè)對(duì)象的方法可以捕獲到這個(gè)異常并進(jìn)行處理。Java的異常處理是通過5個(gè)關(guān)鍵詞來實(shí)現(xiàn)的:try、catch、throw、throws和fin ally 。一般情況下是用try來執(zhí)行一段程序,如果出現(xiàn)異常,系統(tǒng)會(huì)拋出(throws ) 一個(gè)異常,這時(shí)候你可以通過它的類型來捕捉(catch )它,或最后(fin ally )由缺省處理器來處理。用try來指定一塊預(yù)防所有"異常"的程序。緊跟在try程序后面,應(yīng)包含一個(gè)catch子句來指定 你想要捕捉的"異常"的類型。throw語句用來明確地拋出一個(gè)"異常"。throws用來標(biāo)明一個(gè)成員函數(shù)
8、可能拋出的各種"異常"。Fin ally為確保一段代碼不管發(fā)生什么"異常"都被執(zhí)行一段代碼。可 以在一個(gè)成員函數(shù)調(diào)用的外面寫一個(gè)try語句,在這個(gè)成員函數(shù)內(nèi)部寫另一個(gè)try語句保護(hù)其他代碼。每當(dāng)遇到一個(gè)try語句,"異常"的框架就放到堆棧上 面,直到所有的try語句都完成。 如果下一級(jí)的try語句沒有對(duì)某種"異常"進(jìn)行處理,堆棧就會(huì)展開,直到遇到有處理這種"異常"的try語句。11、面向?qū)ο蟮奶卣饔心男┓矫娲穑褐饕幸韵滤姆矫妫?. 抽象:抽象就是忽略一個(gè)主題中與當(dāng)前目標(biāo)無關(guān)的那些方面,以便更充
9、分地注意與當(dāng)前目 標(biāo)有關(guān)的方面。抽象并不打算了解全部問題,而只是選擇其中的一部分,暫時(shí)不用部分細(xì)節(jié)。抽象包括兩個(gè)方面,一是過程抽象,二是數(shù)據(jù)抽象。2. 繼承:繼承是一種聯(lián)結(jié)類的層次模型,并且允許和鼓勵(lì)類的重用,它提供了一種明確表述 共性的方法。對(duì)象的一個(gè)新類可以從現(xiàn)有的類中派生,這個(gè)過程稱為類繼承。新類繼承了原始類精心整理的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從 它的基類那里繼承方法和實(shí)例變量,并且類可以修改或增加新的方法使之更適合特殊的需要。3. 封裝:封裝是把過程和數(shù)據(jù)包圍起來,對(duì)數(shù)據(jù)的訪問只能通過已定義的界面。面向?qū)ο笥?jì) 算始于這個(gè)基本概念,即
10、現(xiàn)實(shí)世界可以被描繪成一系列完全自治、封裝的對(duì)象,這些對(duì)象通過一 個(gè)受保護(hù)的接口訪問其他對(duì)象。4. 多態(tài)性:多態(tài)性是指允許不同類的對(duì)象對(duì)同一消息作出響應(yīng)。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢,很好的解決了應(yīng)用程序函數(shù)同名問題。12.什么是工廠模式:工廠模式是一種經(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è)工廠類,工廠類可以
11、根據(jù)條件生成不同的子類實(shí)例。當(dāng)?shù)玫?子類的實(shí)例后,開發(fā)人員可以調(diào)用基類中的方法而不必考慮到底返回的是哪一個(gè)子類的實(shí)例JSP/Servlet相關(guān)知識(shí)、: I ;1、說出Servlet的生命周期。? Servlet被服務(wù)器實(shí)例化后,容器運(yùn)行其init方法,請(qǐng)求到達(dá)時(shí)運(yùn)行其service方法,service方法自動(dòng)派遣運(yùn)行與請(qǐng)求對(duì)應(yīng)的doXXX方法(doGet,doPost)等,當(dāng)服務(wù)器決定將實(shí)例銷毀的時(shí)候調(diào)用其destroy方法。、-h .12、JSP和Servlet有哪些相同點(diǎn)和不同點(diǎn),他們之間的聯(lián)系是什么?? JSP是Servlet技術(shù)的擴(kuò)展,本質(zhì)上是Servlet的簡易方式,更強(qiáng)調(diào)應(yīng)用的外表
12、表達(dá)。JSP編譯后是"類servlet" 。? Servlet和JSP最主要的不同點(diǎn)在于,Servlet的應(yīng)用邏輯是在Java文件中,并且完全從表示層中的 HTM里分離開來。而JSP的情況是Java和HTM可以組合 成一個(gè)擴(kuò)展名為.jsp的文件。JSP側(cè)重于視圖,Servlet主要用于控制邏輯。3、jsp有哪些動(dòng)作?作用分別是什么?W l IJSP共有以下6種基本動(dòng)作jsp:i nclude:在頁面被請(qǐng)求的時(shí)候引入一個(gè)文件。jsp:useBean :尋找或者實(shí)例化一個(gè) JavaBean。jsp:setProperty :設(shè)置 JavaBean 的屬性。?jsp:getPro
13、perty :輸出某個(gè) JavaBean 的屬性。jsp:forward :把請(qǐng)求轉(zhuǎn)到一個(gè)新的頁面。jsp:plugin :根據(jù)瀏覽器類型為Java插件生成OBJECTS EMBE標(biāo)記。4、JSP的內(nèi)置對(duì)象及方法。request表示HttpServletRequest對(duì)象。它包含了有關(guān)瀏覽器請(qǐng)求的信息,并且提供了幾個(gè)用于獲取cookie, header, 和session數(shù)據(jù)的有用的方法。? response表示HttpServletResponse對(duì)象,并提供了幾個(gè)用于設(shè)置送回瀏覽器的響應(yīng)的方法(如cookies,頭信息等)? page表示從該頁面產(chǎn)生的一個(gè) servlet實(shí)例5、JSP中動(dòng)
14、態(tài)in elude 與靜態(tài)in elude 的區(qū)別??動(dòng)態(tài)in elude用jsp:i nclude 動(dòng)作實(shí)現(xiàn) 它總是會(huì)檢查所含文件中的變化,適合用于包含動(dòng) 態(tài)頁面,并且可以帶參數(shù)。?靜態(tài)in elude用in elude偽碼實(shí)現(xiàn),定不會(huì)檢查所含文件的變化,適用于包含靜態(tài)頁面6如果不希望JSP網(wǎng)頁支持Session,應(yīng)該如何辦?答:% page session= “ false"J2EE相關(guān)知識(shí)請(qǐng)對(duì)以下在J2EE中常用的名詞進(jìn)行解釋(或簡單描述)web容器:給處于其中的應(yīng)用程序組件(JSP, SERVLEJ提供一個(gè)環(huán)境,使JSP,SERVLE直接更 容器中的環(huán)境變量接口交互,不必關(guān)注
15、其它系統(tǒng)問題。主要有WEB艮務(wù)器來實(shí)現(xiàn)。例如:TOMCAT,WEBLOGIC,WEBSP等ER該容器提供的接口嚴(yán)格遵守 J2EE規(guī)范中的WEB APPLICATIONS 準(zhǔn)。我們把遵守以上標(biāo)準(zhǔn)的 WEB艮務(wù)器就叫做J2EE中的WE秦器。EJB容器:Enterprise java bean容器。更具有行業(yè)領(lǐng)域特色。他提供給運(yùn)行在其中的組件EJB各種管理功能。只要滿足J2EE規(guī)范的EJB放入該容器,馬上就會(huì)被容器進(jìn)行高效率的管理。并且 可以通過現(xiàn)成的接口來獲得系統(tǒng)級(jí)別的服務(wù)。例如郵件服務(wù)、事務(wù)管理。JNDI:( Java Naming & Direetory Interfaee) JAVA
16、命名目錄服務(wù)。主要提供的功能是:提供一個(gè)目錄系統(tǒng),讓其它各地的應(yīng)用程序在其上面留下自己的索引,從而滿足快速查找和定位分布 式應(yīng)用程序的功能。JMS (Java Message Serviee ) JAVA消肖息服務(wù)。主要實(shí)現(xiàn)各個(gè)應(yīng)用程序之間的通訊。包括點(diǎn)對(duì) 點(diǎn)和廣播。JTA:( Java Transaetion API ) JAVA事務(wù)服務(wù)。提供各種分布式事務(wù)服務(wù)。應(yīng)用程序只需調(diào)用 其提供的接口即可。JAF:( Java Aetion FrameWork ) JAVA安全認(rèn)證框架。提供一些安全控制方面的框架。讓開發(fā)者 通過各種部署和自定義實(shí)現(xiàn)自己的個(gè)性安全控制策略。RMI/IIOP: (Rem
17、ote Method In voeation /in ternet對(duì)象請(qǐng)求中介協(xié)議)他們主要用于通過遠(yuǎn)程調(diào)用服務(wù)。例如,遠(yuǎn)程有一臺(tái)計(jì)算機(jī)上運(yùn)行一個(gè)程序,它提供股票分析服務(wù),我們可以在本地計(jì) 算機(jī)上實(shí)現(xiàn)對(duì)其直接調(diào)用。當(dāng)然這是要通過一定的規(guī)范才能在異構(gòu)的系統(tǒng)之間進(jìn)行通信。RMI是JAVA特有的。什么是web容器答:給處于其中的應(yīng)用程序組件(JSP, SERVLET提供一個(gè)環(huán)境,使JSP,SERVLE直接跟容器中的環(huán)境變量交互,不必關(guān)注其它系統(tǒng)問題。主要有WEB艮務(wù)器來實(shí)現(xiàn)。例如:TOMCAT,WEBLOGIC,WEBSP等ER該容器提供的接口嚴(yán)格遵守 J2EE規(guī)范中的WEB APPLICATION
18、S準(zhǔn)。我們把遵守以上標(biāo)準(zhǔn)的 WE曲艮務(wù)器就叫做J2EE中的WE磨器XMLff關(guān)知識(shí)xml有哪些解析技術(shù)?區(qū)別是什么?答:主要有DOM,SA等DOM:處理大型文件時(shí)其性能下降的非常厲害。這個(gè)問題是由DOM勺樹結(jié)構(gòu)所造成的,這種結(jié)構(gòu)占用的內(nèi)存較多,而且DOM、須在解析文件之前把整個(gè)文檔裝入內(nèi)存,適合對(duì)XML的隨機(jī)訪問SAX:不同于DOM,SA是事件驅(qū)動(dòng)型的XML解析方式。它順序讀取 XML文件,不需要一次全部裝載整個(gè)文件。當(dāng)遇到像文件開頭,文檔結(jié)束,或者標(biāo)簽開頭與標(biāo)簽結(jié)束時(shí),它會(huì)觸發(fā)一個(gè)事件,用戶通 過在其回調(diào)事件中寫入處理代碼來處理 XML文件,適合對(duì)XML的順序訪問XML文檔定義有幾種形式?它
19、們之間有何本質(zhì)區(qū)別?解析 XML文檔有哪幾種方式?a:兩種形式dtd schema , b:本質(zhì)區(qū)別:schema本身是xml的,可以被XMLS析器解析(這也是從DTD±發(fā)展schema的根本目的),c:有DOM,SAX,STA等DOM:處理大型文件時(shí)其性能下降的非常厲害。這個(gè)問題是由DOM勺樹結(jié)構(gòu)所造成的,這種結(jié)構(gòu)占用的內(nèi)存較多,而且 DOM、須在解析文件之前把整個(gè)文檔裝入內(nèi)存,適合對(duì)XML的隨機(jī)訪問SAX:不現(xiàn)于DOM,SAXI事件驅(qū)動(dòng)型的XML解析方式。它順序讀取 XML文件,不需要一次全部裝載整個(gè)文件。當(dāng)遇到像文件開頭,文檔結(jié)束,或者標(biāo)簽開頭與標(biāo)簽結(jié)束時(shí),它會(huì)觸發(fā)一個(gè)事件,用
20、戶通過在其回調(diào)事件中寫入處理代碼來處理 XML文件,適合對(duì)XML的順序訪問STAX:Streami ng API for XML (StAX)項(xiàng)目中主要用到xml技術(shù)的哪些方面?如何實(shí)現(xiàn)的?答:用到了數(shù)據(jù)存貯,信息配置兩方面。在做數(shù)據(jù)交換平臺(tái)時(shí),將不同數(shù)據(jù)源的數(shù)據(jù)組裝成XML文 件,然后將XML文件壓縮打包加密后通過網(wǎng)絡(luò)傳送給接收者,接收解密與解壓縮后再同XML文件中還、:、原相關(guān)信息進(jìn)行處理。在做軟件配置時(shí),利用XML可以很方便的進(jìn)行,軟件的各種配置參數(shù)都存貯在 XML文件中。STRUTS/SPRING/HIBERNA相關(guān)知識(shí)STRUTS勺應(yīng)用(女口 STRUT栗構(gòu))答:Struts 是采用
21、Java Servlet/JavaServer Pages 技術(shù),開發(fā) Web應(yīng)用程序的開放源碼的 framework。 采用Struts能開發(fā)出基于MVC(Model-View-Controller) 設(shè)計(jì)模式的應(yīng)用構(gòu)架。Struts有如下的主要功能:1.包含一個(gè)controller servlet,能將用戶的請(qǐng)求發(fā)送到相應(yīng)的 Action對(duì)象。2. JSP自由tag庫,并且在controller servlet中提供關(guān)聯(lián)支持,幫助開發(fā)員創(chuàng)建交互式表單應(yīng)用。3. 提供了一系列實(shí)用對(duì)象:XML處理、通過Java reflection APIs自動(dòng)處理JavaBeans屬性、國際化的提示和消息h
22、ibernate 工作原理:3、通過 config.buildSessionFactory();/4、sessionFactory.openSession();5、session.beginTransaction();/得至U sessionFactory。 得至U session 。開啟事務(wù)。6、persistent operate;6、session.getTransaction().commit();提交事務(wù)7、關(guān)閉 session;8、關(guān)閉 sessionFactory;hibernate 優(yōu)點(diǎn):1、封裝了 jdbc,簡化了很多重復(fù)性代碼。2、簡化了 DAO層編碼工作,使開發(fā)更對(duì)象化了
23、。3、移植性好,支持各種數(shù)據(jù)庫,如果換個(gè)數(shù)據(jù)庫只要在配置文件中變換配置就可以了,不用改變 hibernate 代碼。4、 支持透明持久化,因?yàn)閔ibernate 操作的是純粹的(pojo)java類,沒有實(shí)現(xiàn)任何接口,沒有侵入性。所以說它是一個(gè)輕量級(jí)框架。spring 工作原理:1. spring mvc請(qǐng)所有的請(qǐng)求都提交給DispatcherServlet, 它會(huì)委托應(yīng)用系統(tǒng)的其他模塊負(fù)責(zé)負(fù)責(zé)對(duì)請(qǐng)求進(jìn)行真正的處理工作。2. DispatcherServlet查詢一個(gè)或多個(gè) HandlerMapping,找到處理請(qǐng)求的Controller.3.DispatcherServlet請(qǐng)請(qǐng)求提交到目標(biāo)
24、 Controller4. Controller進(jìn)行業(yè)務(wù)邏輯處理后,會(huì)返回一個(gè)ModelAndView5. Dispathcher 查詢一個(gè)或多個(gè) ViewResolver視圖解析器,找到ModelAndView對(duì)象指定的視圖對(duì)象6.視圖對(duì)象負(fù)責(zé)渲染返回給客戶端。為什么要用 spring:AOP讓開發(fā)人員可以創(chuàng)建非行為性的關(guān)注點(diǎn),稱為橫切關(guān)注點(diǎn),并將它們插入到應(yīng)用程序代碼中。使用 AOP后,公共服務(wù)?(比 如日志、持久性、事務(wù)等)就可以分解成方面并應(yīng)用到域?qū)ο笊希瑫r(shí)不會(huì)增加域?qū)ο蟮膶?duì)象模型的復(fù)雜性。IOC允許創(chuàng)建一個(gè)可以構(gòu)造對(duì)象的應(yīng)用環(huán)境,然后向這些對(duì)象傳遞它們 的協(xié)作對(duì)象。正如單詞倒置所表
25、明的,IOC就像反???過來的JNDI。沒有使用一堆抽象工廠、服務(wù)定位器、單元素(singleton )和直接構(gòu)造(straight construction ),每一個(gè)對(duì)象都是用 ???其協(xié)作對(duì)象構(gòu)造的。因此是由容器管理協(xié)作對(duì)象(collaborator )。Spring即使一個(gè) AOP1架,也是一 IOC容器。Spring 最好的地方是它有助于您替換對(duì)象。有了Spring,只要用JavaBean屬性和配置文件加入依賴性(協(xié)作對(duì)象)。然后可以很容易地在需要時(shí)替換具有類似接口 的協(xié)作對(duì)象。解釋一下 Dependency injection(DI,依賴注入)和 IOC(lnversion ofc
26、ontrol,控制反轉(zhuǎn))?:I 依賴注入DI是一個(gè)程序設(shè)計(jì)模式和架構(gòu)模型,一些時(shí)候也稱作控制反轉(zhuǎn),盡管在技術(shù)上來講,依賴注入是一個(gè)IOC的特殊實(shí)現(xiàn),依賴注入是指一個(gè)對(duì)象應(yīng)用另外一個(gè)對(duì)象來提供一個(gè)特殊的能力,例如:把一個(gè)數(shù) 據(jù)庫連接已參數(shù)的形式傳到一個(gè)對(duì)象的結(jié)構(gòu)方法里面而不是在那個(gè)對(duì)象 內(nèi)部自行創(chuàng)建一個(gè)連接??刂品崔D(zhuǎn)和依賴注入的基本思想就是把類的依 賴從類內(nèi)部轉(zhuǎn)化到外部以減少依賴應(yīng)用控制反轉(zhuǎn),對(duì)象在被創(chuàng)建的時(shí)候,由一個(gè)調(diào)控系統(tǒng)內(nèi)所有對(duì)象的外 界實(shí)體,將其所依賴的對(duì)象的引用,傳遞給它。也可以說,依賴被注入 到對(duì)象中。所以,控制反轉(zhuǎn)是,關(guān)于一個(gè)對(duì)象如何獲取他所依賴的對(duì)象 的引用,這個(gè)責(zé)任的反轉(zhuǎn)。sp
27、ring 中的 BeanFactory 與 Applicationcontext的作用有哪些?1. BeanFactory 負(fù)責(zé)讀取bean配置文檔,管理 bean的加載,實(shí)例化,維護(hù)bean之間的依賴關(guān)系,負(fù)責(zé)bean的聲明周期。2. ApplicationContext除了提供上述 BeanFactory 所能提供的功能之夕卜,還提供了更完整的框架功能:什么是aop,aop的作用是什么?面向切面編程(AOP提供另外一種角度來思考程序結(jié)構(gòu),通過這種方式彌補(bǔ)了面向?qū)ο缶幊蹋∣OP的不足精心整理除了類(classes )以外,AOP提供了切面。切面對(duì)關(guān)注點(diǎn)進(jìn)行模塊化,例如橫切多個(gè)類型和對(duì)象的事務(wù)
28、管理Spring的一個(gè)關(guān)鍵的組件就是 AOP匡架,可以自由選擇是否使用AOP提供聲明式企業(yè)服務(wù),特別是為了替代EJB聲明式服務(wù)。最重要的服務(wù)是聲明性事務(wù)管理,這個(gè)服務(wù)建立在Spring的抽象事物管理之上允許用戶實(shí)現(xiàn)自定義切面,用AOP來完善OOP勺使用可以把Spring AOP看作是對(duì)Spring的一種增強(qiáng)請(qǐng)談?wù)凷SH整合:I I:ISSHStruts (表示層)+Spring (業(yè)務(wù)層)+Hibernate (持久層)Struts :Struts是一個(gè)表示層框架,主要作用是界面展示,接收請(qǐng)求,分發(fā)請(qǐng)求。在MVC匡架中,Struts屬于VC層次,負(fù)責(zé)界面表現(xiàn),負(fù)責(zé)MVC關(guān)系的分發(fā)。(View
29、:沿用 JSP, HTTP Form, Tag, Resourse ; Controller :ActionServlet , struts-config.xml , Action )Hibernate :Hibernate是一個(gè)持久層框架,它只負(fù)責(zé)與關(guān)系數(shù)據(jù)庫的操作。Spring :Spring是一個(gè)業(yè)務(wù)層框架,是一個(gè)整合的框架,能夠很好地黏合表示層- ;.:'i與持久層。I IEJB相關(guān)知識(shí)EJB包括(SessionBean,EntityBean )說出他們的生命周期,及如何管理 事務(wù)的?SessionBean : Stateless Session Bean的生命周期是由容器決定
30、的,當(dāng)客戶機(jī)發(fā)出請(qǐng)求要建立一個(gè)Bean的實(shí)例時(shí),EJB容器不一定要?jiǎng)?chuàng)建一個(gè)新的Bean的實(shí)例供客戶機(jī)調(diào)用,而是隨便找一個(gè)現(xiàn)有的實(shí)例提供 給客戶機(jī)。當(dāng)客戶機(jī)第一次調(diào)用一個(gè)Stateful Session Bean 時(shí),容器必須立即在服務(wù)器中創(chuàng)建一個(gè)新的Bean實(shí)例,并關(guān)聯(lián)到客戶機(jī)上,以后精心整理此客戶機(jī)調(diào)用Stateful Session Bean的方法時(shí)容器會(huì)把調(diào)用分派到與此客戶機(jī)相關(guān)聯(lián)的 Bean實(shí)例。EntityBean : Entity Beans 能存活相對(duì)較長的時(shí)間,并且狀態(tài)是持續(xù) 的。只要數(shù)據(jù)庫中的數(shù)據(jù)存在,Entity beans就一直存活。而不是按照應(yīng)用程序或者服務(wù)進(jìn)程來說的。即使EJB容器崩潰了, Entity beans 也是存活的。Entity Beans生命周期能夠被容器或者Beans自己管理。EJB通過以下技
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建省事業(yè)單位2025年度勞動(dòng)合同簽訂與執(zhí)行指導(dǎo)合同
- 2025年度餐飲業(yè)員工食品安全責(zé)任及工傷賠償合同
- 小酒吧合伙協(xié)議(2025年度品牌連鎖)
- 2025年度虛擬現(xiàn)實(shí)體驗(yàn)免責(zé)協(xié)議書
- 2025年度智能交通項(xiàng)目保證金協(xié)議書
- 二零二五年度教育培訓(xùn)節(jié)目編排與師資培訓(xùn)協(xié)議
- 二零二五年度新興產(chǎn)業(yè)基地招商引資合作協(xié)議
- 二零二五年度珠寶首飾委托代工保密合同
- 2025年度木箱紙箱包裝行業(yè)節(jié)能減排項(xiàng)目合同
- 2025年度項(xiàng)目經(jīng)理聘用合同(新能源工程專項(xiàng))
- 房建監(jiān)理實(shí)施細(xì)則
- 國家科學(xué)技術(shù)獎(jiǎng)勵(lì)提名書
- 一年級(jí)下期開學(xué)第一課
- 舞臺(tái)燈光設(shè)計(jì)與光影藝術(shù)考核試卷
- 第10輯:句子表達(dá)效果(原句vs改句)解題指導(dǎo)-2023年高考語文一輪復(fù)習(xí)修辭手法與句子表達(dá)效果專練
- 2024年輔警招考時(shí)事政治考題及答案(100題)
- 2024年中考數(shù)學(xué)《二次函數(shù)的實(shí)際應(yīng)用》真題含解析版
- GB 30254-2024高壓三相籠型異步電動(dòng)機(jī)能效限定值及能效等級(jí)
- 非物質(zhì)文化遺產(chǎn)拓印 課件
- 空氣動(dòng)力學(xué)數(shù)值方法:有限元法(FEM):邊界條件處理與應(yīng)用
- DB31T 1488-2024 重大活動(dòng)特種設(shè)備安全保障技術(shù)服務(wù)導(dǎo)則
評(píng)論
0/150
提交評(píng)論