freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計(jì)算機(jī)類面試專業(yè)問(wèn)題(文件)

 

【正文】 del 1架構(gòu)。輯的。 u vamp。Model 1和MVC架 j/bxs0i 果JSP頁(yè)面需要來(lái)自任何其它應(yīng)用程序組件的服務(wù),如一個(gè)數(shù)據(jù)庫(kù),那么你就從頁(yè)面做適當(dāng)?shù)恼{(diào)用,把 RA9LNuX IKC5E^kI! 層(控制器)。這就意味著,servlet控制輸入的請(qǐng)求和輸出的回應(yīng)。商業(yè)邏輯體現(xiàn)了MVC架構(gòu)中的模式。查詢,servlet就將這個(gè)請(qǐng)求傳送到一個(gè)SQL調(diào)用或類似的數(shù)據(jù)庫(kù)代碼。位的全部原因。它提供輸入并顯示結(jié)果。 H|) D?) 結(jié)果很理想,在JSP頁(yè)面上沒(méi)有 : DEThv 第二點(diǎn),控制器servlet做頁(yè)面上的所有的決定。這就提高了一個(gè)應(yīng)用程序的性能和可擴(kuò)展性,因?yàn)檎?qǐng)求可以被導(dǎo)向 2~`ssYy!s m]I ,g 當(dāng)頁(yè)面導(dǎo)航相對(duì)來(lái)說(shuō)比較簡(jiǎn)單和固定,而且應(yīng)用程序中 BD3H,i$Vx (JSP中出現(xiàn)forward()就告訴你,在該頁(yè)中有嵌入的邏輯,讓你 Ext,xA]f{ vBDXK/hU 簡(jiǎn)單的JSP架構(gòu),隨著你的需求的增加,你會(huì)發(fā)現(xiàn)維護(hù)起來(lái)太復(fù)雜或太難了。 OnPM。應(yīng)用程序變得難以維護(hù),因?yàn)轫?yè)面流動(dòng) `R.s$)h /k|NpQ k 本元素,定制標(biāo)記或JavaScript來(lái)執(zhí)行一個(gè)forward()操作時(shí),你可能想調(diào)整你最初的設(shè)計(jì),變成一種 :!{Bg)PZ $FFS 你的代碼變得難以理解、修改和調(diào)試時(shí),你通常就開(kāi)始考慮調(diào)整了。技術(shù)方面的信息,請(qǐng)?jiān)L問(wèn)Martin 或者閱讀他寫(xiě)的書(shū) a~=oTY 在許多情況下,一開(kāi)始就選擇MVC架構(gòu)是很有意義的,例如你的應(yīng)用程序是為廣泛的企業(yè)應(yīng)用而設(shè)計(jì) pQ)M39。 %V}H39。首先進(jìn)行一個(gè)完整的設(shè)計(jì)。 該設(shè)計(jì)的關(guān)鍵就   6[ 面臨的挑戰(zhàn)就是構(gòu)建一個(gè)servlet,它接收請(qǐng)求并把那些請(qǐng)求分到應(yīng)用程序的不同的組件。v_q0!s*Y n 了MVC,并包括一個(gè)控制器servlet、一組JSP頁(yè)面和應(yīng)用程序的商業(yè)邏輯。6Q[lU}/ 轉(zhuǎn)換成應(yīng)用程序的動(dòng)作。一旦Action對(duì)象完成了一個(gè)任 c.gy`k% 位于methods和scopes之內(nèi)的inner classes(內(nèi)隱類) 你可以將inner classes置于函數(shù)之內(nèi)或甚至置于任意程序范疇(scope)之內(nèi)。 4. 一個(gè)匿名class,擴(kuò)充某個(gè)“擁有nondefault構(gòu)造函數(shù)”之class。 匿名(anonymous)inner class 當(dāng)base class需要一個(gè)帶有引數(shù)的構(gòu)造函數(shù)時(shí),只要將適當(dāng)引數(shù)傳入base class構(gòu)造函數(shù)種。 static inner class(靜態(tài)內(nèi)隱類) 如果你不需要inner class對(duì)象和enclosing class對(duì)象之間的連接關(guān)系,你可以將inner class聲明為static。 2. 你無(wú)法在static inner class對(duì)象中訪問(wèn)enclosing實(shí)例成員。 如果你想直接產(chǎn)生inner class對(duì)象,你不能像你所想象地在new表達(dá)式中使用outer class的名稱,你必須使用outer class的實(shí)例來(lái)產(chǎn)生inner class對(duì)象。 從多層嵌套class向外伸展觸角 無(wú)論inner class被嵌套置放的層次有多深,其所有outer classes的成員都可以被它訪問(wèn)。 } } InheritInner繼承的是inner class而非outer class。如果inner class沒(méi)有名稱,編譯器會(huì)自動(dòng)產(chǎn)生數(shù)字,做為inner class的標(biāo)識(shí)符。 如果少了inner class所提供的“繼承自多個(gè)具象(concrete)或抽象(abstract)類”的能力,設(shè)計(jì)上和編程上的某些問(wèn)題會(huì)變得十分棘手。 通過(guò)inner classes,你可以擁有下列幾個(gè)額外性質(zhì): 1. inner class可以擁有多份實(shí)體(instances),每個(gè)實(shí)體都擁有專屬的狀態(tài)信息(state information),而這些信息和outer class對(duì)象的信息是相互獨(dú)立的。 Closures(終結(jié))和Callbacks(回調(diào)) 所謂closure是一種可被調(diào)用的對(duì)象,它會(huì)記錄一些信息,這些信息來(lái)自它的產(chǎn)生地所在的程序范疇(scope)。 Inner classes和control frameworks 所謂application framework,是一組“被設(shè)計(jì)用來(lái)解決特定某種問(wèn)題”的classes。一個(gè)系統(tǒng)如果主要工作在于回應(yīng)諸般事件,我們稱為“事件驅(qū)動(dòng)系統(tǒng)(eventdrivensystem)”。B、內(nèi)部類不能用普通的方式訪問(wèn)。 編譯上述代碼會(huì)產(chǎn)生兩個(gè)文件:$。 classivoidnewInner{public事實(shí)上,如果不創(chuàng)建外部類對(duì)象也就不可能調(diào)用makeInner()方法,所以到頭來(lái)還是要?jiǎng)?chuàng)建外部類對(duì)象的。沒(méi)能跳出那條規(guī)則!但是如果在這個(gè)靜態(tài)方法中實(shí)例化一個(gè)外部類對(duì)象,再用這個(gè)對(duì)象實(shí)例化外部類呢?完全可以!也就是下一條的內(nèi)容。 public static void main(String[] args) { C、內(nèi)部類的this引用。 class Inner{ } 可用的修飾符有:final、abstract、public、private、protected、strictfp和static。 }B、方法內(nèi)部類對(duì)象不能使用該內(nèi)部類所在方法的非final局部變量。正因?yàn)椴荒鼙WC局部變量的存活期和方法內(nèi)部類對(duì)象的一樣長(zhǎng),所以內(nèi)部類對(duì)象不能使用它們。class Outer { (a)。 public static void main(String[] args) { 可以用于修飾方法內(nèi)部類的只有final和abstract。顧名思義,沒(méi)有名字的內(nèi)部類。 public void drive(){ } class Car {A、繼承式的匿名內(nèi)部類。靜態(tài)方法是沒(méi)有this引用的,因此在靜態(tài)方法內(nèi)的內(nèi)部類遭受同樣的待遇,即:只能訪問(wèn)外部類的靜態(tài)成員。}C、方法內(nèi)部類的修飾符。} } } public void doSomething(){ 當(dāng)一個(gè)方法結(jié)束,其棧結(jié)構(gòu)被刪除,局部變量成為歷史。 } public void seeOuter(){ class Inner{ 方法內(nèi)部類。對(duì)于普通的類,可用的修飾符有final、abstract、strictfp、public和默認(rèn)的包訪問(wèn)。} ()。 class Outer {但是假若內(nèi)部類想引用外部類當(dāng)前的對(duì)象呢?用“外部類名”.this;的形式,。對(duì)比一下:在外部類的非靜態(tài)方法中實(shí)例化內(nèi)部類對(duì)象是普通的new方式:Inner in = new Inner()。} class Inner{ 這樣不創(chuàng)建外部類就可以實(shí)例化外部類了!但是在一個(gè)靜態(tài)方法里能訪問(wèn)非靜態(tài)成員和方法嗎?顯然不能。(i)。seeOuter(){()。in10。private{ } 成員內(nèi)部類:形式如下內(nèi)部類分為成員內(nèi)部類、靜態(tài)嵌套類、方法內(nèi)部類、匿名內(nèi)部類。通過(guò)被覆寫(xiě)的函數(shù)內(nèi)的新版程序代碼,便可將application framework所提供的通用解法特殊化,針對(duì)性地解決你的特定問(wèn)題。比起指針來(lái)說(shuō),不僅更具有彈性,而且安全許多。 3. 產(chǎn)生inner class對(duì)象的時(shí)間點(diǎn),不見(jiàn)得必須和產(chǎn)生outer class對(duì)象同時(shí)。interface能夠解決其中一部分問(wèn)題,但inner classes才能有效而實(shí)際地允許“多重實(shí)現(xiàn)繼承(multiple implementation)”。 為什么需要inner classes? 關(guān)于inner classes的存在,最讓人信服的理由是: 每個(gè)inner class都能夠各自繼承某一實(shí)現(xiàn)類(implementation)。 inner classes可被覆寫(xiě)么嗎? 我們能否把inner class視為outer class的一個(gè)函數(shù)一樣,覆寫(xiě)inner class呢? 不能的。問(wèn)題出在“指向outer class對(duì)象”的那個(gè)神秘的reference必須被初始化,但derived class之內(nèi)不存有可連接的缺省對(duì)象。這是因?yàn)閕nner class對(duì)象會(huì)被暗中連接到某個(gè)outer class對(duì)象上,后者即該inner class對(duì)象的制造者。這是因?yàn)閏lass既然被聲明為static,也就不會(huì)破壞interface的規(guī)則—static inner class只不過(guò)是被置于interface的命名空間中罷了。但是一旦你將inner class聲明為static,上述說(shuō)法就不成立。 同時(shí)通過(guò)實(shí)體初始化(instance initialization)你可以實(shí)際完成一個(gè)匿名inner class的建構(gòu)。 6. 一個(gè)匿名class,以實(shí)體(instance)初始化來(lái)執(zhí)行構(gòu)造動(dòng)作。 2. 定義于函數(shù)內(nèi)某一段范疇(scope)內(nèi)的class。它地方做回應(yīng)。要的其它信息。Struts構(gòu)架是圍繞一個(gè)ActionMapping 結(jié)構(gòu)的。把它們導(dǎo)向架構(gòu)中的其他對(duì)象。Struts提供了一個(gè)實(shí)現(xiàn)MVC架構(gòu)的高度自動(dòng)化的方式。Struts 構(gòu)架 8 6w6vB 庫(kù)請(qǐng)求傳送到一個(gè)數(shù)據(jù)庫(kù),或?qū)⒁粋€(gè)處理請(qǐng)求傳送到一個(gè)JavaBean是很容易的,但是如果一個(gè)請(qǐng)求包含 ZX{A/N(= 為MVC架構(gòu)設(shè)計(jì)應(yīng)用程序組件只是對(duì)你現(xiàn)在用JSP和servlets所做工作的擴(kuò)展。.nZ?]X 大多數(shù)程序員發(fā)現(xiàn)寫(xiě)邏輯腳本或JavaBeans,以及用HTML顯示很容易。的,或者在幾年內(nèi),你的應(yīng)用程序可能擴(kuò)展到一個(gè)相當(dāng)高的流量。 9O?]C M[ 可以簡(jiǎn)單地重新命名變量和方法,或者將部分代碼移植到不同類型的執(zhí)行模式中。它指的是以一種高度嚴(yán)謹(jǐn)?shù)姆绞街亟ùa結(jié)構(gòu)的一種技術(shù)。 。你也可以預(yù)先計(jì)劃將你的應(yīng)用程序從一個(gè)架構(gòu)移植到另一個(gè)架構(gòu)。從Model 1轉(zhuǎn)到MVC的最佳時(shí)機(jī)就是 caMSTHO ?= c 用程序做相對(duì)來(lái)說(shuō)較簡(jiǎn)單的修改,或者如果你經(jīng)常在你的代碼中發(fā)現(xiàn)bug,那么你的JSP導(dǎo)向的應(yīng)用程序 /YtN~E V 在一些情況下,你可能想把一個(gè)JSP應(yīng)用程序移植到MVC架構(gòu)中。)對(duì)于對(duì)流量或可擴(kuò)展性需求有限的靜態(tài)的應(yīng)用程序來(lái)說(shuō),標(biāo)準(zhǔn)的JSP模式仍 kS9%_6LG 這些應(yīng)用程序往往將 C\A|h 如你想象的那樣,它在準(zhǔn)備和編碼時(shí)往往很 :5M]jo)^ 運(yùn)用MVC架構(gòu) ?PJFE: +Ikxgy7X 這種分離的另一個(gè)好處是Java程序員可以專注 ( pWhcR$X 該架構(gòu)的優(yōu)勢(shì)應(yīng)該是很明顯的。任何腳本。( Q^5d 號(hào)的購(gòu)買(mǎi)請(qǐng)求,那么事物處理代碼就接管了。如果進(jìn)入servlet的請(qǐng)求是一個(gè)數(shù)據(jù)庫(kù) x7amp。PO iWU. MVC方法采用了JSP和servlet方法的最佳特性,使這兩種技術(shù)可以協(xié)同工作。你可以把一些代碼放到一個(gè)或多個(gè)JavaBean中,但是這 8lna_]F 在Model 1架構(gòu)中,請(qǐng)求通過(guò)JSP接收,主要通過(guò)JSP處理。KA=ZYnF pv= 9bsBHvWgN JSP技術(shù)上的幾個(gè)改進(jìn)。然而,因?yàn)镴SP頁(yè)面容易使用,所以它們成為用Java構(gòu)建動(dòng)態(tài)的Web應(yīng)用程序的首選方法。1 另一方面,JSP可以很容易地用于傳統(tǒng)的 okn!]0 Pages(JSP)和servlets。 發(fā)表時(shí)間:2002/12/03 08:48am IJxg /m_$Qj] HSRJCwj| ux7 Y {Rwr639。 MVC可以很好的表達(dá)用戶的交互和系統(tǒng)模式。167。 amp。 要點(diǎn) ((V39。圖 1 e Z( KaXpE C^or 。 Wo3_O/KpQ 模式必須處理由控制器傳遞過(guò)來(lái)的對(duì)數(shù)據(jù)的訪問(wèn)請(qǐng)求。 ,5({,z2 OCoNY[+ :p vx,WF Kq91 它可以分離數(shù)據(jù)訪問(wèn)和數(shù)據(jù)表現(xiàn)。 39。數(shù)據(jù)訪問(wèn)與現(xiàn)實(shí)將混淆在一起,可能會(huì)出現(xiàn)重復(fù)的數(shù)據(jù)訪問(wèn),導(dǎo)致整個(gè)開(kāi)發(fā)周期沒(méi)有必要的延長(zhǎng)。\$ TlFcw oJ 如果你肯接受MVC,并且有能力應(yīng)付它所帶來(lái)的額外的工作和復(fù)雜性,MVC將會(huì)使你的軟件在健壯性,代碼重用和結(jié)構(gòu)方面上一個(gè)新的臺(tái)階。s2Hd*Uq N[)Sp]m3 YVw39。你將不得不花費(fèi)相當(dāng)可觀的時(shí)間去考慮如何將MVC運(yùn)用到你的應(yīng)用程序,同時(shí)由于模型和視圖要嚴(yán)格的分離,這樣也給調(diào)試應(yīng)用程序到來(lái)了一定的困難。MVC的缺點(diǎn)是由于它沒(méi)有明確的定義,所以完全理解MVC并不是很容易。 一旦你正確的實(shí)現(xiàn)了模型,不管你的數(shù)據(jù)來(lái)自數(shù)據(jù)庫(kù)或是LDAP服務(wù)器,視圖將會(huì)正確的顯示它們。 w,k ( 9N Jq 首先,最重要的一點(diǎn)是多個(gè)視圖能共享一個(gè)模型,正如我所提及的,現(xiàn)在需要用越來(lái)越多的方式來(lái)訪問(wèn)你的應(yīng)用程序。盡管構(gòu)造MVC應(yīng)用程序需要一些額外的工作,但是它給我們帶來(lái)的好處是無(wú)庸質(zhì)疑的。大部分Web應(yīng)用程序都是用像ASP,PHP,或者
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1