版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、一、名詞解釋(共5小題 每題3分,共15分)1、MVC :Model、View和Controller,是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性地使應(yīng)用程序的輸入、處理和輸出分開,三個(gè)部分以最小的耦合協(xié)同工作,以增加程序的可擴(kuò)展性和可維護(hù)性;2、OGNL:Object Graphic Navigation Language(對象圖導(dǎo)航語言),是一個(gè)開源項(xiàng)目,是一種功能強(qiáng)大的EL(表達(dá)式語言),可通過簡單的表達(dá)式來訪問Java對象中的屬性;3、持久化:即把數(shù)據(jù)(如內(nèi)存中的對象)保存到可永久保存的存儲設(shè)備中(如磁盤),是將程序數(shù)據(jù)在持久狀態(tài)和瞬時(shí)狀態(tài)間轉(zhuǎn)換的機(jī)制;4、ORM:對象關(guān)系映射,是用于將對象與對象之間的關(guān)
2、系對應(yīng)到數(shù)據(jù)庫表與表之間關(guān)系的一種模式; 5、通知(Advice):定義了切面中的實(shí)現(xiàn)類型是指在定義好的切入點(diǎn)處所有執(zhí)行的程序代碼;6、事務(wù):是工作中的基本邏輯單位,可以用于確保數(shù)據(jù)庫能夠被正確修改,避免數(shù)據(jù)只修改了一部分而導(dǎo)致數(shù)據(jù)不完整,或者在修改時(shí)受到用戶干擾;7、POJO類 :POJO(Plain Old Java Objects)簡單的Java對象,實(shí)際就是普通JavaBeans,是為了避免和EJB混淆所創(chuàng)造的簡稱,它通指沒有使用Entity Beans的普通java對象,可以把POJO作為支持業(yè)務(wù)邏輯的協(xié)助類。8、AOP:面向切面編程,可以通過預(yù)編譯方式和運(yùn)行期動態(tài)代理實(shí)現(xiàn)在不修改源
3、代碼的情況下給程序動態(tài)統(tǒng)一添加功能的一種技術(shù); 9、IoC:Inversion of Control(控制反轉(zhuǎn)),是一個(gè)重要的面向?qū)ο缶幊痰姆▌t來削減計(jì)算機(jī)程序的耦合問題,IoC的基本概念是不創(chuàng)建對象,但是描述創(chuàng)建它們的方式,在代碼中不直接與對象和服務(wù)連接,但在配置文件中描述哪一個(gè)組件需要哪一項(xiàng)服務(wù)。容器負(fù)責(zé)將這些聯(lián)系在一起 ;10、HQL:Hibernate Query Language的縮寫,HQL的語法很像SQL,但HQL是一種面向?qū)ο蟮牟樵冋Z言,操作的對象是類、實(shí)例、屬性等。2、 填空(共10空,每空2分,共20分)1、Spring從容器中獲取bean對象可以分別通過(BeanFact
4、ory)接口和(ApplicationContext)接口來實(shí)現(xiàn)。2、Struts2、Hibernate缺省的核心配置文件名分別為(struts.xml)和()。3、OGNL上下文有一個(gè)bar對象,它不是根對象,bar有g(shù)etvalue屬性,則利用OGNL表達(dá)式求bar對象的getvalue屬性值為(#bar.value)。4、使用Hibernate的七個(gè)步驟是:創(chuàng)建Configuration、創(chuàng)建SessionFactory、(開啟一次會話) 、(開啟一個(gè)事務(wù))、持久化操作、(提交事務(wù))和(釋放資源)。5、在Hibernate項(xiàng)目中,如實(shí)體類為User,則對應(yīng)的配置文件名為()。6、Stru
5、ts2的action類定義時(shí)傳值方式可以采?。ㄗ侄蝹髦担ⅲP蛡髦担?、持久化對象的生命周期中對象的三種狀態(tài)(瞬時(shí)態(tài))(持久態(tài))(脫管態(tài))8、hibernate事務(wù)并發(fā)處理可以通過加鎖的機(jī)制實(shí)現(xiàn)(悲觀鎖)(樂觀鎖);9、Struts2應(yīng)用攔截器解決重復(fù)提交問題時(shí)頁面中應(yīng)使用的標(biāo)簽是(<s.token>)、Struts2實(shí)現(xiàn)國際化的標(biāo)簽是(<s.text>)。三、問答題(共5小題,每題7分,共35分) 1、Struts2 工作流程是什么?用戶發(fā)送一個(gè)請求后,也就是一個(gè)*.action,web.xml中配置的FilterDispatcher(Struts2框架的核心控制器
6、)就會過濾該請求。如果請求是以.action結(jié)尾,該請求就會被轉(zhuǎn)入Struts2框架處理,Struts2框架接收到*.action請求后,將根據(jù)*.action請求前面的*來決定調(diào)用哪個(gè)業(yè)務(wù)。2、開發(fā)Hibernate項(xiàng)目步驟是什么?(1)建立項(xiàng)目;(2)創(chuàng)建POJO類及其映射文件;(3)創(chuàng)建Hibernate核心配置文件;(4)編寫代碼,實(shí)現(xiàn)系統(tǒng)的詳細(xì)功能和業(yè)務(wù)邏輯接口。3、關(guān)聯(lián)關(guān)系映射有哪幾種?含義是什么?一對一關(guān)聯(lián):有兩種實(shí)現(xiàn)方式:共享主鍵方式和唯一外鍵方式,是many-to-one的一種情況,不同的是關(guān)聯(lián)中的外鍵字段具有唯一性約束;多對一單向關(guān)聯(lián):一對多雙向關(guān)聯(lián):多對多關(guān)聯(lián):4、Hib
7、ernate相關(guān)接口作用是什么?Configuration:負(fù)責(zé)管理Hibernate的配置信息;SessionFactory:負(fù)責(zé)創(chuàng)建Session實(shí)例,可以通過Configurtion實(shí)例構(gòu)建SessionFactory;Session:是Hibrenate持久化操作的基礎(chǔ),提供了眾多持久化方法,通過這些方法,透明地完成對象的增、刪、改、查等操作;Transaction:是Hibernate進(jìn)行事物操作的接口,是對實(shí)際事務(wù)實(shí)現(xiàn)的一個(gè)抽象;事務(wù)對象通過Session創(chuàng)建;Query:Hibernate3.x中取代find()方法的接口,用于執(zhí)行HQl語句,Query和HQL是分不開的。5、S
8、QL與HQL區(qū)別?SQL操作的對象是數(shù)據(jù)表和列等數(shù)據(jù)對象,HQL操作的對象是類、實(shí)例、屬性等。6、Spring提供的3種通知(Advice)類型和含義?前通知:指在連接點(diǎn)之前,先執(zhí)行通知中的代碼;后通知:指在連接點(diǎn)執(zhí)行后,再執(zhí)行通知中的代碼。后增強(qiáng)一般分為連接點(diǎn)正常返回增強(qiáng)及連接點(diǎn)異常返回增強(qiáng)等類型;環(huán)繞通知:是一種功能強(qiáng)大的增強(qiáng),可以自由地改變程序的流程、連接點(diǎn)返回值等。除了可以自由添加橫切功能外還需要負(fù)責(zé)主動調(diào)用連接點(diǎn)。7、怎樣通過Hibernate實(shí)現(xiàn)分頁的功能?Hibernate的Query實(shí)例提供了兩個(gè)有用的方法:setFirstResult(int firstResult)和set
9、MaxResult(int maxResult),setFirstResult方法用于指定從哪一個(gè)對象開始查詢,默認(rèn)為第一個(gè)對象,setMaxResult方法用于指定一次最多查詢的對象的數(shù)目,默認(rèn)為所有對象。8、struts2、spring、hibernate整合開發(fā)的過程。(1)項(xiàng)目創(chuàng)建;(2)添加項(xiàng)目開發(fā)所需要的jar包;(3)實(shí)現(xiàn)Hibernate持久層;(4)編寫DAO接口及實(shí)現(xiàn)類;(5)編寫業(yè)務(wù)邏輯接口及實(shí)現(xiàn)類;(6)系統(tǒng)詳細(xì)功能實(shí)現(xiàn)。9、spring中實(shí)現(xiàn)注入依賴的方式是什么,比較不同的方式?set注入和構(gòu)造注入;使用構(gòu)造注入可以在構(gòu)建對象的同時(shí)一并完成依賴關(guān)系的建立,所以,如果建
10、立的對象的關(guān)系很多,使用構(gòu)造注入就會在構(gòu)造方法上留下很多的參數(shù),使非常不易閱讀的,這時(shí)建議使用set注入。然而用set注入由于提供了setXx()方法,所以不能保證相關(guān)數(shù)據(jù)在執(zhí)行時(shí)不被更改設(shè)定,因此,如果想讓一些數(shù)據(jù)變?yōu)橹蛔x或私有,使用構(gòu)造注入會是很好的選擇。10、Hibernate Session接口的 get()/load()方法有什么區(qū)別?(1)當(dāng)數(shù)據(jù)庫表中id值為1時(shí),使用get()方法返回null,使用load()方法返回異常;(2)load()查詢會先到緩存中去查,如果沒有則返回一個(gè)代理對象,等到后面使用這個(gè)代理對象的時(shí)候,才會到數(shù)據(jù)庫中查找相應(yīng)的信息。若還是沒有就拋出異常。get
11、()查詢則先到緩存中去查,如果沒有就直接到數(shù)據(jù)庫中查詢,還沒有的話就返回null;(3)load()查詢支持延遲加載,而get()查詢不支持;總的來說,使用load()方法需要確保數(shù)據(jù)庫中存在相應(yīng)的值,否則就拋出異常,而get()查詢則是試探性的獲取,如果沒有就返回null。4 程序填空題(共20分)1、完成下列代碼的hibernate雙向多對一映射,數(shù)據(jù)庫表名與POJO類名相同、POJO類位于com.star.po包下。Person.class 省略了getter/setterRoom.class省略了getter/setterPerson.hbm.xml:<?xml version=
12、"1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-/Hibernate/Hibernate Mapping DTD 3.0/EN" ""><!-Mapping file autogenerated by MyEclipse Persistence Tools-><hibernate-mapping> <class name="" table="person"
13、 catalog="test"> <id name="id" type=""> <column name="id"/> <generator class="native"/> </id> <many-to-one name="room" class="" fetch="select" cascade="all"> <column name=&qu
14、ot;roomId"/> </many-to-one> <property name="personName" type=""> <column name="personName" length="50" not-null="true"/> </property> </class></hibernate-mapping>Room.hbm.xml:<?xml version="1.0"
15、 encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-/Hibernate/Hibernate Mapping DTD 3.0/EN" ""><!-Mapping file autogenerated by MyEclipse Persistence Tools-><hibernate-mapping> <class name="" table="room" catalog="te
16、st"> <id name="id" type=""> <column name="id"/> <generator class="native"/> </id> <property name="roomName" type=""> <column name="roomName" not-null="true"/> </property>
17、 <set name="persons" inverse="false" cascade="all"> <key> <column name="roomId"/> </key> <one-to-many class=""/> </set> </class></hibernate-mapping>2、根據(jù)代碼完成Action類的配置相關(guān)配置<?xml version="1.0"
18、 encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-/Apache Software Foundation/DTD Struts Configuration 2.0/EN" "/dtds/struts-2.0.dtd"><struts><constant name="struts.configuration.xml.reload" value="true"></co
19、nstant><constant name="struts.il8n.encoding" value="UTF-8"></constant><package name="default" extends="struts-default"namespace="/user"><action name="user" class="com.star.action.userAction"><result n
20、ame="success" type="redirect">/welcome.jsp</result><result name="login">/login.jsp</result></action></package></struts>3、實(shí)現(xiàn)Spring AOP 前置通知的配置/schema/beans/spring-beans-2.5.xsd"><!-注冊前置通知類 -&g
21、t;<bean id="beforeAdvice" class=""/><!- 注冊接口實(shí)現(xiàn)類 -><bean id="hello" class="erfaces.impl.Hello"></bean><!- 注冊代理類 -><bean id="proxy" class="org.springframework.aop.framework.ProxyFactoryBean"><!- 指定應(yīng)用的接口 -><property name="proxyInterfaces"><value&g
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度護(hù)校與養(yǎng)老機(jī)構(gòu)合作服務(wù)合同3篇
- 女生節(jié)活動策劃方案(3篇)
- 中小學(xué)校實(shí)驗(yàn)室內(nèi)部管理制度范文(二篇)
- 2025年度物流運(yùn)輸安全環(huán)保服務(wù)協(xié)議范本3篇
- 液壓銑床課程設(shè)計(jì)摘要
- 財(cái)務(wù)分析圖表課程設(shè)計(jì)
- 平路機(jī)安全操作規(guī)程范文(2篇)
- 二零二五年度房地產(chǎn)租賃權(quán)包銷合同3篇
- 2025年上半年安全員工作總結(jié)(3篇)
- 2024年滬教版高三歷史上冊階段測試試卷
- 2021-2022學(xué)年浙江省“9 1”高中聯(lián)盟高一年級下冊學(xué)期期中數(shù)學(xué)試題【含答案】
- 初級審計(jì)師考試:2022初級審計(jì)理論與實(shí)務(wù)真題及答案
- 餐飲部員工排班表
- 幼兒園食堂管理規(guī)范(適用于政府和社會力量舉辦的幼兒園食堂)
- 公司金融ppt課件(完整版)
- 徐州醫(yī)科大學(xué)附屬醫(yī)院
- 自動化立體庫貨架驗(yàn)收報(bào)告
- 消防系統(tǒng)工程質(zhì)量控制資料檢查記錄
- 中藥封包療法操作規(guī)范
- 浙江產(chǎn)業(yè)帶分布情況
- 道岔主要幾何尺寸表
評論
0/150
提交評論