版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
EJB
1:EJB:
答:EnterpriseJavaBean相當(dāng)于DCOM,即分布式組件。它是基于Java的遠(yuǎn)程方法調(diào)用(RMI)技術(shù)的,
所以EJB可以被遠(yuǎn)程訪問(跨進(jìn)程、跨計(jì)算機(jī))。但EJB必須被布署在諸如Webspere、WebLogic這樣的容器
中,EJB客戶從不直接訪問真正的EJB組件,而是通過其容器訪問。EJB容器是EJB組件的代理,EJB組件由容
器所創(chuàng)建和管理??蛻敉ㄟ^容器來訪問真正的EJB組件。
答:Enterprisejavabean容器。更具有行業(yè)領(lǐng)域特色。他提供給運(yùn)行在其中的組件EJB各種管理功能。只要
滿足J2EE規(guī)范的EJB放入該容器,馬上就會(huì)被容器進(jìn)行高效率的管理。并且可以通過現(xiàn)成的接口來獲得系統(tǒng)級(jí)
別的服務(wù)。例如郵件服務(wù)、事務(wù)管理。
RMI:(RemoteMethodInvocation)遠(yuǎn)程方法調(diào)用
答:RMI(RemoteMethodInvocation,遠(yuǎn)程方法調(diào)用)是用Java在JDK1.1中實(shí)現(xiàn)的,它大大增強(qiáng)了Java開發(fā)分
布式應(yīng)用的能力。Java作為一種風(fēng)靡一時(shí)的網(wǎng)絡(luò)開發(fā)語言,其巨大的威力就體現(xiàn)在它強(qiáng)大的開發(fā)分布式網(wǎng)絡(luò)應(yīng)
用的能力上,而RMI就是開發(fā)百分之百純Java的網(wǎng)絡(luò)分布式應(yīng)用系統(tǒng)的核心解決方案之一。其實(shí)它可以被看作
是RPC的Java版本。但是傳統(tǒng)RPC并不能很好地應(yīng)用于分布式對(duì)象系統(tǒng)。而JavaRMI則支持存儲(chǔ)于不同地址空
間的程序級(jí)對(duì)象之間彼此進(jìn)行通信,實(shí)現(xiàn)遠(yuǎn)程對(duì)象之間的無縫遠(yuǎn)程調(diào)用。
2:EJB種類、作用
答:EntityBean用于描述一個(gè)永久的對(duì)象。
SessionBean——描述任務(wù)或者工作流的模型,并且協(xié)調(diào)Bean之間的交互。
Message-DriverBean用在基于J2EE應(yīng)用程序中處理異步JMS消息。
3:實(shí)體bean,CMP,BMP寫法區(qū)別?
答:CMPentitybean不需要在bean中編寫數(shù)據(jù)庫操作的代碼;可以讓容器做這件事。
BMPentitybean在bean類中直接編寫數(shù)據(jù)庫調(diào)用,以及對(duì)固定存儲(chǔ)的任意類型的訪問,來管理bean
的持久性。
4:Find與Select方法的區(qū)別?
答:
FinderSelect
返回單對(duì)象或者集合,是該bean類單個(gè)或者多個(gè)(集合或集)對(duì)象.是該
值型的bean類型或CMR相關(guān)類型EJBObject(s)
EJBObject(s),EJBLocaIObject(s).或EJBLocalObject(s)也可能是
CMP(域),CMP的集合或一個(gè)CMR域.
聲明在遠(yuǎn)程和/或本地home接口中Bean類中的抽象方法
位置
方法FindXxx()EjbSelectXxx—bean類
名
可見公開給客戶端面向entitybean類內(nèi)部,供其他bean
度方法使用
實(shí)例Bean池任意隨機(jī)bean實(shí)例當(dāng)前實(shí)例,但若調(diào)用來自home方法,
則為任意隨機(jī)實(shí)例.
5:主接口方法的定義與寫法?
答:生命周期方法建方法-該方法的返回值是bean的組件接口,寫法為creatXxx
無狀態(tài)sessionbean必須個(gè)且僅有一個(gè)無參的創(chuàng)建方法.
有狀態(tài)sessionbean必須含有至少一個(gè)創(chuàng)建方法.Entitybean可以有0至多個(gè)創(chuàng)建方法.
Finder方法-Finder方法對(duì)于entitybean有效,通過它可以在數(shù)據(jù)庫中查找到entitybean對(duì)應(yīng)的持久性數(shù)據(jù).每一個(gè)
entitybean的home接口必須有一個(gè)findByPrimaryKey方法,并以實(shí)體的主鍵為參數(shù).可以定制Finder方法.Home
方法-Home方法也僅對(duì)entitybean有效.Home方法能夠返回任意類型的序列化對(duì)象,但并不實(shí)際生成bean的實(shí)例.
6:主接口與組件接口的區(qū)別?
答:主接口提供EJB客戶端對(duì)bean的訪問.定義了bean的生命周期方法,并提供了bean的基本生命周期管理功能,
如創(chuàng)建刪除渣找.messagedrivernbean不含有home接口.組件接口是由enterprisebean的客戶端用來取得bean的
訪問能力.它定義了對(duì)于客戶端可見的業(yè)務(wù)方法.組件接口中的業(yè)務(wù)方法必須符合bean類中的實(shí)現(xiàn).
7、JMS消息傳遞的方式?
答:點(diǎn)到點(diǎn)(point-to-point)消息通過隊(duì)列進(jìn)行發(fā)送.發(fā)布與訂閱(publish-and-subscribe,pub/sub)消息通過標(biāo)題傳遞.
8、EJB客戶端訪問后臺(tái)EJB的代碼?
答:pl92,pl93
9、有狀態(tài)sessionbean與無狀態(tài)sessionbean的區(qū)別?
答:statefulsessionbean維護(hù)客戶端會(huì)話狀態(tài).它們必須屬于一個(gè)且只屬于一個(gè)客戶端.激活序li化,開銷大.stateless
session不維護(hù)一個(gè)客戶端的會(huì)話狀態(tài)它們被放入實(shí)例池中,因此可被多個(gè)用戶共用,開銷小,效率高。
10、本地視圖與遠(yuǎn)程視圖的區(qū)別?
答:遠(yuǎn)程視圖-它的想法就是遠(yuǎn)程調(diào)用將在兩臺(tái)不同JVM之間執(zhí)行.遠(yuǎn)程調(diào)用這些操作使得相關(guān)網(wǎng)絡(luò)開銷會(huì)更高
與對(duì)象的位置無關(guān).也不會(huì)在乎是否在一個(gè)JVM.
本地視圖-它的想法就是本地調(diào)用將在相同的JVM中執(zhí)行.沒有網(wǎng)絡(luò)開銷.操作效率更高,因?yàn)榭蛻舳耸褂帽镜貙?duì)象
調(diào)用bean上的服務(wù),限制在本地實(shí)現(xiàn)中,而且不需要做到與位置無關(guān).
11:CMT事物屬性
Transaction
Client'sTransactionAssociatedwithEJB
Method
Mandatory-Exception
AA
Never--
AException
Required*B
AA
RequiresNew-A
AB
Supports--
AA
NotSupported??
A-
Mandatory-當(dāng)使用這個(gè)值時(shí),bean方法被調(diào)用時(shí)必須有一個(gè)事務(wù)己經(jīng)處在運(yùn)行中.
Never-如果在現(xiàn)有事務(wù)中調(diào)用此bean,容器將拋出java.rmi.RemotException.
Required-bean方法必須總是在事務(wù)上下文中執(zhí)行.
RequiresNew-當(dāng)方法被調(diào)用的時(shí)候,bean總會(huì)需要啟動(dòng)一個(gè)新的事務(wù)
Supports可以參與到正在運(yùn)行的事務(wù)中,但這個(gè)事務(wù)并不是必須的.
NotSupported-該值意味著在事務(wù)中bean或者方法根本不能被調(diào)用.
12:事務(wù)屬性ACID
答:原子性——一個(gè)事務(wù)要么完全執(zhí)行,要么根本不執(zhí)行。
一致性——一個(gè)事務(wù)在它完成后不能留下系統(tǒng)的不一致性。
隔離性——所有的事務(wù)不許允許在執(zhí)行的時(shí)候不受其他進(jìn)程或者事務(wù)的干涉。
持久性——在事務(wù)期間,所有提交的變更數(shù)據(jù)必須寫入持久的數(shù)據(jù)存儲(chǔ)器,并且應(yīng)該能在硬件和軟件
失效中保存下來。
13:實(shí)體Bean的三個(gè)狀態(tài):
答:no-stateBean實(shí)例還沒有創(chuàng)建。
pooledBean實(shí)例被創(chuàng)建,但還沒有和一個(gè)EJBObject關(guān)聯(lián)。
ready與EJBObject相關(guān)聯(lián)。若斷開關(guān)聯(lián)則回到pooled。
14:JMS、JMS消息模型
答:JavaMessageService(JMS)是一個(gè)JAVAAPI,用來訪問面向消息中間件(MOM)服務(wù)。JMS為Java程序生
成、發(fā)送、接收和讀取異步消息提供通用的方法。
JMS模型:點(diǎn)到點(diǎn)和發(fā)布與訂閱
point-to-point一消息通過隊(duì)列進(jìn)行發(fā)送。消息由消息生產(chǎn)者(客戶端)放入隊(duì)列中。消息消費(fèi)者有責(zé)
任從隊(duì)列中取出消息。當(dāng)給定的消息只能被給定的消費(fèi)者接收時(shí),使用P2P。這種情況下,該給定
信息只有一個(gè)消費(fèi)者。
Publish-and-subscribe(簡稱pub/sub)消息通過標(biāo)題傳遞。由生產(chǎn)者將消息發(fā)布為標(biāo)題。消息可以
被任何訂閱該標(biāo)題的消費(fèi)者收到。通過這種方法,一個(gè)消息可以被多個(gè)消費(fèi)者接收或處理。
15:EJB客戶端類型
答:①Sessionbean②servlet③java應(yīng)用④JavaApplet⑤非Java客戶端
16:ORM
答:ORM對(duì)象-關(guān)系映射(Object-RelationMapping)模式是指在單個(gè)組件中負(fù)責(zé)所有實(shí)體域?qū)ο蟮某志没?,封裝數(shù)
據(jù)訪問細(xì)節(jié)
17:EJB是基于哪些技術(shù)實(shí)現(xiàn)的?
EJB包括SessionBean、EntityBean、MessageDrivenBean,基于JNDI、RMI、JAT等技術(shù)實(shí)現(xiàn)。
18:說出SessionBean和EntityBean的區(qū)別
SessionBean在J2EE應(yīng)用程序中被用來完成一些服務(wù)器端的業(yè)務(wù)操作,例如訪問數(shù)據(jù)庫、調(diào)用其他EJB組
件。EntityBean被用來代表應(yīng)用系統(tǒng)中用到的數(shù)據(jù)。
對(duì)于客戶機(jī),SessionBean是一種非持久性對(duì)象,它實(shí)現(xiàn)某些在服務(wù)器上運(yùn)行的業(yè)務(wù)邏輯。
對(duì)于客戶機(jī),EntityBean是一種持久性對(duì)象,它代表一個(gè)存儲(chǔ)在持久性存儲(chǔ)器中的實(shí)體的對(duì)象視圖,或是一個(gè)由
現(xiàn)有企業(yè)應(yīng)用程序?qū)崿F(xiàn)的實(shí)體。
19:StatefulBean和StatelessBean的區(qū)別。
SessionBean還可以再細(xì)分為StatefulSessionBean與StatelessSessionBean,這兩種的SessionBean都可
以將系統(tǒng)邏輯放在method之中執(zhí)行,不同的是StatefulSessionBean可以記錄呼叫者的狀態(tài),因此通常來說,
一個(gè)使用者會(huì)有一個(gè)相對(duì)應(yīng)的StatefulSessionBean的實(shí)體。StatelessSessionBean雖然也是邏輯組件,但是他
卻不負(fù)責(zé)記錄使用者狀態(tài),也就是說當(dāng)使用者呼叫StatelessSessionBean的時(shí)候,EJBContainer并不會(huì)找尋特
定的StatelessSessionBean的實(shí)體來執(zhí)行這個(gè)method。換言之,很可能數(shù)個(gè)使用者在執(zhí)行某個(gè)StatelessSession
Bean的methods時(shí),會(huì)是同一個(gè)Bean的Instance在執(zhí)行。從內(nèi)存方面來看,StatefulSessionBean與Stateless
SessionBean比較,StatefulSessionBean會(huì)消耗J2EEServer較多的內(nèi)存,然而StatefulSessionBean的優(yōu)勢(shì)
卻在于他可以維持使用者的狀態(tài)。
20:EJB與JAVABEAN的區(qū)別?
JavaBean是可復(fù)用的組件,對(duì)JavaBean并沒有嚴(yán)格的規(guī)范,理論上講,任何一個(gè)Java類都可以是一個(gè)Bean。
但通常情況下,由于JavaBean是被容器所創(chuàng)建(如Tomcat)的,所以JavaBean應(yīng)具有一個(gè)無參的構(gòu)造器,另
外,通常JavaBean還要實(shí)現(xiàn)Serializable接口用于實(shí)現(xiàn)Bean的持久性。JavaBean實(shí)際上相當(dāng)于微軟COM模型
中的本地進(jìn)程內(nèi)COM組件,它是不能被跨進(jìn)程訪問的。EnterpriseJavaBean相當(dāng)于DCOM,即分布式組件。它
是基于Java的遠(yuǎn)程方法調(diào)用(RMI)技術(shù)的,所以EJB可以被遠(yuǎn)程訪問(跨進(jìn)程、跨計(jì)算機(jī))。但EJB必須被布
署在諸如Webspere、WebLogic這樣的容器中,EJB客戶從不直接訪問真正的EJB組件,而是通過其容器訪問。
EJB容器是EJB組件的代理,EJB組件由容器所創(chuàng)建和管理??蛻敉ㄟ^容器來訪問真正的EJB組件。
21:EJB包括(SessionBean,EntityBean)說出他們的生命周期,及如何管理事務(wù)的?
SessionBean:StatelessSessionBean的生命周期是由容器決定的,當(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è)StatefulSessionBean時(shí),容器必須立即在服務(wù)器中創(chuàng)建一個(gè)新的Bean實(shí)例,并關(guān)聯(lián)到客戶機(jī)
上,以后此客戶機(jī)調(diào)用StatefulSessionBean的方法時(shí)容器會(huì)把調(diào)用分派到與此客戶機(jī)相關(guān)聯(lián)的Bean實(shí)例。
EnlityBean:EntityBeans能存活相對(duì)較長的時(shí)間,并且狀態(tài)是持續(xù)的。只要數(shù)據(jù)庫中的數(shù)據(jù)存在,Entitybeans
就一直存活。而不是按照應(yīng)用程序或者服務(wù)進(jìn)程來說的。即使EJB容器崩潰了,Entitybeans也是存活的。Entity
Beans生命周期能夠被容器或者Beans自己管理。
EJB通過以下技術(shù)管理實(shí)務(wù):對(duì)象管理組織(OMG)的對(duì)象實(shí)務(wù)服務(wù)(OTS),SunMicrosystems的Transaction
Service(JTS),JavaTransactionAPI(JTA),開發(fā)組(X/Open)的XA接口。
22.EJB有哪些角色和對(duì)象
一個(gè)完整的基于EJB的分布式計(jì)算結(jié)構(gòu)由六個(gè)角色組成,這六個(gè)角色可以由不同的開發(fā)商提供,每個(gè)角色
所作的工作必須遵循Sun公司提供的EJB規(guī)范,以保證彼此之間的兼容性。這六個(gè)角色分別是EJB組件開發(fā)者
(EnterpriseBeanProvider)、應(yīng)用組合者(ApplicationAssembler),部署者(Deployer)>EJB服務(wù)器提供者(EJB
ServerProvider)^EJB容器提供者(EJBContainerProvider)、系統(tǒng)管理員(SystemAdministrator)
三個(gè)對(duì)象是Remote(Local)接口、Home(LocalHome)接口,Bean類
23.EJB容器提供的服務(wù)有哪些?
主要提供聲明周期管理、代碼產(chǎn)生、持續(xù)性管理、安全、事務(wù)管理、鎖和并發(fā)行管理等服務(wù)。
24.EJB的幾種類型
會(huì)話(Session)Bean,實(shí)體(Entity)Bean消息驅(qū)動(dòng)的(MessageDriven)Bean
會(huì)話Bean又可分為有狀態(tài)(Stateful)和無狀態(tài)(Stateless)兩種
實(shí)體Bean可分為Bean管理的持續(xù)性(BMP)和容器管理的持續(xù)性(CMP)兩種
25.EJB需直接實(shí)現(xiàn)它的業(yè)務(wù)接口或Home接口嗎,請(qǐng)簡述理由。
遠(yuǎn)程接口和Home接口不需要直接實(shí)現(xiàn),他們的實(shí)現(xiàn)代碼是由服務(wù)器產(chǎn)生的,程序運(yùn)行中對(duì)應(yīng)實(shí)現(xiàn)類會(huì)作為
對(duì)應(yīng)接口類型的實(shí)例被使用。
26.在J2EE內(nèi),WAR和EAR文件分別代表什么。
WAR:Web歸檔;包含一個(gè)web工程所有組件的壓縮文件。
EAR:企業(yè)歸檔;包含一個(gè)企業(yè)應(yīng)用所有組件的壓縮文件。
Hibernate
1.Hibernate的檢索方式
答:①導(dǎo)航對(duì)象圖檢索②OID檢索③HQL檢索④QBC檢索⑤本地SQL檢索
2.Forward與Global-Forward的區(qū)別
答:Forward是根據(jù)Actionreturn的值找到對(duì)應(yīng)的JSP頁。當(dāng)多個(gè)Action共同return同一個(gè)值時(shí),可將這個(gè)
Forward元素寫在Global-Forward中。
3.持久化對(duì)象的三種狀態(tài),代表含義。
答:臨時(shí)狀態(tài)——?jiǎng)傆胣ew語句創(chuàng)建,未被持久化,不處于session的緩存中。
持久化狀態(tài)——已經(jīng)被持久化,處于session的緩存中。
游離態(tài)——已經(jīng)被持久化,但不處于session的緩存中。
4、三種檢索策略是什么,分別適用于哪種場合?
答:立即檢索——
優(yōu)點(diǎn):對(duì)應(yīng)用程序完全透明,缺點(diǎn):select語句數(shù)目多。適用:類級(jí)別。
延遲檢索——
優(yōu)點(diǎn):由應(yīng)用程序決定加載哪些對(duì)象,可以避免執(zhí)行多余的select語句以及避免加載不需要訪問的對(duì)象,節(jié)省
內(nèi)存空間,提高檢索效率。
缺點(diǎn):應(yīng)用程序如果要訪問游離態(tài)的代理類實(shí)例,必須保證它在持久化時(shí)已經(jīng)被初始化。
適用:一對(duì)多或多對(duì)多關(guān)聯(lián)。應(yīng)用程序不需要立即訪問或者根本不會(huì)訪問的對(duì)象。
迫切左外連接檢索:
優(yōu)點(diǎn):對(duì)應(yīng)用程序完全透明,不管對(duì)象處于持久化狀態(tài)還是游離狀態(tài),應(yīng)用程序都可以方便的從一個(gè)對(duì)象導(dǎo)航到
另一個(gè)與它相關(guān)聯(lián)的對(duì)象。使用了外連接,select語句數(shù)目少。
缺點(diǎn):可能會(huì)加載程序不許要訪問的對(duì)象。復(fù)雜的數(shù)據(jù)庫表連接形象檢索性能。
適用:一對(duì)一或多對(duì)一關(guān)聯(lián)。應(yīng)用程序需要立即訪問的對(duì)象。數(shù)據(jù)庫系統(tǒng)具有良好的表連接性能。
4、ORM解決的不匹配問題(域模型與關(guān)系模型之間存在的不匹配)
答:域模型是面向?qū)ο蟮?,關(guān)系模型是面向關(guān)系的。
域模型中有繼承關(guān)系,關(guān)系模型中不能直接表示繼承關(guān)系。
域模型中有多對(duì)多關(guān)聯(lián)關(guān)系,關(guān)系模型中通過連接表來表示多對(duì)多關(guān)聯(lián)關(guān)系。
域模型中有雙向關(guān)聯(lián)關(guān)系,關(guān)系模型中只有單向參照關(guān)系,而且總是many參照。ne方。
域模型提倡精粒度模型,關(guān)系模型提倡粗粒度模型。
5、映射繼承關(guān)系的三種方式?P424
答:(1)繼承關(guān)系樹的每個(gè)具體類對(duì)應(yīng)一張表:在具體類對(duì)應(yīng)的表中,不僅包含和具體類屬性對(duì)應(yīng)的字段,還包
括與具體類的父類屬性對(duì)應(yīng)的字段。
(2)繼承關(guān)系樹的根類對(duì)應(yīng)一張表:在根類對(duì)應(yīng)的表中,不僅包括根類屬性對(duì)應(yīng)的字段,
還包括根類的所有子類屬性對(duì)應(yīng)的字段。
(3)繼承關(guān)系樹中的每個(gè)類對(duì)應(yīng)一張表,每個(gè)表中只包括和這個(gè)類本身屬性對(duì)應(yīng)的字段,子類的表參照父類對(duì)
應(yīng)的表。
6、Session的find。方法以及Query接口的區(qū)別。
答案Session類的find。方法以及Query接口都支持HQL檢索方式。這兩者的區(qū)別在于,前者只是執(zhí)行一些
簡單HQL查詢語句的便捷方法,它不具有動(dòng)態(tài)綁定參數(shù)的功能,而且在Hibernate3.x版本中,已經(jīng)淘汰了find。
方法;而Query接口才是真正的HQL查詢接口,它提供了以上列出的各種查詢功能。
7.ibernate的配置文件(perties)中hibernate.show_sql=true/flase
在開發(fā)階和測試段應(yīng)設(shè)置為()在發(fā)布階段應(yīng)設(shè)置為();true'false
8.映射一對(duì)多雙向關(guān)聯(lián)關(guān)系中設(shè)置SET元素:
請(qǐng)寫出級(jí)聯(lián)保存和更新、級(jí)聯(lián)刪除應(yīng)在set元素中需要設(shè)置那些子元素?(標(biāo)明關(guān)系、避面重復(fù)執(zhí)行多余SQL語
句)
Namecascadekeycolumnone-to-manyinverse
9.list要的實(shí)現(xiàn)類有那些?并按照存儲(chǔ)結(jié)構(gòu)、機(jī)制簡單的說一下。
LinkedList>ArryList、Vectoro
LinkedList采用鏈表數(shù)據(jù)結(jié)構(gòu)、ArryList代表大小可變的數(shù)組。
Vector與ArryList功能比較相似,區(qū)別在于Vector采用同步、ArryList沒有采用。
10:以下哪個(gè)不是Hibernate的檢索方式:
A、導(dǎo)航對(duì)象圖檢索B、OID檢索C、ORM檢索
D、QBC檢索E、本地SQL檢索F、HQL檢索
答案:C
1L持久化類的類名是Customer.java,寫出相應(yīng)的映射文件名。
答案:Customer.hbm.xml
12.繼承的三種方式
(1)繼承關(guān)系樹的每個(gè)具體類對(duì)應(yīng)一張表:在具體類對(duì)應(yīng)的表中,不僅包含和具體類屬性對(duì)應(yīng)的字段,還
包括與具體類的父類屬性對(duì)應(yīng)的字段。
(2)繼承關(guān)系樹的根類對(duì)應(yīng)一張表:在根類對(duì)應(yīng)的表中,不僅包括根類屬性對(duì)應(yīng)的字段,還包括根類的所
有子類屬性對(duì)應(yīng)的字段。
(3)繼承關(guān)系樹中的每個(gè)類對(duì)應(yīng)一張表,每個(gè)表中只包括和這個(gè)類本身屬性對(duì)應(yīng)的字段,子類的表參照父
類對(duì)應(yīng)的表。
13.Session接口是Hibernate應(yīng)用使用最廣泛的接口。Session也被稱為持久化管理器,它提供了和持久化相關(guān)
的操作,如添加、更新、刪除、加載和查詢對(duì)象。
14.請(qǐng)簡述Session的特點(diǎn)有哪些?
答案:
(1)不是線程安全的,因此在設(shè)計(jì)軟件架構(gòu)時(shí),應(yīng)該避免多個(gè)線程共享同一個(gè)Session實(shí)例。
(2)Session實(shí)例是輕量級(jí)的,所謂輕量級(jí)是指它的創(chuàng)建和銷毀不需要消耗太多的資源。這意味著在程序中可
以經(jīng)常創(chuàng)建或銷毀Session對(duì)象,例如為每個(gè)客戶請(qǐng)求分配單獨(dú)的Session實(shí)例,或者為每個(gè)工作單元分配單獨(dú)
的Session實(shí)例。
(3)在Session中,每個(gè)數(shù)據(jù)庫操作都是在一個(gè)事務(wù)(transaction)中進(jìn)行的,這樣就可以隔離開不同的操作(甚
至包括只讀操作)。
12、Hibernate中采用XML文件來配置對(duì)象-關(guān)系映射的優(yōu)點(diǎn)有那些?
答案:Hibernate既不會(huì)滲透到上層域模型中,也不會(huì)滲透到下層數(shù)據(jù)模型中。軟件開發(fā)人員可以獨(dú)立設(shè)計(jì)域模
型,不必強(qiáng)迫遵守任何規(guī)范。數(shù)據(jù)庫設(shè)計(jì)人員可以獨(dú)立設(shè)計(jì)數(shù)據(jù)模型,不必強(qiáng)迫遵守任何規(guī)范。對(duì)象-關(guān)系映射
不依賴于任何程序代碼,如果需要修改對(duì)象-關(guān)系映射,只需修改XML文件,不需要修改任何程序,提高了軟件
的靈活性,并且使維護(hù)更加方便。
13、在Hibernate應(yīng)用中Java對(duì)象的狀態(tài)有哪些?
答案:
1臨時(shí)狀態(tài)(transient):剛剛用new語句創(chuàng)建,還沒有被持久化,不處于Session的緩存中。處于臨時(shí)狀態(tài)的Java
對(duì)象被稱為臨時(shí)對(duì)象。
2持久化狀態(tài)(persistent):已經(jīng)被持久化,加入到Session的緩存中。處于持久化狀態(tài)的Java對(duì)象被稱為持久化
對(duì)象。
3游離狀態(tài)(detached):已經(jīng)被持久化,但不再處于Session的緩存中。處于游離狀態(tài)的Java對(duì)象被稱為游離對(duì)
象。
14、敘述Session的緩存的作用
答案:
(1)減少訪問數(shù)據(jù)庫的頻率。應(yīng)用程序從內(nèi)存中讀取持久化對(duì)象的速度顯然比到數(shù)據(jù)庫中查詢數(shù)據(jù)的速度快多
了,因此Session的緩存可以提高數(shù)據(jù)訪問的性能。
(2)保證緩存中的對(duì)象與數(shù)據(jù)庫中的相關(guān)記錄保持同步。當(dāng)緩存中持久化對(duì)象的狀態(tài)發(fā)生了變換,Session并不
會(huì)立即執(zhí)行相關(guān)的SQL語句,這使得Session能夠把幾條相關(guān)的SQL語句合并為一條SQL語句,以便減少訪問
數(shù)據(jù)庫的次數(shù),從而提高應(yīng)用程序的性能。
15、比較Hibernate的三種檢索策略優(yōu)缺點(diǎn);
答案:
I立即檢索;
優(yōu)點(diǎn):對(duì)應(yīng)用程序完全透明,不管對(duì)象處于持久化狀態(tài),還是游離狀態(tài),應(yīng)用程序都可以方便的從一個(gè)
對(duì)象導(dǎo)航到與它關(guān)聯(lián)的對(duì)象;
缺點(diǎn):Lselect語句太多;2.可能會(huì)加載應(yīng)用程序不需要訪問的對(duì)象白白浪費(fèi)許多內(nèi)存空間;
2延遲檢索:
優(yōu)點(diǎn):
由應(yīng)用程序決定需要加載哪些對(duì)象,可以避免可執(zhí)行多余的select語句,以及避免加載應(yīng)用程序不需要
訪問的對(duì)象。因此能提高檢索性能,并且能節(jié)省內(nèi)存空間;
缺點(diǎn):
應(yīng)用程序如果希望訪問游離狀態(tài)代理類實(shí)例,必須保證他在持久化狀態(tài)時(shí)已經(jīng)被初始化;
3迫切左外連接檢索
優(yōu)點(diǎn):
1對(duì)應(yīng)用程序完全透明,不管對(duì)象處于持久化狀態(tài),還是游離狀態(tài),應(yīng)用程序都可以方便地沖一個(gè)對(duì)象
導(dǎo)航到與它關(guān)聯(lián)的對(duì)象。
2使用了外連接,select語句數(shù)目少;
缺點(diǎn):
1可能會(huì)加載應(yīng)用程序不需要訪問的對(duì)象,白白浪費(fèi)許多內(nèi)存空間;2復(fù)雜的數(shù)據(jù)庫表連接也會(huì)影響檢
索性能;
16、多個(gè)事務(wù)并發(fā)運(yùn)行時(shí)的并發(fā)問題有哪些?
答案第一類丟失更新;臟讀;虛讀;不可重復(fù)讀;第二類丟失更新;
17、ORM解決的不匹配問題(域模型與關(guān)系模型之間存在的不匹配)
答:域模型是面向?qū)ο蟮?,關(guān)系模型是面向關(guān)系的。域模型中有繼承關(guān)系,關(guān)系模型中不能直接表示繼承
關(guān)系。域模型中有多對(duì)多關(guān)聯(lián)關(guān)系,關(guān)系模型中通過連接表來表示多對(duì)多關(guān)聯(lián)關(guān)系。域模型中有雙向關(guān)聯(lián)關(guān)系,
關(guān)系模型中只有單向參照關(guān)系,而且總是many參照。ne方。域模型提倡精粒度模型,關(guān)系模型提倡粗粒度模型。
18、session的清理和清空有什么區(qū)別?
session清理緩存是指按照緩存中對(duì)象的狀態(tài)的變化來同步更新數(shù)據(jù)庫;清空是session關(guān)閉;
19.請(qǐng)簡述Session的特點(diǎn)有哪些?
答案:
(1)不是線程安全的,因此在設(shè)計(jì)軟件架構(gòu)時(shí),應(yīng)該避免多個(gè)線程共享同一個(gè)Session實(shí)例。
(2)Session實(shí)例是輕量級(jí)的,所謂輕量級(jí)是指它的創(chuàng)建和銷毀不需要消耗太多的資源。這意味著在程序中可
以經(jīng)常創(chuàng)建或銷毀Session對(duì)象,例如為每個(gè)客戶請(qǐng)求分配單獨(dú)的Session實(shí)例,或者為每個(gè)工作單元分配單獨(dú)
的Session實(shí)例。
(3)在Session中,每個(gè)數(shù)據(jù)庫操作都是在一個(gè)事務(wù)(transaction)中進(jìn)行的,這樣就可以隔離開不同的操作(甚
至包括只讀操作)。
20.如下圖A、B、C請(qǐng)?zhí)砩献侄?,通過表C建立表A、表B的雙向關(guān)系(要求簡單連線)
表B
表A
表C
Jsp&servlet
1三個(gè)Statment區(qū)別,用法
Statment,基本的;PreparedStatement是可編譯的,提高效率,callableslatmenl,存儲(chǔ)過程
2Cookie
答:臨時(shí)cookie存在于內(nèi)存中,(公話),長時(shí)cookie存在于硬盤上長時(shí)coolkie和臨時(shí)cookie路徑問題
3servlet調(diào)試方式幾種方法
答:使用打印語句,使用TOMCAT日志,返回錯(cuò)誤頁面,使用IDE集成,重起服務(wù)器,直接查看HTML源代碼,
分別處理請(qǐng)求和響應(yīng)數(shù)據(jù)。
4.Cookie與session的區(qū)別是:session為短對(duì)話,Cookie可以設(shè)置任意時(shí)間的有效期。
5.Get請(qǐng)求和Post請(qǐng)求區(qū)別
答:a、Post是通過Http中的Post機(jī)制將表單中的數(shù)據(jù)提交道Action所制定的程序Get方法是通過UH請(qǐng)求來提
交表單數(shù)據(jù)的。
b.Get適用于傳輸數(shù)據(jù)量小于1K數(shù)據(jù),執(zhí)行效率高。Post傳輸數(shù)據(jù)量較大,但也有限量。
6.servlet生命周期
答:Servlet的生命周期始于將它裝入Web服務(wù)器的內(nèi)存時(shí),并在終止或重新裝入Servlet時(shí)結(jié)束。包括加載
和實(shí)例化、初始化、處理請(qǐng)求以及服務(wù)結(jié)束。這個(gè)生存期由javax.servlet.Servlet接口的init,service和destroy
方法表達(dá)。
描述servlet的生命周期,誰來控制servlet的生命周期,servlet生命周期在J2EE規(guī)范中是如何來定義的服務(wù)器實(shí)
例化一個(gè)servlet對(duì)象,容器運(yùn)行其init方法,請(qǐng)求到達(dá)時(shí)運(yùn)行其service方法,service方法根據(jù)請(qǐng)求的類型調(diào)用
(doGet,doPost)方法,當(dāng)服務(wù)器決定將實(shí)例銷毀時(shí)調(diào)用其destory方法
7、Servlet和Jsp的區(qū)別?
答:Servlet是直接執(zhí)行的文件Jsp是要被通過編譯形成Servlet后才執(zhí)行。
8.JSP構(gòu)架模型
Modell:純jsp維護(hù)難,代碼可復(fù)用性差
Model2:jsp+javabean在jsp中使用usebean標(biāo)簽,代碼在jsp中本質(zhì)同Model1
Mvc:jsp+servlet+javabean
9.JSP隱含變量
request用戶端請(qǐng)求,此請(qǐng)求會(huì)包含來自GET/POST請(qǐng)求的參數(shù)
response網(wǎng)頁傳回用戶端的回應(yīng)
pageContext網(wǎng)頁的屬性是在這里管理
session與請(qǐng)求有關(guān)的會(huì)話期
applicationservlet正在執(zhí)行的內(nèi)容
configservlet的構(gòu)架部件
out用來傳送回應(yīng)的輸出(用來向客戶端輸出數(shù)據(jù))
pageJSP網(wǎng)頁本身
exception針對(duì)錯(cuò)誤網(wǎng)頁,未捕捉的例外(異常)
10.四大共享范圍
答:a、page當(dāng)前頁面。
b、session同一個(gè)網(wǎng)站內(nèi)。
c、request從上一頁到下一個(gè)頁面。
d^application同一個(gè)網(wǎng)站內(nèi)。
11.MVC——如何理解MVC
答:MVC是Model-View-Controller的簡寫。
"Model"代表的是應(yīng)用的業(yè)務(wù)邏輯(通過JavaBean,EJB組件實(shí)現(xiàn)),
"View"是應(yīng)用的表示面(由JSP頁面產(chǎn)生),
"Controller"是提供應(yīng)用的處理過程控制(一般是一個(gè)Servlet),通過這種設(shè)計(jì)模型把應(yīng)用邏輯,處理過程
和顯示邏輯分成不同的組件實(shí)現(xiàn)。這些組件可以進(jìn)行交互和重用。
11.JSP生命周期
請(qǐng)求請(qǐng)求請(qǐng)求請(qǐng)求請(qǐng)求請(qǐng)求
#1#2#3#4#5#6
JSP頁面YesNoNoNoYesNo
轉(zhuǎn)換成servlet
servlet"新YesNoNoNoYesNo
創(chuàng)建servlet實(shí)例YesNoYesNoYesNo
并裁入服務(wù)器
的內(nèi)存
init(或類似的YesNoYesNoYesNo
函數(shù))被調(diào)用
doGet(或類似YesYesYesYesYesYes
的函數(shù))被調(diào)用
12>JSP中動(dòng)態(tài)
INCLUDE與靜態(tài)INCLUDE的區(qū)別?
動(dòng)態(tài)INCLUDE用jsp:include動(dòng)作實(shí)現(xiàn),它總是會(huì)檢查所含文件中的變化,適合用于包含動(dòng)態(tài)頁面,并且可以帶
參數(shù)。
靜態(tài)INCLUDE用include偽碼實(shí)現(xiàn),定不會(huì)檢查所含文件的變化,適用于包含靜態(tài)頁面
13.Forword和SendRedirect區(qū)別
答:前者僅是容器中控制權(quán)的轉(zhuǎn)向,在客戶端瀏覽器地址欄中不會(huì)顯示出轉(zhuǎn)向后的地址;
后者則是完全的跳轉(zhuǎn),瀏覽器將會(huì)得到跳轉(zhuǎn)的地址,并重新發(fā)送請(qǐng)求鏈接。這樣,從瀏覽器的地址欄中可以
看到跳轉(zhuǎn)后的鏈接地址。
所以,前者更加高效,在前者可以滿足需要時(shí),盡量使用forward。方法,并且,這樣也有助于隱藏實(shí)際的鏈
接。但在有些情況下,比如,需要跳轉(zhuǎn)到一個(gè)其它服務(wù)器上的資源,則必須使用sendRedirect。方法。
forward是服務(wù)器請(qǐng)求資源,服務(wù)器直接訪問目標(biāo)地址的URL,把那個(gè)URL的響應(yīng)內(nèi)容讀取過來,然后把這
些內(nèi)容再發(fā)給瀏覽器,瀏覽器根本不知道服務(wù)器發(fā)送的內(nèi)容是從哪兒來的,所以它的地址欄中還是原來的地址。
redirect就是服務(wù)端根據(jù)邏輯,發(fā)送一個(gè)狀態(tài)碼,告訴瀏覽器重新去請(qǐng)求那個(gè)地址,一般來說瀏覽器會(huì)用剛才請(qǐng)
求的所有參數(shù)重新請(qǐng)求,所以session,request參數(shù)都可以獲取。
14.從BeanFactoy或Applicationcontext是通過什么模式取得實(shí)例的?如果要取得多個(gè)實(shí)例在配制文件中要怎
樣做映射
答:是通過單態(tài)模式取得實(shí)例的,在配制文件中可以改,好像是isthread…設(shè)成false
15.jsp有哪些動(dòng)作?作用分別是什么?
答:JSP共有以下6種基本動(dòng)作
jsp:include:在頁面被請(qǐng)求的時(shí)候引入一個(gè)文件。
jsp:useBean:尋找或者實(shí)例化一個(gè)JavaBean-
jsp:setProperty:設(shè)置JavaBean的屬性。
jsp:getProperty:輸出某個(gè)JavaBean的屬性。
jsp:forward:把請(qǐng)求轉(zhuǎn)到一個(gè)新的頁面。
jsp:plugin:根據(jù)瀏覽器類型為Java插件生成OBJECT或EMBED標(biāo)記
16.請(qǐng)簡述Session的特點(diǎn)有哪些?
答案:
(1)不是線程安全的
(2)Session實(shí)例是輕量級(jí)的
(3)在Session中,每個(gè)數(shù)據(jù)庫操作都是在一個(gè)事務(wù)(transaction)中進(jìn)行的
17.敘述Session的緩存的作用
答案:
(1)減少訪問數(shù)據(jù)庫的頻率。
(2)保證緩存中的對(duì)象與數(shù)據(jù)庫中的相關(guān)記錄保持同步。
18、如何設(shè)置/取得Bean中的屬性值?
答:設(shè)置屬性值<jsp:setPropertyname="haha",property="haha的屬性"value二"變量值"/>
<jsp:setPropertyname="haha”,property="*"/〉獲取從上一個(gè)表單中提交過來的,與Bean中變量名字相同的所
有屬性.
取得屬性值:<jsp:getPropertyname="haha''property="bean的屬性”/>
相當(dāng)于:<%=getA()%>
19NJavaBean的使用:<jsp:useBeanid=''name"class二"sist.md5"scope="page''/>或者vjsp:useBeanid="name"
class="sist.md5"scope=,,page,,x/jsp:useBean>
20、實(shí)現(xiàn)頁面跳轉(zhuǎn)的兩種方法:
答:a><jsp:fbrwardpage=''for2.jsp'7>
b、<%response.sendRedirect(ttfor2.jsp,,);%>
21、inchide指令標(biāo)簽:
<%@includefile=,,incl.jsp,,%>簡單的代碼復(fù)制。
include動(dòng)作標(biāo)簽:<jsp:includepage="inc2.jsp”>獲取inc2.jsp的執(zhí)行結(jié)果。
22、頁面之間的值傳遞:
答:a、設(shè)置Session變量:session.setAttribute("<name,,,,,sisf,);
獲取Session變量:session.getAttribute(“name”);
b、地址方式傳遞:show.jsp?id=變量值
23、內(nèi)置對(duì)象的作用域分為4種:
答:a、page當(dāng)前頁面。
b、session同一個(gè)網(wǎng)站內(nèi)。
c、request從上一頁到下一個(gè)頁面。
d、application同一個(gè)網(wǎng)站內(nèi)。
24、獲取sessionID:<%=session.getld()%>;判斷session是否有效:session.isNew();
25、使用Cookie對(duì)象
答:Cookieck=newCookie(<<name,,,,,sisf,);
寫入:response.addCookie(ck);
讀?。篊ookie[]ck=request.getCookies();
If(ck==null)
for(inta=0;a<ck.length;a++)
If("name".equals(ck[a].getName()))
Out.print(ck[a].getValue());
26、什么是servlet:在web容器中運(yùn)行的服務(wù)器端JAVA程序,主要用于響應(yīng)HTTP請(qǐng)求。Servlet一般用于MVC
中的控制器部分。
27、什么是servlet容器:用來管理servlet生命周期的應(yīng)用程序如(tomcat)。
28什么是JSPPage:javaserverpage是servlet的擴(kuò)展,強(qiáng)調(diào)web頁面表達(dá),編譯后是一個(gè)類servleto
29、JSP標(biāo)簽
動(dòng)作標(biāo)簽:jsp:includejsp:forwordjsp:usebeanjsp:set/getProperty
指令標(biāo)簽:<%@page%><%@include%><%@taglib%>
30^servlet中如何
A、從HTML表單中獲得參數(shù)
request.getParameterNames();enumer;
request.getParameter();String
b、如何獲得請(qǐng)求頭部的信息
Enumerationenumer=request.getHeaderNames();
While(enumer.HasMoreElements())
(
Stringheader=enumer.next();
Stringresult=request.getHeader(header);
Out.print(result);
)
C、如何獲得客戶cookie的信息
request.getCookies();array[J
d、如何設(shè)置response的頭部信息
response.setHeader();
e、如何設(shè)置響應(yīng)的contenttype
response.setContentTypeC'text/htmlcharset=utf-8M);
f、如何獲得I/O流、text流、二進(jìn)制流
g、如何從當(dāng)前的servlet重定向到其他的URL
response.sendRedirect(uurr,)
RequstDispatcherrd=request.getRequstDispatcher(uurF,)
Rd.forword(request,response);
h如何向客戶端寫cookie
Cookiecookie=newCookie("object''Jjklj'');
Cookie.setMaxAge(時(shí)間);
Response.addCookie(cookie);
31、描述servlet的生命周期,誰來控制servlet的生命周期,servlet生命周期在J2EE規(guī)范中是如何來定義的
服務(wù)器實(shí)例化一個(gè)servlet對(duì)象,容器運(yùn)行其init方法,請(qǐng)求到達(dá)時(shí)運(yùn)行其service方法,service方法根據(jù)請(qǐng)
求的類型調(diào)用(doGet,doPost)方法,當(dāng)服務(wù)器決定將實(shí)例銷毀時(shí)調(diào)用其destory方法。
32、如何創(chuàng)建RequestDispatcher對(duì)象,如何將請(qǐng)求轉(zhuǎn)發(fā)給其它的web資源(包含其它的web資源),描述如何
利用request來存狀態(tài),以及與其它保存狀態(tài)方法有什么區(qū)別
RequstDispatcherrd=request.getRequstDispatcher(4turF,)
Rd.forword(request,response);
Request.setAttribute(t4object,,,,,rt容");
一旦產(chǎn)生響應(yīng)request的生命周期就結(jié)束了
33、如何在web.xml中配置servlet定義
<servlet>
<servlel-name>name</servlet-name>
<servlet-class>package</servlet-class>
</servlet>
映射
<servlet-mapping>
<servlet-name>name</servlet-name>
<url-patten>/patten</url-patten>
</servlet-mapping>
34、獲得ServletConfig對(duì)象
ServletConfigsc=getServletConfig();
35、如何獲得servletContext對(duì)象
servletContextsc=getservletContext();
36、<html><body>
<ahref=,7servlet/HelloServlet,,>POST</a>
</body></html>
調(diào)用servlet時(shí)采用了doPost、doGet、doForm、doHref中的哪個(gè)方法
doGet方法
37、說明如下的web的資源應(yīng)該放在web容器中的什么目錄下,靜態(tài)頁面JSP、servletclass>web.xml>Tag
libraries、JARFile、javaclass以及需要保護(hù)的資源文件
tomcat容器web.xml,Taglibraries:\webappsVE程名\WEB-INF
servlet,javaclass:\webapps\lO^\WEB-INF\classes\
jar:\webappsVE程名\WEB-INF\lib\
38、描述requestsessionwebapplication的區(qū)別,創(chuàng)建監(jiān)聽器類來監(jiān)聽每個(gè)scope的生命周期
生命周期不同request產(chǎn)生響應(yīng)時(shí)生命周期結(jié)束,session在web.xml中設(shè)置生命周期時(shí)間、手動(dòng)清除web容
器重啟生命周期結(jié)束。Webapplication容器重啟、手動(dòng)清除
39、JSP的內(nèi)置對(duì)象及方法。
request表示HttpServletRequest對(duì)象。它包含了有關(guān)瀏覽器請(qǐng)求的信息,并且提供了幾個(gè)用于獲取cookie,
header,和session數(shù)據(jù)的有用的方法。
response表示HttpServletRespon.se對(duì)象,并提供了幾個(gè)用于設(shè)置送回瀏覽器的響應(yīng)的方法(如cookies,頭信息
等)
out對(duì)象是javax.jsp.JspWriter的一個(gè)實(shí)例,并提供了幾個(gè)方法使你能用于向?yàn)g覽器回送輸出結(jié)果。
pageContext表示一個(gè)javax.servlet.jsp.PageContext對(duì)象。它是用于方便存取各種范圍的名字空間、servlet相關(guān)
的對(duì)象的API,并且包裝了通用的servlet相關(guān)功能的方法。
session表示一個(gè)請(qǐng)求的javax.servlet.http.HttpSession對(duì)象。Session可以存貯用戶的狀態(tài)信息
applicaton表示一個(gè)javax.servle.ServletContext對(duì)象。這有助于查找有關(guān)servlet引擎和servlet環(huán)境的信息
config表示一javax.servlet.ServletConfig對(duì)象。該對(duì)象用于存取servlet實(shí)例的初始化參數(shù)。
page表示從該頁面產(chǎn)生的一個(gè)servlet實(shí)例
40、JSP的常用指令
<%@pagelanguage=njava"contenType=',text/html;charset=gb2312Hsession="trueHbuffer="64kbnautoFlush=ntruen
isThreadSafe=ntrueHinfo="text"errorPage=nerror.jsp"isErrorPage="true"isELIgnored=ntruenpageEncoding="gb2312"
import=ujava.sql.*"%>
isErrorPage(是否能使用Exception對(duì)象),isELIgnored(是否忽略表達(dá)式)
<%@includefile="filename"%>
<%(3)taglibprefix="c"uri="http:〃"%>
41、JSP和Servlet有哪些相同點(diǎn)和不同點(diǎn),他們之間的聯(lián)系是什么?
JSP是Servlet技術(shù)的擴(kuò)展,本質(zhì)上是Servlet的簡易方式,更強(qiáng)調(diào)應(yīng)用的外表表達(dá)。JSP編譯后是"類servlet"□Servlet
和JSP最主要的不同點(diǎn)在于,Servlet的應(yīng)用邏輯是在Java文件中,并且完全從表示層中的HTML里分離開來。
而JSP的情況是Java和HTML可以組合成一個(gè)擴(kuò)展名為.jsp的文件。JSP側(cè)重于視圖,Servlet主要用于控制邏
輯。
42、四種會(huì)話跟蹤技術(shù)
會(huì)話作用域ServletsJSP頁面描述
page是代表與一個(gè)頁面相關(guān)的對(duì)象和屬性。一個(gè)頁面由一個(gè)編譯好的Javaservlet類(可以帶有任何的include
指令,但是沒有include動(dòng)作)表示。這既包括servlet又包括被編譯成servlet的JSP頁面
request是代表與Web客戶機(jī)發(fā)出的一個(gè)請(qǐng)求相關(guān)的對(duì)象和屬性。一個(gè)請(qǐng)求可能跨越多個(gè)頁面,涉及多個(gè)Web
組件(由于forward指令和include動(dòng)作的關(guān)系)
session是代表與用于某個(gè)Web客戶機(jī)的一個(gè)用戶體驗(yàn)相關(guān)的對(duì)象和屬性。一個(gè)Web會(huì)話可以也經(jīng)常會(huì)跨越多
個(gè)客戶機(jī)請(qǐng)求
application是代表與整個(gè)Web應(yīng)用程序相關(guān)的對(duì)象和屬性。這實(shí)質(zhì)上是跨越整個(gè)Web應(yīng)用程序,包括多個(gè)頁
面、請(qǐng)求和會(huì)話的一個(gè)全局作用域
43、根據(jù)JSP的生命周期完成下面表格
請(qǐng)求請(qǐng)求請(qǐng)求請(qǐng)求請(qǐng)求請(qǐng)求
#1#2#3#4#5#6
JSP頁面YesNoNoNoYesNo
轉(zhuǎn)換成servlet
servletttvlYesNoNoNoYesNo
頁
創(chuàng)建servlet實(shí)例YesNoYesNoYesNo
并栽入服務(wù)同
的內(nèi)存8
init(域類似的YesNoYesNoYesNo
函數(shù))被調(diào)用
doGet(或類似YesYesYesYesYesYes
的函數(shù))被調(diào)用
jdbc
1JDBC連接數(shù)據(jù)庫6步
1.LoadtheJDBCDriver
2.EstablishtheDatabaseConnection
3.CreateaStatementObject
4.ExecuteaQuery
5.ProcesstheResults
6.ClosetheConnection
2事務(wù)的4大特性
答:原子性A,一致性C,隔離性I,永久性D
3.selectcount(*)fromstudent和selectcount(id)fromstudent之間的區(qū)別。
答案:
selectcount(*)統(tǒng)計(jì)所有學(xué)生的記錄個(gè)數(shù),包括空記錄。
Selectcount(Id)統(tǒng)計(jì)所有學(xué)生的記錄個(gè)數(shù),不包括null記錄。
4假設(shè)現(xiàn)在有表system.tablel,表中有三個(gè)字段:id(數(shù)值型)、name(字符型)、age(數(shù)值型)寫出SQL語句
完成如下功能:在表中查出年齡大于20,且名字以“王”開頭的記錄,并且按照年齡的倒敘排列出來(年齡大的
在前面)。
答案:
Select*fromsystem.table1whereage>20andnamelike'王%'orderbyageDESC;
5.創(chuàng)建CUSTOMERS表,字段為:ID:(非空,主鍵)bigint,NAME:(非空)varchar,AGE:int類型;創(chuàng)
建ORDERS表,字段為:ID:(非空,主鍵,)bigint,ORDER_NUMBER:(非空)varchar,PRICE:double,
CUSTOMERJD:(外鍵)bigint,設(shè)置級(jí)連刪除;
答案:createtableCUSTOMBERS(
IDbigintnotnull,
NAMEvarchar(15),
AGEint,
primarykey(ID)
);
createtableORDERS(
IDbigintnotnull,
ORDER_NUMBERvarchar(15)notnulll,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024固體廢棄物填埋場土方封場合同
- 個(gè)人軟件銷售合同范例
- 2024年度煤礦智能化改造合同
- 賣手機(jī)合同范例
- 商品買賣售后合同范例
- 廚房餐具購銷合同模板
- 園林地面鋪設(shè)合同范例
- it 兼職合同范例
- 買賣無證房合同范例
- 外貿(mào)訂單合同范例英文
- 2024江蘇省沿海開發(fā)集團(tuán)限公司招聘23人高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 2024年計(jì)算機(jī)二級(jí)WPS考試題庫380題(含答案)
- 22G101三維彩色立體圖集
- 大學(xué)生安全文化智慧樹知到期末考試答案章節(jié)答案2024年中南大學(xué)
- 建筑施工安全生產(chǎn)治本攻堅(jiān)三年行動(dòng)方案(2024-2026年)
- 人教版小學(xué)英語單詞表(完整版)
- DL-T 1476-2023 電力安全工器具預(yù)防性試驗(yàn)規(guī)程
- 《短視頻拍攝與制作》課件-3短視頻拍攝的三大技巧
- 【川教版】《生命 生態(tài) 安全》四上第11課《預(yù)防流感》課件
- 2024年江蘇江南水務(wù)股份有限公司招聘筆試參考題庫附帶答案詳解
- 用友華表伙伴商務(wù)手冊(cè).
評(píng)論
0/150
提交評(píng)論