![{za}設(shè)計(jì)模式面試題507_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/72754d4c-9dc1-4351-9d41-830c61ac2fe2/72754d4c-9dc1-4351-9d41-830c61ac2fe21.gif)
![{za}設(shè)計(jì)模式面試題507_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/72754d4c-9dc1-4351-9d41-830c61ac2fe2/72754d4c-9dc1-4351-9d41-830c61ac2fe22.gif)
![{za}設(shè)計(jì)模式面試題507_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/72754d4c-9dc1-4351-9d41-830c61ac2fe2/72754d4c-9dc1-4351-9d41-830c61ac2fe23.gif)
![{za}設(shè)計(jì)模式面試題507_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/72754d4c-9dc1-4351-9d41-830c61ac2fe2/72754d4c-9dc1-4351-9d41-830c61ac2fe24.gif)
![{za}設(shè)計(jì)模式面試題507_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/72754d4c-9dc1-4351-9d41-830c61ac2fe2/72754d4c-9dc1-4351-9d41-830c61ac2fe25.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、設(shè)計(jì)模式6大原則1、開閉原則(OpenClosePrinciple)開閉原則就是說對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉。在程序需要進(jìn)行拓展的時(shí)候,不能去修改原有的代碼,實(shí)現(xiàn)一個(gè)熱插拔的效果。所以一句話概括就是:為了使程序的擴(kuò)展性好,易于維護(hù)和升級(jí)。想要達(dá)到這樣的效果,我們需要使用接口和抽象類,后面的具體設(shè)計(jì)中我們會(huì)提到這點(diǎn)。.2、里氏代換原則(LiskovSubstitutionPrinciple)里氏代換原則(LiskovSubstitutionPrincipleLSP)面向?qū)ο笤O(shè)計(jì)的基本原則之一。里氏代換原則中說,任何基類可以出現(xiàn)的地方,子類一定可以出現(xiàn)。LSP是繼承復(fù)用的基石,只有當(dāng)衍生類可以替換掉基
2、類,軟件單位的功能不受到影響時(shí),基類才能真正被復(fù)用,而衍生類也能夠在基類的基礎(chǔ)上增加新的行為。里氏代換原則是對(duì)“開-閉”原則的補(bǔ)充。實(shí)現(xiàn)“開-閉”原則的關(guān)鍵步驟就是抽象化。而基類與子類的繼承關(guān)系就是抽象化的具體實(shí)現(xiàn),所以里氏代換原則是對(duì)實(shí)現(xiàn)抽象化的具體步驟的規(guī)范。FromBaidu百科.3、依賴倒轉(zhuǎn)原則(DependenceInversionPrinciple)這個(gè)是開閉原則的基礎(chǔ),具體內(nèi)容:真對(duì)接口編程,依賴于抽象而不依賴于具體。4、接口隔離原則(InterfaceSegregationPrinciple)這個(gè)原則的意思是:使用多個(gè)隔離的接口,比使用單個(gè)接口要好。還是一個(gè)降低類之間的耦合度的
3、意思,從這兒我們看出,其實(shí)設(shè)計(jì)模式就是一個(gè)軟件的設(shè)計(jì)思想,從大型軟件架構(gòu)出發(fā),為了升級(jí)和維護(hù)方便。所以上文中多次出現(xiàn):降低依賴,降低耦合。.5、迪米特法則(最少知道原則)(DemeterPrinciple)為什么叫最少知道原則,就是說:一個(gè)實(shí)體應(yīng)當(dāng)盡量少的與其他實(shí)體之間發(fā)生相互作用,使得系統(tǒng)功能模塊相對(duì)獨(dú)立。.6、合成復(fù)用原則(CompositeReusePrinciple)原則是盡量使用合成/聚合的方式,而不是使用繼承。1、寫出常用的設(shè)計(jì)模式,如單例、工廠、裝飾者、觀察者等模式,分別推薦他們運(yùn)用的場(chǎng)景2、關(guān)于標(biāo)準(zhǔn)的JDK庫(kù)中使用的一些設(shè)計(jì)模式Decorator設(shè)計(jì)模式常被用于各種JavaIO
4、類中Singleton模式常被用在運(yùn)行環(huán)節(jié)中,Calendar以及各種其他類Factory(工廠)模式常被用于各種不可變類,比如Boolean。Boolean.valueOfObserver模式常被用于Swing和許多事件監(jiān)聽器框架中。3. 在Java中Singleton設(shè)計(jì)模式是什么?為線程安全Singleton編碼。Singleton模式在整個(gè)系統(tǒng)中主要是共享模式。在整個(gè)應(yīng)用程序?qū)嵗兄槐3忠粋€(gè)特定的類,這是由所以模塊共享決定的。Java.lang.Runtime是Singleton設(shè)計(jì)模式中一個(gè)典型范例。從Java5版本開始,你可以為安全線程singleton模式使用enum.4. 舉例
5、說明你什么時(shí)候會(huì)用抽象類,什么時(shí)候更愿意使用接口?抽象類是一種模板,而接口是一種規(guī)范在Java中,你只能繼承一個(gè)類,但實(shí)現(xiàn)多個(gè)接口。所以你繼承一個(gè)類的時(shí)候就無法再繼承別的類了。接口是用來代表形容詞或行為,例如Runnable、Clonable、Serializable等。因此,如果您使用一個(gè)抽象類來實(shí)現(xiàn)Runnable和Clonacle,你就不可以使你的類同時(shí)實(shí)現(xiàn)這兩個(gè)功能,而如果接口的話就沒問題。.抽象類是比接口稍快,所以很在乎進(jìn)度的應(yīng)用盡量使用抽象類。如果多個(gè)繼承層次的共同行為在在同一個(gè)地方編寫更好,那么抽象類會(huì)是更好的選擇。有時(shí)候可以在接口里定義函數(shù)但是在抽象類里默認(rèn)功能就能實(shí)現(xiàn)接口和抽
6、象類共同工作了。.java設(shè)計(jì)模式面試題一、你對(duì)MVC的理解,MVC有什么優(yōu)缺點(diǎn)?結(jié)合Struts,說明在一個(gè)Web應(yīng)用如何去使.用?答:MVC設(shè)計(jì)模式(應(yīng)用觀察者模式的框架模式)M:Model(Businessprocesslayer),模型,制作數(shù)據(jù)的業(yè)務(wù)處理層,并獨(dú)立于表現(xiàn)層(Independent.ofpresentation)。V:View(Presentationlayer),視圖,通過客戶端數(shù)據(jù)類型顯示數(shù)據(jù),并回顯模型層的執(zhí)行結(jié)果。.C:Controller(Controllayer),控制器,也就是視圖層和模型層橋梁,控制數(shù)據(jù)的流向,接受視圖層發(fā)出的事件,并重繪視圖MVC框架的
7、一種實(shí)現(xiàn)模型模型二(Servlet-centric):JSPServletJavaBean,以控制為核心,JSP只負(fù)責(zé)顯示和收集數(shù)據(jù),Sevlet,連接視圖和模.型,將視圖層數(shù)據(jù),發(fā)送給模型層,JavaBean,分為業(yè)務(wù)類和數(shù)據(jù)實(shí)體,業(yè)務(wù)類處理業(yè)務(wù)數(shù)據(jù),數(shù)據(jù)實(shí)體,承載數(shù)據(jù),基本上大多數(shù)的項(xiàng)目都是使用這種MVC的實(shí)現(xiàn)模式。StrutsMVC框架(Webapplicationframeworks)Struts是使用MVC的實(shí)現(xiàn)模式二來實(shí)現(xiàn)的,也就是以控制器為核心。Struts提供了一些組件使用MVC開發(fā)應(yīng)用程序:Model:Struts沒有提供model類。這個(gè)商業(yè)邏輯必須由Web應(yīng)用程序的開發(fā)者
8、以JavaBean.或EJB的形式提供View:Struts提供了actionform創(chuàng)建formbean,用于在controller和view間傳輸數(shù)據(jù)。此外,.Struts提供了自定義JSP標(biāo)簽庫(kù),輔助開發(fā)者用JSP創(chuàng)建交互式的以表單為基礎(chǔ)的應(yīng)用程序,.應(yīng)用程序資源文件保留了一些文本常量和不對(duì)消息,可轉(zhuǎn)變?yōu)槠渌Z言,可用于JSP中。Controller:Struts提供了一個(gè)核心的控制器ActionServlet,通過這個(gè)核心的控制器來調(diào)用其.他用戶注冊(cè)了的自定義的控制器Action,自定義Action需要符合Struts的自定義Action規(guī).范,還需要在struts-config.xm
9、l的特定配置文件中進(jìn)行配置,接收J(rèn)SP輸入字段形成Actionform,然后調(diào)用一個(gè)Action控制器。Action控制器中提供了model的邏輯接口。.二、什么是WebService?答:WebService是一個(gè)SOA(面向服務(wù)的編程)的架構(gòu),它是不依賴于語言,不依賴于平臺(tái),可以實(shí)現(xiàn)不同的語言間的相互調(diào)用,通過Internet進(jìn)行基于Http協(xié)議的網(wǎng)絡(luò)應(yīng)用間的交互。WebService實(shí)現(xiàn)不同語言間的調(diào)用,是依托于一個(gè)標(biāo)準(zhǔn),webservice是需要遵守WSDL.(web服務(wù)定義語言)/SOAP(簡(jiǎn)單請(qǐng)求協(xié)議)規(guī)范的。WebService=WSDLSOAPUDD(Iwebservice的注
10、冊(cè))Soap是由Soap的part和0個(gè)或多個(gè)附件組成,一般只有part,在part中有Envelope和.Body。WebService是通過提供標(biāo)準(zhǔn)的協(xié)議和接口,可以讓不同的程序集成的一種SOA架構(gòu)。第2頁(yè)共10頁(yè).WebService的優(yōu)點(diǎn)(1) 可以讓異構(gòu)的程序相互訪問(跨平臺(tái))(2) 松耦合(3) 基于標(biāo)準(zhǔn)協(xié)議(通用語言,允許其他程序訪問)WebService的基本原理(1)ServiceProvider采用WSDL描述服務(wù)(2) ServiceProviderserver).(3) ServiceRequestor(4) Servicerequestor三、什么是中間件?采用UDD
11、I將服務(wù)的描述文件發(fā)布到UDDI服務(wù)器(Register在UDDI服務(wù)器上查詢并獲取WSDL文件將請(qǐng)求綁定到SOAP,并訪問相應(yīng)的服務(wù)。中間件就是程序中可織入的,可重用的,與業(yè)務(wù)邏輯無關(guān)的各種組件。中間件(middleware)是基礎(chǔ)軟件的一大類,屬于可復(fù)用軟件的范疇。顧名思義,中間件處于制作系統(tǒng)軟件與用戶的應(yīng)用軟件的中間。中間件在制作系統(tǒng)、網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)之上,應(yīng)用軟件的下層,總的作用是為處于自己上層的應(yīng)用軟件提供運(yùn)行與開發(fā)的環(huán)境,幫助用戶靈活、高效地開發(fā)和集成復(fù)雜的應(yīng)用軟件。在眾多關(guān)于中間件的定義中,比較普遍被接受的是IDC表述的:中間件是一種獨(dú)立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟
12、件在不同的技術(shù)之間共享資源,中間件位于客戶機(jī)服務(wù)器的制作系統(tǒng)之上,管理計(jì)算資源和網(wǎng)絡(luò)通信。分類:數(shù)據(jù)訪問中間件,遠(yuǎn)程調(diào)用中間件,消息中間件,交易中間件,對(duì)象中間件。舉例:1 ,RMI(RemoteMethodInvocations,遠(yuǎn)程調(diào)用)2 ,LoadBalancing(負(fù)載均衡,將訪問負(fù)荷分散到各個(gè)服務(wù)器中)3 ,TransparentFail-over(透明的故障切換)4 ,Clustering(集群,用多個(gè)小的服務(wù)器代替大型機(jī))5 ,Back-end-Integration(后端集成,用現(xiàn)有的、新開發(fā)的系統(tǒng)如何去集成遺留的系統(tǒng))6 ,Transaction事務(wù)(全局/局部)全局事務(wù)(
13、分布式事務(wù))局部事務(wù)(在同一數(shù)據(jù)庫(kù)聯(lián)內(nèi)的事務(wù))7 ,DynamicRedeployment(動(dòng)態(tài)重新部署,在不停止原系統(tǒng)的情況下,部署新的系統(tǒng))8 ,SystemManagement(系統(tǒng)管理)9 ,Threading(多線程處理)10 ,Message-orientedMiddleware面向消息的中間件(異步的調(diào)用編程)11 ,ComponentLifeCycle(組件的生命周期管理)12 ,Resourcepooling(資源池)13 ,Security(安全)14 ,Caching(緩存)四、什么是典型的軟件三層結(jié)構(gòu)?軟件設(shè)計(jì)為什么要分層?軟件分層有什么好處?答:(1)Presenta
14、tionlayer(表示層)(1) 表示邏輯(生成桌面代碼)(2) 接收請(qǐng)求(3) 處理業(yè)務(wù)層拋出的異常(4) 負(fù)責(zé)規(guī)則驗(yàn)證(數(shù)據(jù)格式,數(shù)據(jù)非空等)(5) 進(jìn)程安排控制第3頁(yè)共10頁(yè)(2)Servicelayer(服務(wù)層/業(yè)務(wù)層)(1) 封裝業(yè)務(wù)邏輯處理,并且對(duì)外暴露接口(2) 負(fù)責(zé)事務(wù),安全等服務(wù)(3) Persistencelayer(持久層)(1) 封裝數(shù)據(jù)訪問的邏輯,暴露接口(2) 提供方便的數(shù)據(jù)訪問的技術(shù)指導(dǎo)文件(查詢語言,API,映射機(jī)制等)Domainlayer(域?qū)樱?1) 業(yè)務(wù)對(duì)象以及業(yè)務(wù)關(guān)系的表示(2) 處理簡(jiǎn)單的業(yè)務(wù)邏輯(3) 域?qū)拥膶?duì)象可以穿越表示層,業(yè)務(wù)層,持久層軟件
15、分層結(jié)構(gòu)使得代碼維護(hù)非常方便,設(shè)計(jì)明確,各層獨(dú)立,專注自己擅長(zhǎng)的領(lǐng)域。五、什么是OOP?OOP相對(duì)于面向過程編程有哪些優(yōu)點(diǎn)?OOP,Object-OrientedProgramming,面向?qū)ο缶幊滩煌诿嫦蜻^程編程:.(1)OOP關(guān)注對(duì)象和角色,也就是事物的本質(zhì)1 )OOP把客觀世界中的對(duì)象抽象成對(duì)應(yīng)的類。2 )通過類構(gòu)造實(shí)例。3 )通過依賴、繼承、實(shí)現(xiàn)等形式建立對(duì)象間的通信關(guān)系4 2)OOP易于擴(kuò)展,增加或改變業(yè)務(wù)的功能,無需大幅改動(dòng)改變?cè)创a5 3)OOP易于建模,OOP就是軟件架構(gòu)師在計(jì)算機(jī)高級(jí)語言中對(duì)客觀世界的抽象和再現(xiàn),人們可以很好地理解和建立起計(jì)算機(jī)中的抽象模型六、談?wù)凮verl
16、oad和Override的區(qū)別。答:方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫Overriding.是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading是一個(gè)類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫(Overriding)。子類的對(duì)象使用這個(gè)方法時(shí),將調(diào)用子類中的定義,對(duì)它而言,父類中的定義如同被“屏蔽”了。如果在一個(gè)類中定義了多個(gè)同名的方法,它們或有不同的參數(shù)個(gè)數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。.七、談?wù)凥
17、ashMap和Hashtable的區(qū)別。答:HashMap是輕量級(jí)的(線程不安全的,效率高的)集合,Hashtable是重量級(jí)的(線程安全的,效率低的)集合。都屬于Map接口的類,實(shí)現(xiàn)了將惟一鍵映射到特定的值上。HashMap類沒有分類或者排序。它允許一個(gè)null鍵和多個(gè)null值。Hashtable類似于HashMap,但是不允許null鍵和null值。它也比HashMap慢,.因?yàn)樗峭降摹0?、?qǐng)問abstractclass和interface有什么區(qū)別?答:1) 接口沒有任何的實(shí)現(xiàn),而抽象類它可以有部分的實(shí)現(xiàn)也可以沒有;2) 如果需要復(fù)用或者共享部分代碼,應(yīng)該用抽象類而不是接口;3)
18、繼承無法解決類型的轉(zhuǎn)換問題,接口就是為了解決這一問題而產(chǎn)生的(Java的單繼第4頁(yè)共10頁(yè).承是接口產(chǎn)生的根本原因)接口是一種抽象的第三方規(guī)范,跟對(duì)象沒什么直接關(guān)系。九、請(qǐng)問軟件開發(fā)中的設(shè)計(jì)模式你會(huì)使用哪些?答:我熟悉的設(shè)計(jì)模式有單例模式,DAO模式,模板方法,工廠模式,委托代理模式,MVC模式等。Singleton模式主要作用是保證在Java應(yīng)用程序中,一個(gè)類Class只有一個(gè)實(shí)例存在。.Singleton模式一般形式:定義一個(gè)類,它的構(gòu)造函數(shù)為private的,它有一個(gè)static的private的該類變量,在類.初始化時(shí)實(shí)例話,通過一個(gè)public的getInstance方法獲取對(duì)它的引
19、用,繼而調(diào)用其中的方法。.十、類的核心特性有哪些?類具有封裝性、繼承性和多態(tài)性。封裝性:類的封裝性為類的成員提供公有、缺省、保護(hù)和私有等多級(jí)訪問權(quán)限,追求是隱藏類中的私有變量和類中方法的實(shí)現(xiàn)細(xì)節(jié)。繼承性:類的繼承性提供從已存在的類創(chuàng)建新類的機(jī)制,繼承(inheritance)使一個(gè)新類自動(dòng)擁有被繼承類(父類)的全部成員。多態(tài)性:類的多態(tài)性提供類中方法執(zhí)行的多樣性,多態(tài)性有兩種表現(xiàn)形式:重載和覆蓋。十一、請(qǐng)問類與對(duì)象有什么區(qū)別?類類就是某一種事物的一般性的集合體,是相同或相似的各個(gè)事物共同特性的一種抽象。對(duì)象在面向?qū)ο蟾拍钪?,?duì)象(Object)是類的實(shí)例(instance)。對(duì)象與類的關(guān)系就像
20、變量與數(shù)據(jù)類型的關(guān)系一樣。十二、寫出生產(chǎn)者消費(fèi)者模型的實(shí)現(xiàn)(參照OOA/D中老師的代碼)十三、用軟件工程和Java來敘述購(gòu)物車(shoppingcart)系統(tǒng)實(shí)現(xiàn)十四、文件系統(tǒng)的幾個(gè)類:FileInputStream、FileOutputStream、FileReader、FileWriter的區(qū)別.十五、請(qǐng)寫出JavaAPI中最常用的五個(gè)包,并且各舉兩個(gè)類加以說明。(查閱api)十六、請(qǐng)問你在“電信運(yùn)營(yíng)支撐系統(tǒng)”中遇到了哪些問題?你是怎么解決的?做這個(gè)項(xiàng)目你最大的收獲是什么?(自己結(jié)合自己的項(xiàng)目,做一下匯總報(bào)告,然后想想怎么去回答)十七、請(qǐng)說出幾個(gè)常用的異常類答:NullpointExcep
21、tion(空指針異常)ClassNotFoundException(類找不到異常)ClassCastException(類型轉(zhuǎn)換異常)IllegalArgumentException(非法參數(shù)異常)ArithmeticException(算術(shù)異常)NumberFormatException(數(shù)據(jù)格式異常)IndexOutOfBoundsException(數(shù)組下標(biāo)越界異常)IllegalStateException(非法語句異常)十八、什么是進(jìn)程和線程??jī)烧叩膮^(qū)別是什么?(經(jīng)常會(huì)被問道,查閱制作系統(tǒng)書,或問問陳老師)十九、請(qǐng)簡(jiǎn)要描述一下你做的ShoppingCart項(xiàng)目。(自己結(jié)合自己的項(xiàng)目,
22、做一下匯總報(bào)告,然后想第5頁(yè)共10頁(yè).想怎么去回答)二十、請(qǐng)問網(wǎng)絡(luò)7層協(xié)議,tcp/ip4層協(xié)議是什么?二十一、Java面向?qū)ο蟮乃拇筇攸c(diǎn)二十二、public,private,protected,default訪問權(quán)限(可見性).答:public:全局可見protected:繼承體系結(jié)構(gòu)之間可見default(或不寫):同包可見private:本類可見。二十三、名詞解釋CRMCustomerRelationshipManagement,客戶關(guān)系管理ERPEnterpriseResourcePlanning,企業(yè)資源規(guī)劃OSSOperationSupportSystem,運(yùn)營(yíng)支撐系統(tǒng)BSSBus
23、inessSupportSystem,數(shù)據(jù)定義語言BOSSBusinessOperationSupportSystem,數(shù)據(jù)定義語言O(shè)AOfficeAutomatization,辦公自動(dòng)化HTTPOOPSOAGUIDDLDataDefinitionLanguage,數(shù)據(jù)定義語言DMLDataManipulationLanguage,數(shù)據(jù)制作語言WYSIWYG所見即所得WhatYouSeeisWhatYouGetCMPCMTB2BC2CB2CIDEDOMClient/ServerCMMORMMISMVO6頁(yè)共10頁(yè)MVC是ModelViewController的簡(jiǎn)寫。"Model&qu
24、ot;代表的是應(yīng)用的業(yè)務(wù)邏輯(通過.JavaBean,EJB組件實(shí)現(xiàn)),"View"是應(yīng)用的表示面(由JSP頁(yè)面產(chǎn)生),"Controller"是.提供應(yīng)用的處理過程控制(一般是一個(gè)Servlet),通過這種設(shè)計(jì)模型把應(yīng)用邏輯,處理過程和顯示邏輯分成不同的組件實(shí)現(xiàn)。這些組件可以進(jìn)行交互和重用。OLECORBACORB即準(zhǔn)是公共對(duì)象請(qǐng)求代理結(jié)構(gòu)(CommonObjectRequestBrokerArchitecture),由又t.象管理組織(ObjectManagementGroup,縮寫為OMG)標(biāo)準(zhǔn)化。它的組成是接口定義語言(IDL),語言綁定(bin
25、ding:也譯為聯(lián)編)和允許應(yīng)用程序間互制作的協(xié)議。其追求為:.用不同的程序設(shè)計(jì)語言書寫在不同的進(jìn)程中運(yùn)行為不同的制作系統(tǒng)開發(fā)。UMLUML,標(biāo)準(zhǔn)建模語言,包含用例圖,靜態(tài)圖(包括類圖、對(duì)象圖和包圖),行為圖,交互圖(順序.圖,合作圖),實(shí)現(xiàn)圖等。XMLCMMIJREJ2EEJ2EE是Sun公司提出的多層(multi-diered),分布式(distributed),基于組件(componentbase).的企業(yè)級(jí)應(yīng)用模型(enterprieseapplicationmodel).在這樣的一個(gè)應(yīng)用系統(tǒng)中,可按照功能劃分.為不同的組件,這些組件又可在不同計(jì)算機(jī)上,并且處于相應(yīng)的層次(tier)中
26、。所屬層次包括客戶層(clietntier)組件,web層和組件,Business層和組件,企業(yè)信息系統(tǒng)(EIS)層。.JDKAOPOOContainerW3CJMSDomainPOJOJVMJNDIJTASOAPSimpleObjectAccessProtocol,簡(jiǎn)單對(duì)象訪問協(xié)議WSDLJDOJDO是Java對(duì)象持久化的新的規(guī)范,為JavaDataObject的簡(jiǎn)稱,也是一個(gè)用于存取某種數(shù).據(jù)倉(cāng)庫(kù)中的對(duì)象的標(biāo)準(zhǔn)化API。JDO提供了透明的對(duì)象存儲(chǔ),因此對(duì)開發(fā)人員來說,存儲(chǔ)數(shù)據(jù)對(duì)象完全不需要額外的代碼(如JDBCAPI的使用)。這些繁瑣的例行工作已經(jīng)轉(zhuǎn)移到JDO產(chǎn)品提供商身上,使開發(fā)人員解脫
27、出來,從而集中進(jìn)度和精力在業(yè)務(wù)邏輯上。另外,JDO很靈活,因?yàn)樗梢栽谌魏螖?shù)據(jù)底層上運(yùn)行。JDBC只是面向關(guān)系數(shù)據(jù)庫(kù)(RDBMS)JD(M通用,提供到任何數(shù)據(jù)底層的存儲(chǔ)功能,比如關(guān)系數(shù)據(jù)庫(kù)、文件、XML以及對(duì)象數(shù)據(jù)庫(kù)第7頁(yè)共10頁(yè).(ODBMS)等等,使得應(yīng)用可移植性更強(qiáng)。TDDDAOIoCInversionofControl,控制反轉(zhuǎn)RMIDNSInternetDomainNameSystem,因特網(wǎng)域名系統(tǒng)URLURI二十四、數(shù)據(jù)庫(kù)連接池的工作機(jī)制二十五、互聯(lián)網(wǎng)提供哪些服務(wù)?二十六、請(qǐng)寫出JSP的幾個(gè)隱含內(nèi)置對(duì)象答:JSP中隱含內(nèi)置對(duì)象名稱類型注釋和范圍requestjavax.servl
28、et.http.HttpServletRequestrequest.responsejavax.servlet.http.HttpServletResponseresponse.pagejavax.lang.ObjectpageExceptionjava.lang.ThrowablepagepageContextjavax.servlet.jsp.PageContextpagesessionjavax.servlet.http.HttpSessionsessionapplicationjavax.servlet.ServletContextServletContext.outjavax.ser
29、vlet.jsp.JspWriterOutputStreamconfigjavax.servlet.ServletConfigServletConfigJSP共有以下9種基本內(nèi)置組件(可與ASP的6種內(nèi)部組件相對(duì)應(yīng)):request用戶端請(qǐng)求,此請(qǐng)求會(huì)包含來自GET/POST請(qǐng)求的參數(shù)response網(wǎng)頁(yè)傳回用戶端的回應(yīng)pageJSP網(wǎng)頁(yè)本身exception針對(duì)不對(duì)網(wǎng)頁(yè),未捕捉的例外pageContext網(wǎng)頁(yè)的屬性是在這里管理session與請(qǐng)求有關(guān)的會(huì)話期applicationservlet正在執(zhí)行的內(nèi)容out用來傳送回應(yīng)的輸出configServlet的構(gòu)架部件二十七、請(qǐng)你談?wù)凷SH整合
30、答:SSH:Struts(表示層)Spring(業(yè)務(wù)層)Hibernate(持久層)Struts:Struts是一個(gè)表示層框架,主要作用是桌面展示,接收請(qǐng)求,分發(fā)請(qǐng)求。在MVC框架中,Struts屬于VC層次,負(fù)責(zé)桌面表現(xiàn),負(fù)責(zé)MVC關(guān)系的分發(fā)。(View:.沿用JSP,HTTP,F(xiàn)orm,Tag,Resourse。Controller:ActionServlet,struts-config.xml,Action).Hibernate:第8頁(yè)共10頁(yè)Hibernate是一個(gè)持久層框架,它只負(fù)責(zé)與關(guān)系數(shù)據(jù)庫(kù)的制作。Spring:Spring是一個(gè)業(yè)務(wù)層框架,是一個(gè)整合的框架,能夠很好地黏合表示層
31、與持久層。二十八、應(yīng)用服務(wù)器與WebServer的區(qū)別二十九、JavaServletAPI中forward()與redirect()的區(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()方法。三十、寫一個(gè)簡(jiǎn)單的C/S結(jié)構(gòu)程序,Java的通信編程,編程題(
32、或問答),用JAVASOCKE.T編程,讀服務(wù)器幾個(gè)字符,再寫入本地顯示?答:Server端程序:packagetest;.*;importjava.io.*;publicclassServerprivateServerSocketss;privateSocketsocket;privateBufferedReaderin;privatePrintWriterout;publicServer()tryss=newServerSocket(10000);while(true)socket=ss.accept();StringRemoteIP=socket.getInetAddress().get
33、HostAddress();StringRemotePort=":"socket.getLocalPort();System.out.println("Aclientcomein!IP:"RemoteIPRemotePort);in=newBufferedReader(newInputStreamReader(socket.getInputStream();Stringline=in.readLine();System.out.println("Cleintsendis:"line);out=newPrintWriter(socket
34、.getOutputStream(),true);.out.println("YourMessageReceived!");out.close();in.close();第9頁(yè)共10頁(yè)socket.close();catch(IOExceptione)out.println("wrong");publicstaticvoidmain(Stringargs)newServer();Client端程序:packagetest;importjava.io.*;.*;publicclassClientSocketsocket;BufferedReaderin;PrintWriterout;publicClient()trySystem.ou
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度健身中心營(yíng)養(yǎng)餐配送服務(wù)合同
- 2025年度新型電子產(chǎn)品分期購(gòu)銷合同
- 2025年度新能源儲(chǔ)能項(xiàng)目融資合同公證
- 2025年度紡織品購(gòu)銷合同范本(年度版)
- 2025年度二零二五年度酒店客房餐飲配送一體化服務(wù)合同
- 2025年度綠色建筑節(jié)能改造工程監(jiān)理合同-@-1
- 2025年度教育培訓(xùn)中心教室租賃合同附安全保障與應(yīng)急處理?xiàng)l款
- 2025年度婚慶場(chǎng)地租賃及布置服務(wù)合同
- 2025年度建筑工程泥工勞務(wù)工程進(jìn)度管理合同
- 2025年度擠塑板行業(yè)投資與合作開發(fā)合同
- 2025年買賣個(gè)人房屋合同(4篇)
- 2025代運(yùn)營(yíng)合同范本
- 武漢2025年湖北武漢理工大學(xué)管理人員招聘筆試歷年參考題庫(kù)附帶答案詳解
- 第十一章《功和機(jī)械能》達(dá)標(biāo)測(cè)試卷(含答案)2024-2025學(xué)年度人教版物理八年級(jí)下冊(cè)
- 2025年銷售部年度工作計(jì)劃
- 使用錯(cuò)誤評(píng)估報(bào)告(可用性工程)模版
- 2024年高考全國(guó)甲卷英語試卷(含答案)
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)附答案
- 2024年4月浙江省00015英語二試題及答案含評(píng)分參考
- 社區(qū)精神康復(fù)課件
評(píng)論
0/150
提交評(píng)論