




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1.strust的。 action是不是線程安全的?如果不是 有什么方式可以保證action的線程安全?如果是,說明原因 2.mvc,分析一下struts是如何實現(xiàn)mvc的 3.struts中的幾個關(guān)鍵對象的作用(說說幾個關(guān)鍵對象的作用) 4.spring 說說aop和ioc的概念以及在spring中是如何應(yīng)用的 5.hibernate有哪幾種查詢數(shù)據(jù)的方式 6.load()和get()的區(qū)別1. struts的工作原理 在struts中,用戶的請求一般以*.do作為請求服務(wù)名,所有的*.do請求均被指向actionsevlet, actionsevlet根據(jù)struts-config.xml
2、中的配置信息,將用戶請求封裝成一個指定名稱的formbean,并將此 formbean傳至指定名稱的actionbean,由actionbean完成相應(yīng)的業(yè)務(wù)操作,如文件操作,數(shù)據(jù)庫操作等。每一個*.do均有對應(yīng)的 formbean名稱和actionbean名稱,這些在struts-config.xml中配置。2. struts優(yōu)點與缺點 struts是開源軟件,使開發(fā)者能更深入的了解其內(nèi)部實現(xiàn)機制。 struts 優(yōu)點:業(yè)界標(biāo)準(很多成功案例),學(xué)習(xí)資源豐富。 struts的優(yōu)點主要集中體現(xiàn)在兩個方面:taglib和頁面導(dǎo)航。 a、利用struts提供的taglib可以大大節(jié)約開發(fā)時間。 b
3、、維護擴展比較方便。通過一個配置文件,即可把握整個系統(tǒng)各部分之間的聯(lián)系,這對于后期的維護有著莫大的好處。 c、表現(xiàn)與邏輯分離 d、表單驗證解決了請求數(shù)據(jù)的驗證問題,增強了系統(tǒng)健壯性。 e、便于團隊開發(fā) struts缺點:a、大量的使用標(biāo)簽,對于初學(xué)者難度較大。 b、actionforms使用不便、無法進行單元測試(strutstestcase只能用于集成)3. struts提供了幾個標(biāo)簽庫?都是什么標(biāo)簽庫? struts提供了五個標(biāo)簽庫,即:html、bean、logic、template和nested。 html 標(biāo)簽 用來創(chuàng)建能夠和struts 框架和其他相應(yīng)的html 標(biāo)簽交互的html
4、 輸入表單 bean 標(biāo)簽 在訪問javabeans 及其屬性,以及定義一個新的bean 時使用 logic 標(biāo)簽 管理條件產(chǎn)生的輸出和對象集產(chǎn)生的循環(huán) template 標(biāo)簽 隨著tiles框架包的出現(xiàn),此標(biāo)記已開始減少使用 nested 標(biāo)簽 增強對其他的struts 標(biāo)簽的嵌套使用的能力 4. tiles框架是什么?tiles框架為創(chuàng)建web頁面提供了一種模板機制,它能將網(wǎng)頁的布局和內(nèi)容分離。1、mvc的各個部分都有那些技術(shù)來實現(xiàn)?如何實現(xiàn)? 答:mvc是modelviewcontroller的簡寫?!癿odel”代表的是應(yīng)用的業(yè)務(wù)邏輯(通過javabean,ejb組件實現(xiàn)),“view
5、”是應(yīng)用的表示面(由jsp頁面產(chǎn)生),“controller”是提供應(yīng)用的處理過程控制(一般是一個servlet),通過這種設(shè)計模型把應(yīng)用邏輯,處理過程和顯示邏輯分成不同的組件實現(xiàn)。這些組件可以進行交互和重用。 2、說說struts的應(yīng)用。 答:struts 是采用java servlet/javaserver pages技術(shù),開發(fā)web應(yīng)用程序的開放源碼的framework。采用struts能開發(fā)出基于mvc設(shè)計模式的應(yīng)用構(gòu)架。 struts的主要功能包括:一包含一個controller servlet,能將用戶的請求發(fā)送到相應(yīng)的action對象。二jsp自由tag庫,并且在controll
6、er servlet中提供關(guān)聯(lián)支持,幫助開發(fā)員創(chuàng)建交互式表單應(yīng)用。三提供了一系列實用對象:xml處理、通過java reflection apis自動處理javabeans屬性、國際化的提示和消息。 3、strust的action是不是線程安全的?如果不是有什么方式可以保證action的線程安全?如果是請說明原因。 答:不是線程安全的,只要不申明類變量就可以保證線程安全。因為只存在一個action類實例,所有線程會共享類變量。 4、應(yīng)用服務(wù)器具體包括那些? 答:應(yīng)用服務(wù)器具體包括:bea weblogic server、ibm websphere application server、orac
7、le9i application server、jboss和tomcat等。 hibernate工作原理及為什么要用?原理:1.讀取并解析配置文件2.讀取并解析映射信息,創(chuàng)建sessionfactory3.打開sesssion4.創(chuàng)建事務(wù)transation5.持久化操作6.提交事務(wù)7.關(guān)閉session8.關(guān)閉sesstionfactory為什么要用:1. 對jdbc訪問數(shù)據(jù)庫的代碼做了封裝,大大簡化了數(shù)據(jù)訪問層繁瑣的重復(fù)性代碼。2. hibernate是一個基于jdbc的主流持久化框架,是一個優(yōu)秀的orm實現(xiàn)。他很大程度的簡化dao層的編碼工作3. hibernate使用java反射機制,
8、而不是字節(jié)碼增強程序來實現(xiàn)透明性。4. hibernate的性能非常好,因為它是個輕量級框架。映射的靈活性很出色。它支持各種關(guān)系數(shù)據(jù)庫,從一對一到多對多的各種復(fù)雜關(guān)系。2 hibernate是如何延遲加載?1. hibernate2延遲加載實現(xiàn):a)實體對象 b)集合(collection)2. hibernate3 提供了屬性的延遲加載功能當(dāng)hibernate在查詢數(shù)據(jù)的時候,數(shù)據(jù)并沒有存在與內(nèi)存中,當(dāng)程序真正對數(shù)據(jù)的操作時,對象才存在與內(nèi)存中,就實現(xiàn)了延遲加載,他節(jié)省了服務(wù) 器的內(nèi)存開銷,從而提高了服務(wù)器的性能。3hibernate中怎樣實現(xiàn)類之間的關(guān)系?(如:一對多、多對多的關(guān)系)類與類
9、之間的關(guān)系主要體現(xiàn)在表與表之間的關(guān)系進行操作,它們都市對對象進行操作,我們程序中把所有的表與類都映射在一起,它們通過配置文件中的 many-to-one、one-to-many、many-to-many、4 說下hibernate的緩存機制1. 內(nèi)部緩存存在hibernate中又叫一級緩存,屬于應(yīng)用事物級緩存2. 二級緩存:a) 應(yīng)用及緩存b) 分布式緩存條件:數(shù)據(jù)不會被第三方修改、數(shù)據(jù)大小在可接受范圍、數(shù)據(jù)更新頻率低、同一數(shù)據(jù)被系統(tǒng)頻繁使用、非 關(guān)鍵數(shù)據(jù)c) 第三方緩存的實現(xiàn)5 hibernate的查詢方式sql、criteria,object comptositionhql:1、 屬性查詢
10、2、 參數(shù)查詢、命名參數(shù)查詢3、 關(guān)聯(lián)查詢4、 分頁查詢5、 統(tǒng)計函數(shù)6 如何優(yōu)化hibernate?1.使用雙向一對多關(guān)聯(lián),不使用單向一對多2.靈活使用單向一對多關(guān)聯(lián)3.不用一對一,用多對一取代4.配置對象緩存,不使用集合緩存5.一對多集合使用bag,多對多集合使用set6. 繼承類使用顯式多態(tài)7. 表字段要少,表關(guān)聯(lián)不要怕多,有二級緩存撐腰7 struts工作機制?為什么要使用struts?工作機制:struts的工作流程:在web應(yīng)用啟動時就會加載初始化actionservlet,actionservlet從struts-config.xml文件中讀取配置信息,把它們存放到各種配置對象當(dāng)
11、actionservlet接收到一個客戶請求時,將執(zhí)行如下流程.-(1)檢索和用戶請求匹配的actionmapping實例,如果不存在,就返回請求路徑無效信息;-(2)如果actionform實例不存在,就創(chuàng)建一個actionform對象,把客戶提交的表單數(shù)據(jù)保存到actionform對象中;-(3)根據(jù)配置信息決定是否需要表單驗證.如果需要驗證,就調(diào)用actionform的validate()方法;-(4)如果actionform的validate()方法返回null或返回一個不包含actionmessage的actuiberrors對象, 就表示表單驗證成功;-(5)actionservl
12、et根據(jù)actionmapping所包含的映射信息決定將請求轉(zhuǎn)發(fā)給哪個action,如果相應(yīng)的 action實例不存在,就先創(chuàng)建這個實例,然后調(diào)用action的execute()方法;-(6)action的execute()方法返回一個actionforward對象,actionservlet在把客戶請求轉(zhuǎn)發(fā)給 actionforward對象指向的jsp組件;-(7)actionforward對象指向jsp組件生成動態(tài)網(wǎng)頁,返回給客戶;為什么要用:jsp、servlet、javabean技術(shù)的出 現(xiàn)給我們構(gòu)建強大的企業(yè)應(yīng)用系統(tǒng)提供了可能。但用這些技術(shù)構(gòu)建的系統(tǒng)非常的繁亂,所以在此之上,我們需要
13、一個規(guī)則、一個把這些技術(shù)組織起來的規(guī)則,這就是 框架,struts便應(yīng)運而生?;趕truts開發(fā)的應(yīng)用由3類組件構(gòu)成:控制器組件、模型組件、視圖組件8 struts的validate框架是如何驗證的?在struts配置文件中配置具體的錯誤提示,再在formbean中的validate()方法具體調(diào)用。9 說下struts的設(shè)計模式mvc模式: web應(yīng)用程序啟動時就會加載并初始化actionservler。用戶提交表單時,一個配置好的actionform對象被創(chuàng)建,并被填入表單相應(yīng)的數(shù) 據(jù),actionservler根據(jù)struts-config.xml文件配置好的設(shè)置決定是否需要表單驗證,
14、如果需要就調(diào)用actionform的 validate()驗證后選擇將請求發(fā)送到哪個action,如果action不存在,actionservlet會先創(chuàng)建這個對象,然后調(diào)用 action的execute()方法。execute()從actionform對象中獲取數(shù)據(jù),完成業(yè)務(wù)邏輯,返回一個actionforward對 象,actionservlet再把客戶請求轉(zhuǎn)發(fā)給actionforward對象指定的jsp組件,actionforward對象指定的jsp生成動 態(tài)的網(wǎng)頁,返回給客戶。10 spring工作機制及為什么要用?1.spring mvc請所有的請求都提交給dispatcherser
15、vlet,它會委托應(yīng)用系統(tǒng)的其他模塊負責(zé)負責(zé)對請求進行真正的處理工作。2.dispatcherservlet查詢一個或多個handlermapping,找到處理請求的controller.3.dispatcherservlet請請求提交到目標(biāo)controller4.controller進行業(yè)務(wù)邏輯處理后,會返回一個modelandview5.dispathcher查詢一個或多個viewresolver視圖解析器,找到modelandview對象指定的視圖對象6.視圖對象負責(zé)渲染返回給客戶端。為什么用:aop 讓開發(fā)人員可以創(chuàng)建非行為性的關(guān)注點,稱為橫切關(guān)注點,并將它們插入到應(yīng)用程序代碼中。使用
16、 aop 后,公共服務(wù) (比如日志、持久性、事務(wù)等)就可以分解成方面并應(yīng)用到域?qū)ο笊?,同時不會增加域?qū)ο蟮膶ο竽P偷膹?fù)雜性。ioc 允許創(chuàng)建一個可以構(gòu)造對象的應(yīng)用環(huán)境,然后向這些對象傳遞它們的協(xié)作對象。正如單詞 倒置 所表明的,ioc 就像反 過來的 jndi。沒有使用一堆抽象工廠、服務(wù)定位器、單元素(singleton)和直接構(gòu)造(straight construction),每一個對象都是用其協(xié)作對象構(gòu)造的。因此是由容器管理協(xié)作對象(collaborator)。spring即使一個aop框架,也是一ioc容器。 spring 最好的地方是它有助于您替換對象。有了 spring,只要用 ja
17、vabean 屬性和配置文件加入依賴性(協(xié)作對象)。然后可以很容易地在需要時替換具有類似接口的協(xié)作對象。spring 框架是一個分層架構(gòu),由 7 個定義良好的模塊組成。spring 模塊構(gòu)建在核心容器之上,核心容器定義了創(chuàng)建、配置和管理 bean 的方式,如圖 1 所示。組成 spring 框架的每個模塊(或組件)都可以單獨存在,或者與其他一個或多個模塊聯(lián)合實現(xiàn)。每個模塊的功能如下: 核心容器:核心容器提供 spring 框架的基本功能。核心容器的主要組件是 beanfactory,它是工廠模式的實現(xiàn)。beanfactory 使用控制反轉(zhuǎn) (ioc)模式將應(yīng)用程序的配置和依賴性規(guī)范與實際的應(yīng)用
18、程序代碼分開。 spring 上下文:spring 上下文是一個配置文件,向 spring 框架提供上下文信息。spring 上下文包括企業(yè)服務(wù),例如 jndi、ejb、電子郵件、國際化、校驗和調(diào)度功能。 spring aop:通過配置管理特性,spring aop 模塊直接將面向方面的編程功能集成到了 spring 框架中。所以,可以很容易地使 spring 框架管理的任何對象支持 aop。spring aop 模塊為基于 spring 的應(yīng)用程序中的對象提供了事務(wù)管理服務(wù)。通過使用 spring aop,不用依賴 ejb 組件,就可以將聲明性事務(wù)管理集成到應(yīng)用程序中。 spring dao
19、:jdbc dao 抽象層提供了有意義的異常層次結(jié)構(gòu),可用該結(jié)構(gòu)來管理異常處理和不同數(shù)據(jù)庫供應(yīng)商拋出的錯誤消息。異常層次結(jié)構(gòu)簡化了錯誤處理,并且極大地降低了需要編寫 的異常代碼數(shù)量(例如打開和關(guān)閉連接)。spring dao 的面向 jdbc 的異常遵從通用的 dao 異常層次結(jié)構(gòu)。 spring orm:spring 框架插入了若干個 orm 框架,從而提供了 orm 的對象關(guān)系工具,其中包括 jdo、hibernate 和 ibatis sql map。所有這些都遵從 spring 的通用事務(wù)和 dao 異常層次結(jié)構(gòu)。 spring web 模塊:web 上下文模塊建立在應(yīng)用程序上下文模塊
20、之上,為基于 web 的應(yīng)用程序提供了上下文。所以,spring 框架支持與 jakarta struts 的集成。web 模塊還簡化了處理多部分請求以及將請求參數(shù)綁定到域?qū)ο蟮墓ぷ鳌?spring mvc 框架:mvc 框架是一個全功能的構(gòu)建 web 應(yīng)用程序的 mvc 實現(xiàn)。通過策略接口,mvc 框架變成為高度可配置的,mvc 容納了大量視圖技術(shù),其中包括 jsp、velocity、tiles、itext 和 poi。spring 框架的功能可以用在任何 j2ee 服務(wù)器中,大多數(shù)功能也適用于不受管理的環(huán)境。spring 的核心要點是:支持不綁定到特定 j2ee 服務(wù)的可重用業(yè)務(wù)和數(shù)據(jù)訪問
21、對象。毫無疑問,這樣的對象可以在不同 j2ee 環(huán)境 (web 或 ejb)、獨立應(yīng)用程序、測試環(huán)境之間重用。ioc 和 aop控制反轉(zhuǎn)模式(也稱作依賴性介入)的基本概念是:不創(chuàng)建對象,但是描述創(chuàng)建它們的方式。在代碼中不直接與對象和服務(wù)連接,但在配置文件中描述哪一個 組件需要哪一項服務(wù)。容器(在 spring 框架中是 ioc 容器) 負責(zé)將這些聯(lián)系在一起。在典型的 ioc 場景中,容器創(chuàng)建了所有對象,并設(shè)置必要的屬性將它們連接在一起,決定什么時間調(diào)用方法。下表列出了 ioc 的一個實現(xiàn)模式。spring 框架的 ioc 容器采用類型 2 和類型3 實現(xiàn)。面向方面的編程面向方面的編程,即 aop,是一種編程技術(shù),它允許程序員對橫切關(guān)注點或橫切典型的職責(zé)分界線的行為(例如日志和事務(wù)管理)進行模塊化。aop 的核心構(gòu)造是方面,它將那些影響多個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 顧客到店課件
- 順產(chǎn)與剖腹產(chǎn)課件
- 項目級安全教育課件
- 幼兒園教師安全常規(guī)培訓(xùn)
- 光伏車間生產(chǎn)管理培訓(xùn)
- 市政污水管網(wǎng)改造項目經(jīng)濟效益和社會效益分析報告(參考)
- 城鎮(zhèn)污水管網(wǎng)建設(shè)項目運營管理方案(參考模板)
- 城鎮(zhèn)污水管網(wǎng)建設(shè)工程招投標(biāo)方案(范文模板)
- 無人機航拍圖像處理與優(yōu)化
- 屋面工程質(zhì)量通病防治手冊
- 施工現(xiàn)場信息化管理方案
- 2023-2024年6月廣東省普通高中學(xué)業(yè)水平考試化學(xué)試題及答案
- DB11∕512-2017 建筑裝飾工程石材應(yīng)用技術(shù)規(guī)程
- TSG ZF001-2006《安全閥安全技術(shù)監(jiān)察規(guī)程》
- 滬科版(2024新版)八年級全冊物理第一學(xué)期期末學(xué)情評估測試卷(含答案)
- 高中數(shù)學(xué)課堂情景引入經(jīng)典案例
- 招標(biāo)代理過程中與各方的溝通
- 護理質(zhì)量改進計劃書
- 2014電氣裝置安裝工程低壓電器施工及驗收規(guī)范
- (正式版)JBT 11270-2024 立體倉庫組合式鋼結(jié)構(gòu)貨架技術(shù)規(guī)范
- 中醫(yī)治療失眠課件
評論
0/150
提交評論