hibernate、spring和struts工作原理

hibernate、spring和struts工作原理

ID:21196265

大?。?7.64 KB

頁數(shù):7頁

時(shí)間:2018-10-20

hibernate、spring和struts工作原理_第1頁
hibernate、spring和struts工作原理_第2頁
hibernate、spring和struts工作原理_第3頁
hibernate、spring和struts工作原理_第4頁
hibernate、spring和struts工作原理_第5頁
資源描述:

《hibernate、spring和struts工作原理》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、Hibernate、Spring和Struts工作原理及使用理由??2009-06-2218:19:33

2、??分類:工作流程

3、??標(biāo)簽:

4、字號(hào)大中小?訂閱 1.讀取并解析配置文件  2.讀取并解析映射信息,創(chuàng)建SessionFactory  3.打開Sesssion  4.創(chuàng)建事務(wù)Transation  5.持久化操作  6.提交事務(wù)  7.關(guān)閉Session  8.關(guān)閉SesstionFactory  為什么要用:  1.對(duì)JDBC訪問數(shù)據(jù)庫的代碼做了封裝,大大簡化了數(shù)據(jù)訪問層繁瑣的重復(fù)性代碼?! ?.Hibe

5、rnate是一個(gè)基于JDBC的主流持久化框架,是一個(gè)優(yōu)秀的ORM實(shí)現(xiàn)。他很大程度的簡化DAO層的編碼工作  3.hibernate使用Java反射機(jī)制,而不是字節(jié)碼增強(qiáng)程序來實(shí)現(xiàn)透明性?! ?.hibernate的性能非常好,因?yàn)樗莻€(gè)輕量級(jí)框架。映射的靈活性很出色。它支持各種關(guān)系數(shù)據(jù)庫,從一對(duì)一到多對(duì)多的各種復(fù)雜關(guān)系?! ?.Hibernate是如何延遲加載?  1.Hibernate2延遲加載實(shí)現(xiàn):a)實(shí)體對(duì)象b)集合(Collection)  2.Hibernate3提供了屬性的延遲加載功能  當(dāng)Hiber

6、nate在查詢數(shù)據(jù)的時(shí)候,數(shù)據(jù)并沒有存在與內(nèi)存中,當(dāng)程序真正對(duì)數(shù)據(jù)的操作時(shí),對(duì)象才存在與內(nèi)存中,就實(shí)現(xiàn)了延遲加載,他節(jié)省了服務(wù)器的內(nèi)存開銷,從而提高了服務(wù)器的性能?! ?.Hibernate中怎樣實(shí)現(xiàn)類之間的關(guān)系?(如:一對(duì)多、多對(duì)多的關(guān)系)  類與類之間的關(guān)系主要體現(xiàn)在表與表之間的關(guān)系進(jìn)行操作,它們都市對(duì)對(duì)象進(jìn)行操作,我們程序中把所有的表與類都映射在一起,它們通過配置文件中的many-to-one、one-to-many、many-to-many、  4.說下Hibernate的緩存機(jī)制  1.內(nèi)部緩存存在Hi

7、bernate中又叫一級(jí)緩存,屬于應(yīng)用事物級(jí)緩存  2.二級(jí)緩存:  a)應(yīng)用及緩存  b)分布式緩存  條件:數(shù)據(jù)不會(huì)被第三方修改、數(shù)據(jù)大小在可接受范圍、數(shù)據(jù)更新頻率低、同一數(shù)據(jù)被系統(tǒng)頻繁使用、非關(guān)鍵數(shù)據(jù)  c)第三方緩存的實(shí)現(xiàn)  5.Hibernate的查詢方式  Sql、Criteria,tcomptosition  Hql:  1、屬性查詢  2、參數(shù)查詢、命名參數(shù)查詢  3、關(guān)聯(lián)查詢  4、分頁查詢  5、統(tǒng)計(jì)函數(shù)  6.如何優(yōu)化Hibernate?  1.使用雙向一對(duì)多關(guān)聯(lián),不使用單向一對(duì)多  2.靈

8、活使用單向一對(duì)多關(guān)聯(lián)  3.不用一對(duì)一,用多對(duì)一取代  4.配置對(duì)象緩存,不使用集合緩存  5.一對(duì)多集合使用Bag,多對(duì)多集合使用Set  6.繼承類使用顯式多態(tài)  7.表字段要少,表關(guān)聯(lián)不要怕多,有二級(jí)緩存撐腰  7.Struts工作機(jī)制?為什么要使用Struts?  工作機(jī)制:  Struts的工作流程:  在web應(yīng)用啟動(dòng)時(shí)就會(huì)加載初始化ActionServlet,ActionServlet從  struts-config.xml文件中讀取配置信息,把它們存放到各種配置對(duì)象  當(dāng)ActionServlet

9、接收到一個(gè)客戶請(qǐng)求時(shí),將執(zhí)行如下流程.  -(1)檢索和用戶請(qǐng)求匹配的ActionMapping實(shí)例,如果不存在,就返回請(qǐng)求路徑無效信息;  -(2)如果ActionForm實(shí)例不存在,就創(chuàng)建一個(gè)ActionForm對(duì)象,把客戶提交的表單數(shù)據(jù)保存到ActionForm對(duì)象中;  -(3)根據(jù)配置信息決定是否需要表單驗(yàn)證.如果需要驗(yàn)證,就調(diào)用ActionForm的validate()方法;  -(4)如果ActionForm的validate()方法返回null或返回一個(gè)不包含ActionMessage的Actui

10、bErrors對(duì)象,就表示表單驗(yàn)證成功;  -(5)ActionServlet根據(jù)ActionMapping所包含的映射信息決定將請(qǐng)求轉(zhuǎn)發(fā)給哪個(gè)Action,如果相應(yīng)的Action實(shí)例不存在,就先創(chuàng)建這個(gè)實(shí)例,然后調(diào)用Action的execute()方法;  -(6)Action的execute()方法返回一個(gè)ActionForward對(duì)象,ActionServlet在把客戶請(qǐng)求轉(zhuǎn)發(fā)給ActionForward對(duì)象指向的JSP組件;  -(7)ActionForward對(duì)象指向JSP組件生成動(dòng)態(tài)網(wǎng)頁,返回給客戶;

11、  為什么要用:  JSP、Servlet、JavaBean技術(shù)的出現(xiàn)給我們構(gòu)建強(qiáng)大的企業(yè)應(yīng)用系統(tǒng)提供了可能。但用這些技術(shù)構(gòu)建的系統(tǒng)非常的繁亂,所以在此之上,我們需要一個(gè)規(guī)則、一個(gè)把這些技術(shù)組織起來的規(guī)則,這就是框架,Struts便應(yīng)運(yùn)而生。  基于Struts開發(fā)的應(yīng)用由3類組件構(gòu)成:控制器組件、模型組件、視圖組件  8.Struts的validate框架是如何驗(yàn)證的?

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。