《HTML教程》-第4部分 綜合案例_第1頁(yè)
《HTML教程》-第4部分 綜合案例_第2頁(yè)
《HTML教程》-第4部分 綜合案例_第3頁(yè)
《HTML教程》-第4部分 綜合案例_第4頁(yè)
《HTML教程》-第4部分 綜合案例_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論