版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第12章學(xué)生選課(系統(tǒng))的設(shè)計(jì)與實(shí)現(xiàn)
本章導(dǎo)讀◆JavaWeb項(xiàng)目的構(gòu)建?!鬗VC開(kāi)發(fā)模型。
◆項(xiàng)目框架的概念及搭建。
◆項(xiàng)目功能的實(shí)現(xiàn)過(guò)程(登錄和選課)。Ajax技術(shù)是Web前端開(kāi)發(fā)技術(shù),對(duì)后端(服務(wù)器)沒(méi)有任何“特殊”要求——只要服務(wù)器可以接收HTTP請(qǐng)求,并返回字符串、JSON、XML或者二進(jìn)制格式的數(shù)據(jù)即可。所以Ajax技術(shù)的服務(wù)器端可以是ASP.NET、PHP或者JSP,或者其他服務(wù)器端腳本語(yǔ)言。這也是Ajax技術(shù)的一大優(yōu)勢(shì)——“跨服務(wù)器”的適應(yīng)性,本章以JSP或者說(shuō)JavaWeb為服務(wù)器端,編寫(xiě)Ajax應(yīng)用程序。如果你對(duì)JavaWeb或者JSP技術(shù)不熟悉的話(huà),完全可以把項(xiàng)目中的邏輯轉(zhuǎn)換成其他的服務(wù)器端語(yǔ)言,或者只進(jìn)行前端的設(shè)計(jì)學(xué)習(xí),服務(wù)器端采用隨書(shū)源代碼,只需要簡(jiǎn)單的把實(shí)例項(xiàng)目部署到Tomcat(或其他JavaWeb服務(wù)器)上就可以運(yùn)行了。為了講述上的方便,我們對(duì)實(shí)例進(jìn)行了簡(jiǎn)化,主要體現(xiàn)在以下方面:
◆數(shù)據(jù)庫(kù)的簡(jiǎn)化——只保留了了關(guān)鍵的字段;簡(jiǎn)化了表的數(shù)量,只保留能說(shuō)明問(wèn)題的基本表;簡(jiǎn)化了表之間的關(guān)系;
◆不采用日志——由于只是一個(gè)教學(xué)示例項(xiàng)目,不用于實(shí)際,所以沒(méi)有采用日志功能。
◆數(shù)據(jù)庫(kù)連接采用直接連接的方法,而沒(méi)有采用數(shù)據(jù)庫(kù)連接池。除了以上簡(jiǎn)化之外,都與實(shí)際項(xiàng)目開(kāi)發(fā)過(guò)程是相同的。項(xiàng)目完成的功能很簡(jiǎn)單,學(xué)生以自己的學(xué)號(hào)和密碼登錄,登錄成功后可以選擇課程,并予以保存,還可以查看自己的選課情況,刪除不需要的課程。就這么一個(gè)簡(jiǎn)單的功能,就可以反映Ajax的增刪查改的操作及結(jié)果處理方法。實(shí)際復(fù)雜的項(xiàng)目無(wú)非就是這些操作非常多而已,沒(méi)有本質(zhì)上的差別。12.1創(chuàng)建JavaWeb項(xiàng)目
在Eclipse中新建JavaWeb項(xiàng)目過(guò)程如附錄A2.1所示。新建的示例項(xiàng)目AjaxSyn如圖所示。12.2搭建JavaWeb開(kāi)發(fā)框架框架就是指一個(gè)項(xiàng)目最基本的結(jié)構(gòu)。它包括項(xiàng)目的基本結(jié)構(gòu)和一些基礎(chǔ)功能?;A(chǔ)功能就是在項(xiàng)目開(kāi)發(fā)中反復(fù)使用的那些功能,這些功能是項(xiàng)目中經(jīng)常使用,所以要作為框架的一部分,供開(kāi)發(fā)過(guò)程復(fù)用。這里采用MVC開(kāi)發(fā)模型,即把項(xiàng)目分為三個(gè)基本的部分:
模型、視圖和控制器。
模型主要實(shí)現(xiàn)項(xiàng)目中的業(yè)務(wù)邏輯處理;視圖主要用于收集用戶(hù)數(shù)據(jù)或顯示處理結(jié)果,也就是與用戶(hù)交互;控制器主要負(fù)責(zé)接收用戶(hù)的請(qǐng)求,調(diào)用相應(yīng)的模型功能,完成用戶(hù)請(qǐng)求的處理,并通知相應(yīng)的視圖顯示處理結(jié)果。其結(jié)構(gòu)圖如圖12-2[32]所示。MVC模型結(jié)構(gòu)的優(yōu)點(diǎn)
◆低耦合,高內(nèi)聚——各組成部分(或稱(chēng)為組件)之間只通過(guò)規(guī)定的接口進(jìn)行交互,各自完成自身的功能。所以,一個(gè)部分的改變不會(huì)影響到其他部分,降低了軟件的耦合程度。
◆可重用性好——各功能封裝在不同的組件中,功能完全可以重復(fù)使用。只要符合組件的接口定義,就可實(shí)現(xiàn)功能的重復(fù)使用。
◆生命周期成本低——MVC使得開(kāi)發(fā)和維護(hù)用戶(hù)接口的技術(shù)含量降低。
◆部署快——使開(kāi)發(fā)人員只需要專(zhuān)注于屬性于自己的業(yè)務(wù)。如Java程序員集中于業(yè)務(wù)邏輯處理,前端開(kāi)發(fā)人員則只需專(zhuān)注于網(wǎng)頁(yè)前端(HTML、CSS和JavaScript/Ajax)的開(kāi)發(fā)。從而加快了軟件的開(kāi)發(fā)速度。
◆可維護(hù)性好——MVC使得各部分的組件相互獨(dú)立,對(duì)某一部分的修改不會(huì)影響到其他部分,提高了軟件的可維護(hù)性。
◆有利軟件工程化管理——MVC不同部分各司其職,各部分內(nèi)部的開(kāi)發(fā)都類(lèi)似/相同的特征,有利于通過(guò)工程化的方法管理程序代碼。MVC結(jié)構(gòu)模型反映在軟件架構(gòu)結(jié)構(gòu)中,就是N-層結(jié)構(gòu)模型。用得最多的就是4-層結(jié)構(gòu)模型,分別是:視圖層、控制層、業(yè)務(wù)邏輯層和數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)層(也稱(chēng)為DAO層)。下面分述如下:
◆視圖層——也就是HTML網(wǎng)頁(yè),是用戶(hù)查看結(jié)果、提交請(qǐng)求的地方。它位于圖12-6所示的WebContent目錄下。
◆控制層——按照邏輯相關(guān)的原則,實(shí)現(xiàn)類(lèi)似功能的類(lèi)都放在同一個(gè)包(Java組織類(lèi)的一種機(jī)制)中,在這里新建com.phoenix.servlet包(見(jiàn)附錄A2.2),把所有負(fù)責(zé)控制結(jié)構(gòu)的類(lèi)都存放在此包中。
◆業(yè)務(wù)邏輯層——與控制層類(lèi)似,新建com.phoenix.logic包存放實(shí)現(xiàn)業(yè)務(wù)邏輯的類(lèi)?!鬌AO層——也就是數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)層,新建com.phoenix.dao包存放實(shí)現(xiàn)數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)的類(lèi)。除上述3種Java類(lèi)(控制類(lèi)、業(yè)務(wù)邏輯類(lèi)和DAO類(lèi))之外,還有一種描述事物本身的類(lèi),它表示需要處理的一個(gè)具體事物,如學(xué)生、課程等。本來(lái)這樣的類(lèi)也應(yīng)該屬于業(yè)務(wù)邏輯的范疇,但與業(yè)務(wù)處理類(lèi)不同,它不需要支持任何操作(get和set操作
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 站牌安裝施工方案(3篇)
- 船廠打磨施工方案(3篇)
- 耕作便道施工方案(3篇)
- 解決方案成果匯報(bào)
- 2025年高職本科(移動(dòng)通信技術(shù))5G應(yīng)用開(kāi)發(fā)階段測(cè)試題及答案
- 2025年大學(xué)第四學(xué)年(計(jì)算機(jī)科學(xué)與技術(shù))人工智能應(yīng)用開(kāi)發(fā)試題及答案
- 2025年大學(xué)大四(歷史學(xué))史學(xué)史階段測(cè)試題及答案
- 2025年大學(xué)電機(jī)與電器(電機(jī)設(shè)計(jì)技術(shù))試題及答案
- 2025年中職(化學(xué)工藝)化工管路安裝測(cè)試題及解析
- 2025年高職材料成形技術(shù)(焊接工藝設(shè)計(jì))試題及答案
- 電纜局部放電試驗(yàn)報(bào)告模板
- 鸚鵡熱治療講課件
- 低碳-零碳產(chǎn)業(yè)園清潔能源供暖技術(shù)規(guī)范DB15-T 3994-2025
- 小學(xué)的思政教育
- 學(xué)術(shù)道德與學(xué)術(shù)規(guī)范嚴(yán)守誠(chéng)信底線(xiàn)共建優(yōu)良學(xué)風(fēng)培訓(xùn)課件
- 門(mén)診預(yù)約掛號(hào)流程
- 光伏防火培訓(xùn)課件
- 2025中學(xué)生國(guó)防教育
- 電視節(jié)目編導(dǎo)與制作(全套課件147P)
- 《海外并購(gòu)》課件
- 醫(yī)學(xué)預(yù)防科普
評(píng)論
0/150
提交評(píng)論