每日一練java三大框架.docx_第1頁
每日一練java三大框架.docx_第2頁
每日一練java三大框架.docx_第3頁
每日一練java三大框架.docx_第4頁
每日一練java三大框架.docx_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Hibernate1.1 Hibernate框架作用參考答案:hibernate是一個數據訪問框架(持久層框架),在項目中利用Hibernate框架可以實現對數據庫的增刪改查操作,為業(yè)務層構建一個持久層1.2 Hibernate框架原理-(ORM)參考答案:ORM-Object Relation Mapping,對象關系映射.主要思想:將Java對象與關系表進行自動映射,這樣可以將對象直接更新到數據庫;查詢時,可以自動將數據表記錄封裝成Java對象.1.3 Hibernate主要的體系結構參考答案:a.實體類(Xxx),可以有n個與數據表對應,用于封裝數據表的一行記錄b.XML映射文件(Xxx.hbm.xml),可以有n個用于描述實體類與數據表之間的對應關系;類屬性與表字段之間的對應關系。c.主配置文件(hibernate.cfg.xml),可以有1個用于指定連接數據庫的參數,框架參數等1.4 Hibernate開發(fā)的基本步驟參考答案:a.引入hibernate框架開發(fā)包b. 添加Hibernate主配置文件c. 根據數據表,編寫實體類,映射文件d. 利用Hibernate API操作實體對象1.1 請簡述Hibernate對象的狀態(tài)。參考答案:a暫時態(tài)Transient使用new 操作符初始化的對象的狀態(tài)是瞬時的,如果沒有任何跟數據庫表相關聯(lián)的行為,只要應用程序不再引用這些對象,它們的狀態(tài)將會丟失,并由垃圾回收機制回收,這種狀態(tài)被稱為暫時態(tài)。b.持久態(tài)Persistent如果內存中的對象和數據庫的記錄有對應關系,即和session對象相關,則此對象處于Persistent狀態(tài),在當事務提交時它們的狀態(tài)和數據庫進行同步。c.游離態(tài)DetachedSession關閉之后,持久化對象就變?yōu)閐etached對象。表示這個對象不能再與數據庫保持同步,它們不再受Hibernate管理。另外,當調用了session.evict(Object obj)方法,對象和Session解除了關系,也將處于游離態(tài)。1.2 請簡述你對hibernate一級緩存機制的理解參考答案:其一,如果通過session查詢某對象,session將先到緩存中查找是否有被查詢的對象,找到則直接取出,否則才查詢數據庫;其二,session需要負責實時維護在緩存中的數據,保證緩存中的數據與數據庫中數據的一致性,一旦用戶對緩存中的數據做了修改,session負責將數據更新到數據庫中1.3 請簡述hibernate延遲加載機制。參考答案:當訪問實體對象時,并不是立即到數據庫中查找。而是在真正要使用實體對象的時候,才去數據庫 查詢數據。1.1 請寫出Hibernate做級聯(lián)操作時的cascade屬性的三個值。參考答案:1.save-update2.delete3.all1.1 簡述hibernate緩存機制。參考答案:Hibernate中的一級緩存機制(也叫做事務內的緩存)是與Session綁定在一起的。當一個Session開啟,一級緩存創(chuàng)建;當一個Session關閉,一級緩存銷毀。Hibernate中的二級緩存特點如下:a.二級緩存被稱為SessionFactory級別緩存. 生命周期與SessionFactory對象相關b. 二級緩存空間可以被不同的Session對象訪問 共享.c. 二級緩存默認是關閉狀態(tài).如果遇到某個數據對象被多個不同的Session頻繁訪 問,可以開啟.Hibernate中的查詢緩存:前面的一級和二級緩存,緩存的時load,get出來的數據對象.不能緩存一個結果集.查詢緩存可以緩存查詢語句和結果集,當重復執(zhí)行同一個查詢語句時,只取數據庫查詢一次,后續(xù)都是將緩存中的結果集取出。適用于頻繁的執(zhí)行同一個查詢語句,而且查詢結果集很少發(fā)生變化的情況下。Struts21.1 為什么要用struts2。參考答案:主流的開發(fā)技術,大多數公司在使用,Struts是基于MVC模式開發(fā)的 ,MVC結構是一個優(yōu)秀的設計思想,可以提高程序結構的靈活性,便于日后的維護和擴展。1.2 簡述Struts的發(fā)展歷史。參考答案:最早出現的Struts1是一個非常著名的框架,它實現了MVC模式。Struts1簡單小巧,其中最成熟的版本是Struts1.2。之后出現了WebWork框架,其實現技術比Struts1先進,但影響力不如Struts1。在框架技術不斷發(fā)展過程中,有人在WebWork核心XWork的基礎上包裝了Struts1(算是兩種框架的整合),由此,結合了Struts1的影響力和WebWork的先進技術,Struts 2誕生了。所以說,Struts2不是Struts1的升級,它更像是WebWork的升級版本。1.1 什么是OGNL。參考答案:Object Graphics Navigation Language,對象圖導航語言,屬于表達式語言的一種,與EL表達式類似。Ognl技術是struts2中的核心知識,它封裝于ognl.jar中。Ognl.jar工具包提供一個引擎,該引擎可以按照提供的ognl表達式訪問對象數據和方法。1.2 OGNL工具的構成。參考答案:OGNL工具由三部分構成:A. OGNL引擎,負責解析執(zhí)行OGNL表達式B. Root存儲區(qū),負責存儲一個Object類型的對象,該存儲區(qū)數據訪問時,OGNL表達式格式為“屬性”C.Context存儲區(qū),負責存儲一個Map類型的對象,該存儲區(qū)數據訪問時,OGNL表示式格式為“#key”1.1 請簡述struts2的Action的工作原理。參考答案:A.當客戶端發(fā)出請求,請求到達控制器B.控制器根據請求創(chuàng)建一個ValueStack對象,每個請求創(chuàng)建一個Aciton對象,Action對象存入到ValueStack對象的root棧頂。將ValueStack對象存入到request中。存儲的key為”struts.valueStack”C. 控制器調用Action對象接收請求參數,執(zhí)行業(yè)務方法處理D控制器根據Action返回值調用result試圖組件處理相應頁面。E請求處理完成后,將ValueStack對象和Action對象銷毀1.2 請列出常用的至少五種struts2的Result組件,并說明它們的作用。參考答案:A.dispatcher (默認) 以請求轉發(fā)方式調用一個JSP,生成響應視圖B.redirect 以重定向方式調用一個JSP,生成響應視圖C.redirectAction以重定向方式調用一個actionD.chain以請求轉發(fā)方式調用一個actionE.stream以字節(jié)流方式響應,將Action中指定的一個InputStream類型屬性輸出. 將Action中的InputStream屬性以字節(jié)流方式輸出F.json 以json字符串方式響應,將Action中指定的屬性,拼成一個json字符串輸出1.1 攔截器的作用。參考答案:攔截器適合封裝一些共通處理,便于重復利用.例如請求參數給Action屬性,日志的記錄,權限檢查, 事務處理等.攔截器是通過配置方式調用,因此使用方法比較靈活,便于維護和擴展。1.2 fileUpload攔截器原理。參考答案:該攔截器首先會調用commons-file-upload.jar組件將客戶端上傳的文件保存到服務器臨時目錄下,之后將臨時目錄下的文件對象給Action屬性復制.當Action和Result調用完畢后,清除臨時目錄下的文件.因此在Action業(yè)務方法中,需要做文件復制,將臨時文件轉移到目標目錄中。1.3 Struts2完整工作流程。參考答案:a.客戶發(fā)送一個Action請求,請求交給控制器b.控制器創(chuàng)建一個ValueStack,將Action壓入棧頂c.控制器調用ActionInvocation組件執(zhí)行請求處理d.ActionInvocation組件調用請求相關的攔截器組件-前部分處理.e.然后再調用Action組件業(yè)務方法f.然后再調用Result組件處理方法g.最后執(zhí)行攔截器組件-后部分處理.h.將響應信息輸出,為客戶端響應Ajax1.1 請簡述你對AJAX的理解參考答案:Asynchronous Javascript And Xml(異步的javascript和xml)。為了解決傳統(tǒng)的web應用當中“等待-響應-等待的弊端而創(chuàng)建的一種技術,其實質可以理解 為:使用瀏覽器內置的一個對象(XmlHttpRequest)向服務器發(fā)送請求,服務器返回xml數據 或者是文本數據給瀏覽器,然后在瀏覽器端,使用這些數據更新部分頁面,整個過程,頁面無任何的刷新。1.1 AJAX技術的優(yōu)點。參考答案:1.頁面無刷新2.不打斷用戶的操作,用戶的體驗好。3.按需獲取數據,瀏覽器與服務器之間數據的傳輸量減少。4.是一個標準技術,不需要下載任何的插件。5.可以利用客戶端(瀏覽器)的計算能力。1.2 請簡述你對JSON的理解。參考答案:JavasSript Object Notation是一種數據交換的標準,一般用于瀏覽器與服務器之間的數據轉換。比如,將一個java對象轉換成瀏覽器端可以識別的javascript對象。1.1 jQuery對AJAX提供了支持,請列出三種支持的方式。參考答案:1)$.ajax(options):optionsoptions是一個形如key1:value1,key2:value2.的js對象2)$.get(url,data,callback,type):發(fā)送get請求3)$.post(url,data,callb

溫馨提示

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

評論

0/150

提交評論