JAVA“網(wǎng)絡(luò)教學(xué)系統(tǒng)” 畢業(yè)論文_第1頁(yè)
JAVA“網(wǎng)絡(luò)教學(xué)系統(tǒng)” 畢業(yè)論文_第2頁(yè)
JAVA“網(wǎng)絡(luò)教學(xué)系統(tǒng)” 畢業(yè)論文_第3頁(yè)
JAVA“網(wǎng)絡(luò)教學(xué)系統(tǒng)” 畢業(yè)論文_第4頁(yè)
JAVA“網(wǎng)絡(luò)教學(xué)系統(tǒng)” 畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第一章 緒論1.1 開(kāi)發(fā)背景隨著網(wǎng)絡(luò)的普及,學(xué)校需要尋找新的學(xué)習(xí)模式。在線學(xué)習(xí)是一種新的教育形式。在線學(xué)習(xí)系統(tǒng)主要服務(wù)于學(xué)校內(nèi)的所有學(xué)生,為他們很好的提供更多元化的學(xué)習(xí)環(huán)境、更方便復(fù)習(xí),預(yù)習(xí)的學(xué)習(xí)渠道。在線學(xué)習(xí)系統(tǒng)是一個(gè)正在興起的應(yīng)用領(lǐng)域,主要利用網(wǎng)頁(yè)制作、數(shù)據(jù)庫(kù)等技術(shù)實(shí)現(xiàn)網(wǎng)上教學(xué)的實(shí)時(shí)性、交互性、動(dòng)態(tài)性。目前對(duì)于網(wǎng)上學(xué)習(xí)的模式以及其所涉及的技術(shù)仍有許多問(wèn)題需要探討和解決。本系統(tǒng)突破一般多媒體輔助教學(xué)工具的思想,目的是盡可能將現(xiàn)實(shí)的活生生的學(xué)習(xí)環(huán)境和方法應(yīng)用于網(wǎng)絡(luò)教學(xué)中,提高學(xué)生網(wǎng)上學(xué)習(xí)的興趣,從而真正提高網(wǎng)上學(xué)習(xí)質(zhì)量;同時(shí)本系統(tǒng)的總體框架是為建立多學(xué)科的通用的模塊化的網(wǎng)上學(xué)習(xí)平臺(tái),為今后開(kāi)展

2、廣泛的網(wǎng)上教育提供技術(shù)基礎(chǔ)服務(wù)。作為傳統(tǒng)教學(xué)的延伸,網(wǎng)絡(luò)信息化教學(xué)的作用正逐步被人們所重視,隨著網(wǎng)絡(luò)技術(shù)和多媒體技術(shù)的進(jìn)步,網(wǎng)絡(luò)信息化教學(xué)系統(tǒng)還會(huì)有更多的發(fā)展空間。1.2 開(kāi)發(fā)意義在傳統(tǒng)的課堂式教學(xué)下學(xué)習(xí)存在著很多的缺點(diǎn):如:享受到最優(yōu)秀老師服務(wù)的只能是少數(shù)人;不能隨時(shí)隨地、靈活有效的、個(gè)人掌握學(xué)習(xí)主動(dòng)權(quán)。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)與技術(shù)日漸成熟,計(jì)算機(jī)應(yīng)用的普及,計(jì)算機(jī)已進(jìn)入人類(lèi)社會(huì)生活的各個(gè)領(lǐng)域,并發(fā)揮著越來(lái)越重要的作用,越來(lái)越多的學(xué)員選擇網(wǎng)上在線學(xué)習(xí)。在線學(xué)習(xí)提供最優(yōu)秀的教育資源傳統(tǒng)授課方式中,真正能享受到最優(yōu)秀老師服務(wù)的只能是少數(shù)人,而通過(guò)在線學(xué)習(xí)提供的視頻學(xué)習(xí),任何人都可以輕

3、松享受到優(yōu)秀老師提供的教學(xué)服務(wù),在線學(xué)習(xí)系統(tǒng)整合各領(lǐng)域最優(yōu)秀的教學(xué)視頻,可以讓你接受的第一流的教育。在線學(xué)習(xí)不受時(shí)間的限制,并且可以隨時(shí)隨地在可以上網(wǎng)的地方參與學(xué)習(xí)。第二章 系統(tǒng)分析2.1 系統(tǒng)的需求分析 區(qū)別于課堂式教育,網(wǎng)上在線學(xué)習(xí)具有了傳統(tǒng)的課堂式學(xué)習(xí)無(wú)可比擬的優(yōu)點(diǎn):網(wǎng)上在線學(xué)習(xí)體現(xiàn)了真正的因材施教;學(xué)生學(xué)習(xí)不受入學(xué)年齡的限制,并且可以避免傳統(tǒng)教學(xué)模式下時(shí)間和空間的限制;在線學(xué)習(xí)對(duì)學(xué)生來(lái)說(shuō)是時(shí)空的解放,寬松的學(xué)習(xí)氛圍更可以使學(xué)生發(fā)揮他們的聰明才智,他們可以在學(xué)習(xí)活動(dòng)中相互啟發(fā)、協(xié)作交流;在線學(xué)習(xí)也是一種多向的信息交流活動(dòng),學(xué)生在獲取不同的學(xué)習(xí)資源時(shí)可進(jìn)行比較,集思廣益,取長(zhǎng)補(bǔ)短,深入理解

4、和消化所學(xué)的知識(shí),益于對(duì)新知識(shí)的意義建構(gòu);當(dāng)代學(xué)生學(xué)習(xí)動(dòng)機(jī)呈多樣性,學(xué)習(xí)壓力因素各異,而在網(wǎng)絡(luò)背景下的學(xué)習(xí)者可根據(jù)自身的特點(diǎn)采取不同的學(xué)習(xí)方法。讓更多的人符合科學(xué)發(fā)展跟上時(shí)代的步伐。 根據(jù)以上實(shí)際的需求和特色,本系統(tǒng)需滿足以下幾個(gè)方面的要求:1. 提供一個(gè)可以與他人交流互動(dòng)的平臺(tái),在這個(gè)平臺(tái)上面學(xué)生可以發(fā)表自己的見(jiàn)解,達(dá)到交流共享信息的目的2. 學(xué)生可在此系統(tǒng)中注冊(cè)成為用戶,注冊(cè)成功之后在平臺(tái)上交流時(shí)其他用戶就可以知道你的信息,從而可以使用戶大膽放心的在這個(gè)平臺(tái)上分享更多的信息。3. 學(xué)生可以在此平臺(tái)上獲取到他們所想要的學(xué)習(xí)資料4. 學(xué)生可以在此平臺(tái)上進(jìn)行在線學(xué)習(xí)。2.2 系統(tǒng)開(kāi)發(fā)設(shè)計(jì)思想系統(tǒng)

5、采用模塊化程序設(shè)計(jì)方法,既便于系統(tǒng)功能的各種組合和修改,又便于未參與開(kāi)發(fā)的技術(shù)維護(hù)人員補(bǔ)充、維護(hù);系統(tǒng)應(yīng)具備數(shù)據(jù)庫(kù)維護(hù)功能,及時(shí)根據(jù)用戶需求進(jìn)行數(shù)據(jù)的添加、刪除、修改、備份等操作。2.3系統(tǒng)開(kāi)發(fā)步驟在線學(xué)習(xí)系統(tǒng)的建立與應(yīng)用可以劃分成總體規(guī)劃、系統(tǒng)開(kāi)發(fā)和系統(tǒng)運(yùn)行三個(gè)階段,其中系統(tǒng)開(kāi)發(fā)階段還可進(jìn)一步分為系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)施等工作環(huán)節(jié)。上述各個(gè)階段排列成一個(gè)嚴(yán)格的線性開(kāi)發(fā)序列,在每個(gè)工作階段均產(chǎn)生完整的技術(shù)文檔作為下一階段工作的指導(dǎo)和依據(jù),每一階段都應(yīng)對(duì)文檔進(jìn)行評(píng)審,確信該階段工作已完成并達(dá)到要求后才能進(jìn)入下一階段,同時(shí)在以后的工作中不能輕易改變前面經(jīng)過(guò)評(píng)審的成果。上述開(kāi)發(fā)方式的主要優(yōu)點(diǎn)是便

6、于開(kāi)發(fā)工作的組織和管理,并且可大大降低在線學(xué)習(xí)系統(tǒng)開(kāi)發(fā)的復(fù)雜性。國(guó)內(nèi)外許多系統(tǒng)開(kāi)發(fā)的實(shí)例都證明這是一種行之有效的開(kāi)發(fā)方式。2.4 系統(tǒng)的主要技術(shù)2.4.1 browser/server系統(tǒng)的三層體系結(jié)構(gòu)在browser/server的系統(tǒng)中,用戶可以通過(guò)瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請(qǐng)求。browser/server結(jié)構(gòu)極大的簡(jiǎn)化了客戶機(jī)的工作,客戶機(jī)上只需安裝、配置少量的客戶端軟件即可,服務(wù)器將擔(dān)負(fù)更多的工作,對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)和應(yīng)用程序的執(zhí)行將在服務(wù)器上完成。在browser/server三層體系結(jié)構(gòu)下,表示層(presentation)、功能層(business logic)、數(shù)據(jù)層(

7、data service)被分割成三個(gè)相對(duì)獨(dú)立的單元:第一層-表示層:web瀏覽器在表示層中包含系統(tǒng)的顯示邏輯,位于客戶端。它的任務(wù)是由web瀏覽器向網(wǎng)絡(luò)上的某一web服務(wù)器提出服務(wù)請(qǐng)求,web服務(wù)器對(duì)用戶身份進(jìn)行驗(yàn)證后用http協(xié)議把所需的主頁(yè)傳送給客戶端,客戶機(jī)接受傳來(lái)的主頁(yè)文件,并把它顯示在web瀏覽器上。第二層-功能層:具有應(yīng)用程序擴(kuò)展功能的web服務(wù)器在功能層中包含系統(tǒng)的事務(wù)處理邏輯,位于web服務(wù)器端。它的任務(wù)是接受用戶的請(qǐng)求,首先需要執(zhí)行相應(yīng)的擴(kuò)展應(yīng)用程序與數(shù)據(jù)庫(kù)進(jìn)行連接,通過(guò)sql等方式向數(shù)據(jù)庫(kù)服務(wù)器提出數(shù)據(jù)處理申請(qǐng),而后等數(shù)據(jù)庫(kù)服務(wù)器將數(shù)據(jù)處理的結(jié)果提交給web服務(wù)器,再由w

8、eb服務(wù)器傳送回客戶端。第三層-數(shù)據(jù)層:數(shù)據(jù)庫(kù)服務(wù)器在數(shù)據(jù)層中包含系統(tǒng)的數(shù)據(jù)處理邏輯,位于數(shù)據(jù)庫(kù)服務(wù)器端。它的任務(wù)是接受web服務(wù)器對(duì)數(shù)據(jù)庫(kù)操縱的請(qǐng)求,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)查詢(xún)、修改、更新等功能,把運(yùn)行結(jié)果提交給web服務(wù)器。從上面的分析中可以看出,三層的browser/server體系結(jié)構(gòu)是把二層client/server結(jié)構(gòu)的事務(wù)處理邏輯模塊從客戶機(jī)的任務(wù)中分離出來(lái),由單獨(dú)組成的一層來(lái)負(fù)擔(dān)其任務(wù),這樣客戶機(jī)的壓力大大減輕了,把負(fù)荷均衡地分配給了web服務(wù)器,于是由原來(lái)的兩層的client/server結(jié)構(gòu)轉(zhuǎn)變成三層的browser/server結(jié)構(gòu)。2.4.2 java server page(j

9、sp)技術(shù)在本系統(tǒng)的開(kāi)發(fā)過(guò)程中采用的是jsp+javabean+servlet模式,在該模式中,結(jié)合了jsp和servlet技術(shù),充分利用了jsp和servlet兩種技術(shù)原有的優(yōu)點(diǎn)。此模式遵循視圖控制器(mvc)模式,它的主要思想是使用一個(gè)或多個(gè)servlet作為控制器。請(qǐng)求由前沿的servlet接收并處理后,會(huì)重新定向到j(luò)sp。在servlet作為控制器時(shí),每個(gè)servlet通常只實(shí)現(xiàn)很少一部分功能,多個(gè)servlet控制器就可以結(jié)合起來(lái)完成復(fù)雜的任務(wù),這樣的好處是servlet的重用性好。在此模式中,javabean作為模型的角色,它充當(dāng)jsp和servlet通信的中間工具,servlet

10、處理完后設(shè)置bean屬性,jsp讀取此bean的屬性,然后進(jìn)行顯示。此模式更加明顯的把顯示和邏輯分離,使代碼容易管理,適合于大型項(xiàng)目的開(kāi)發(fā),所以在本系統(tǒng)中采用了這種模式8。此模式的數(shù)據(jù)傳遞關(guān)系如圖2-1所示。 圖2.1 jsp+javabean+servlet開(kāi)發(fā)模式數(shù)據(jù)傳遞關(guān)系首先,j2ee 結(jié)構(gòu)是設(shè)計(jì)和開(kāi)發(fā)在線學(xué)習(xí)系統(tǒng)的核心。第二,系統(tǒng)提供的大部分操作都涉及到與用戶動(dòng)態(tài)地進(jìn)行信息交互,要求系統(tǒng)能夠?qū)崿F(xiàn)數(shù)據(jù)的動(dòng)態(tài)發(fā)布。第三,位于客戶端的用戶主要通過(guò)瀏覽器使用本系統(tǒng)。第四,在sun 公司提出的j2ee藍(lán)圖中明確推薦使用jsp技術(shù)為動(dòng)態(tài)內(nèi)容提供服務(wù)。因此,在j2ee結(jié)構(gòu)的模型框架下,jsp 技術(shù)

11、是實(shí)現(xiàn)此系統(tǒng)動(dòng)態(tài)信息交互功能的首選方案。jsp技術(shù)主要有以下一些特點(diǎn)2:(1) 應(yīng)用程序邏輯和頁(yè)面顯示相分離的特性。jsp 把用戶界面從系統(tǒng)內(nèi)容中分離開(kāi)來(lái),使得設(shè)計(jì)人員能夠在不改變底層動(dòng)態(tài)內(nèi)容的前提下改變整個(gè)網(wǎng)頁(yè)布局。(2) 組件的可重用性。絕大多數(shù)jsp頁(yè)面依賴(lài)于可重用的、跨平臺(tái)的組件來(lái)執(zhí)行應(yīng)用程序的處理。開(kāi)發(fā)人員能夠共享和交換執(zhí)行組件,并利用這些組件創(chuàng)建應(yīng)用程序。基于組件的方法加速了開(kāi)發(fā)過(guò)程,提高了應(yīng)用程序的開(kāi)發(fā)效率2。(3) 跨平臺(tái)特性。jsp技術(shù)將“一次編寫(xiě),隨處運(yùn)行”的思想推廣到了交互網(wǎng)頁(yè)中,因此不需要作任何更改,就可以很輕松地跨平臺(tái)和跨web服務(wù)器移動(dòng)jsp頁(yè)。(4)可以用多種格式

12、為動(dòng)態(tài)內(nèi)容提供服務(wù)。jsp可以為不同的客戶端提供服務(wù),包括使html/dhtml的常規(guī)瀏覽器、使用wml的移動(dòng)電話和pda 等手持式無(wú)線設(shè)備以及使用xml的其他b2b 應(yīng)用程序等3。2.4.3 jdbc技術(shù)jdbc 技術(shù)在j2ee 結(jié)構(gòu)的中間層與eis層的數(shù)據(jù)源之間提供了數(shù)據(jù)庫(kù)獨(dú)立的開(kāi)放性連接,使應(yīng)用程序不僅可以對(duì)基于sql 標(biāo)準(zhǔn)的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行訪問(wèn),而且還可以對(duì)其他類(lèi)型的數(shù)據(jù)源進(jìn)行訪問(wèn)。jdbc技術(shù)通過(guò)提供api使java 應(yīng)用程序能夠?qū)崿F(xiàn)位于系統(tǒng)層的數(shù)據(jù)庫(kù)的訪問(wèn)能力。j2ee 結(jié)構(gòu)中間層的應(yīng)用組件通過(guò)jdbc技術(shù)可以完成下列功能:實(shí)現(xiàn)與位于j2ee結(jié)構(gòu)中系統(tǒng)層的數(shù)據(jù)庫(kù)服務(wù)器的連接;管理

13、事務(wù);將sql 請(qǐng)求傳送到數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行預(yù)處理并執(zhí)行相應(yīng)的數(shù)據(jù)操作;執(zhí)行存儲(chǔ)過(guò)程;檢查修改查詢(xún)語(yǔ)句的執(zhí)行結(jié)果等。2.5 系統(tǒng)的運(yùn)行環(huán)境和開(kāi)發(fā)平臺(tái)2.5.1 硬件設(shè)備及操作系統(tǒng)服務(wù)器:pentiumiii 1g(或與此相當(dāng)?shù)腸pu)以上配置的高性能pc機(jī),有網(wǎng)絡(luò)接口卡(nic),內(nèi)存應(yīng)在256m以上,硬盤(pán)在80g以上。數(shù)據(jù)庫(kù)軟件ibm db2,還可選用備份服務(wù)器。操作系統(tǒng):windows 98以上??蛻舳耍簆entiumiii 500(或與此相當(dāng)?shù)腸pu)以上配置的pc機(jī),有網(wǎng)絡(luò)接口卡(nic),內(nèi)存應(yīng)在128m以上,硬盤(pán)在10g以上。windows98以上操作系統(tǒng),安裝web瀏覽器。網(wǎng)絡(luò):

14、服務(wù)器和客戶端應(yīng)有網(wǎng)絡(luò)連通。配置tcp/ip協(xié)議。2.5.2 系統(tǒng)開(kāi)發(fā)工具電腦配置:dell品牌機(jī)cpu: p4 2.6 內(nèi)存:ddr 512m 硬盤(pán):80g操作系統(tǒng):microsoft windows server 2003開(kāi)發(fā)環(huán)境:myeclispse 7.5web服務(wù)平臺(tái):tomcat 6.0數(shù)據(jù)庫(kù):sql server 20052.5.3 開(kāi)發(fā)工具簡(jiǎn)介(1) myeclipse7.5概述9myeclipse企業(yè)級(jí)工作平臺(tái)(myeclipse enterprise workbench ,簡(jiǎn)稱(chēng)myeclipse)是對(duì)eclipse ide的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和j2ee的開(kāi)發(fā)、發(fā)布

15、,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的j2ee集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持html, struts, jsf, css, javascript, sql, hibernate。(2) tomcat6.0概述10tomcat6.0 服務(wù)器是一個(gè)免費(fèi)的開(kāi)放源代碼的web 應(yīng)用服務(wù)器,tomcat是apache 軟件基金會(huì)(apache software foundation)的jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由apache、sun 和其他一些公司及個(gè)人共同開(kāi)發(fā)而成。由于有了sun 的參與和支持,最新的servlet 和jsp 規(guī)范總

16、是能在tomcat 中得到體現(xiàn),tomcat 6.0 支持最新的servlet 2.4 和jsp 2.0 規(guī)范。因?yàn)閠omcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受java 愛(ài)好者的喜愛(ài)并得到了部分軟件開(kāi)發(fā)商的認(rèn)可,成為目前比較流行的web 應(yīng)用服務(wù)器。(3) sql server 2005概述11sql server是微軟公司開(kāi)發(fā)的一個(gè)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),以transact_sql作為它的數(shù)據(jù)庫(kù)查詢(xún)和編程語(yǔ)言。tsql是結(jié)構(gòu)化查詢(xún)語(yǔ)言sql的一種,支持ansi sql92標(biāo)準(zhǔn)。sql server 采用二級(jí)安全驗(yàn)證、登錄驗(yàn)證及數(shù)據(jù)庫(kù)用戶帳號(hào)和角色的許可驗(yàn)證。sql server 支持兩種

17、身份驗(yàn)證模式:windows nt身份驗(yàn)證和sql server 身份驗(yàn)證。7.0版支持多種類(lèi)型的角色,角色概念的引入方便了權(quán)限的管理,也使權(quán)限的分配更加靈活。第三章 系統(tǒng)設(shè)計(jì)本系統(tǒng)的學(xué)習(xí)功能主要是針對(duì)學(xué)生設(shè)計(jì),包括視頻的觀看、下載,相關(guān)課件的下載,對(duì)有關(guān)資源的學(xué)習(xí),了解其學(xué)習(xí)方面的通知,和教師間的相互交流。開(kāi)始電子公告和bbs學(xué)習(xí)論壇,引導(dǎo)學(xué)生進(jìn)行網(wǎng)上交流,引導(dǎo)了學(xué)生對(duì)有關(guān)問(wèn)題進(jìn)行思考判斷,進(jìn)而引導(dǎo)學(xué)生主動(dòng)參與本系統(tǒng)的建設(shè),使網(wǎng)絡(luò)成為教學(xué)的另一個(gè)戰(zhàn)場(chǎng)。本系統(tǒng)的教學(xué)功能能為教師提供一個(gè)平臺(tái),使得課件或電子教案的發(fā)布更為簡(jiǎn)單,并為教師提供答疑板塊,教師也可進(jìn)入學(xué)習(xí)論壇,了解學(xué)生的疑問(wèn),便于教師與

18、學(xué)生的交流,也為今后各科教師自行制作相關(guān)專(zhuān)題子網(wǎng)站提供了方便。本系統(tǒng)的管理員管理功能包括用戶管理、資源管理、論壇管理。對(duì)用戶及資源信息進(jìn)行有效的管理。 3.1系統(tǒng)用例與本系統(tǒng)相關(guān)的用戶和角色包括:系統(tǒng)管理員:管理系統(tǒng)用戶、角色與權(quán)限,發(fā)布相關(guān)資源,保證系統(tǒng)正常運(yùn)行。教師:發(fā)布相關(guān)學(xué)習(xí)資源(如:視頻、課件等),在線答疑。學(xué)生:通過(guò)注冊(cè)成為本系統(tǒng)用戶,可在線觀看教學(xué)視頻、下載有關(guān)學(xué)習(xí)軟件,進(jìn)行相關(guān)問(wèn)題的咨詢(xún)。管理員老師學(xué)生用戶在線學(xué)習(xí)系統(tǒng)瀏覽網(wǎng)頁(yè)注冊(cè)登陸觀看視頻發(fā)帖、跟帖下載資源上傳資源管理用戶、資源圖3.1 系統(tǒng)用例圖3.2 系統(tǒng)功能模塊的劃分軟件所實(shí)現(xiàn)的功能強(qiáng)弱是衡量一個(gè)軟件的最根本的標(biāo)準(zhǔn)。經(jīng)

19、過(guò)對(duì)系統(tǒng)的需求分析和實(shí)際應(yīng)用需求,確定了本子系統(tǒng)的功能模塊如圖3.1所示:在線學(xué)習(xí)系統(tǒng)用戶模塊在線視頻模塊文件上傳下載模塊b b s論壇模塊后臺(tái)管理模塊公告模塊答疑模塊圖3.2 系統(tǒng)功能模塊圖3.2.1用戶模塊用戶包括未注冊(cè)的路人、注冊(cè)的學(xué)生、老師、管理員的權(quán)限功能的實(shí)現(xiàn)和劃分的用戶模塊。未注冊(cè)的用戶登陸本系統(tǒng)只能瀏覽本系統(tǒng)的新聞資訊,或者是瀏覽論壇中的帖子、還有就是在線觀看本體統(tǒng)提供的視頻資源。注冊(cè)成功的學(xué)生、老師用戶登陸成功之后除了享有路人所有的權(quán)限之外還可以下載視頻、課件。進(jìn)入論壇之后還可以發(fā)帖,提出自己的問(wèn)題,也可以針對(duì)某個(gè)問(wèn)題回復(fù)別人提出來(lái)的問(wèn)題,和其他的人一起溝通。管理員是權(quán)限最大

20、的用戶,可以對(duì)本系統(tǒng)中所有的資源進(jìn)行管理,包括用戶的管理,管理員有權(quán)注銷(xiāo)不合法的用戶;主頁(yè)面的新聞,管理員可以發(fā)布新聞、撤消新聞;論壇中帖子的管理,管理員有權(quán)對(duì)含有不健康或者是不合法的內(nèi)容的帖子進(jìn)行撤消。3.2.2在線視頻模塊該模塊主要實(shí)現(xiàn)在線播放,通過(guò)在頁(yè)面嵌入一個(gè)播放器,系統(tǒng)通過(guò)jsp頁(yè)面戶從數(shù)據(jù)庫(kù)中獲取所有可在線播放的視頻信息,并顯示在頁(yè)面上。通過(guò)用戶所請(qǐng)求的某個(gè)視頻信息返回到頁(yè)面的播放器進(jìn)行播放。3.2.3 文件上傳下載模塊本系統(tǒng)涉及的文件主要包括課件資源和視頻資源:(1) 上傳文件在后臺(tái)管理界面中設(shè)置“資料管理”按鈕,點(diǎn)擊 “上傳文件”可以在自己的主機(jī)或網(wǎng)絡(luò)上選擇要上傳的文件資料,這

21、里一次可以上傳一個(gè)或多首文件,選擇結(jié)束后點(diǎn)擊“上傳”按鈕就可以將文件傳到一個(gè)指定的ftp上的文件夾中供用戶下載。對(duì)數(shù)據(jù)庫(kù)中表進(jìn)行查詢(xún),將文件的名稱(chēng)等信息在相應(yīng)頁(yè)面中顯示出來(lái)。(2) 下載文件在數(shù)據(jù)庫(kù)文件信息表中設(shè)置“存放路徑”字段,此字段放置的信息是管理員將文件上傳到的路徑信息。前臺(tái)頁(yè)面中對(duì)文件的信息進(jìn)行查詢(xún),使用代碼來(lái)實(shí)現(xiàn)每個(gè)不同的文件名鏈接到相應(yīng)的目錄下面,用戶點(diǎn)擊文件下載選擇將其保存到磁盤(pán)上可以將該文件保存到自己的本機(jī)上;右鍵點(diǎn)擊“另存為”也可將其保存到自己本機(jī)上。這兩種方法都實(shí)現(xiàn)了文件的下載。該模塊主要實(shí)現(xiàn)的功能是管理員定期把一些文件上傳到相應(yīng)的文件夾中,并在網(wǎng)頁(yè)中顯示相關(guān)內(nèi)容,在線用

22、戶可以在線觀看視頻或下載所喜歡的文件。3.2.4答疑模塊(1)提出問(wèn)題登陸的學(xué)生用戶可以向老師提問(wèn),當(dāng)學(xué)生遇到方向性的問(wèn)題,可以向有關(guān)的老師提問(wèn)。每個(gè)老師都有教授的課程以及介紹,學(xué)生可以通過(guò)了解老師所擅長(zhǎng)的科目來(lái)向他提問(wèn)。當(dāng)老師解決了學(xué)生提出的問(wèn)題后,學(xué)生登陸時(shí)將列出所有解決的問(wèn)題。(2)解決問(wèn)題登陸的老師用戶登陸可以瀏覽之前學(xué)生所提出的所有問(wèn)題和解決的問(wèn)題,老師可以解決未處理的問(wèn)題。3.2.5 公告模塊在首頁(yè)的公告區(qū)域顯示管理員發(fā)布的公告信息,公告信息實(shí)時(shí)更新主要顯示的是數(shù)據(jù)庫(kù)中的公告表中的數(shù)據(jù)資源。3.2.6 bbs論壇模塊用戶登陸首先進(jìn)入論壇的首頁(yè),在首頁(yè)是顯示的所有用戶發(fā)表的主貼信息,

23、該頁(yè)面主要是分頁(yè)顯示數(shù)據(jù)庫(kù)中的主帖信息了內(nèi)容,包括發(fā)帖人頭像、主題、發(fā)表時(shí)間、點(diǎn)擊數(shù)等等,可以點(diǎn)擊某個(gè)主貼的主題鏈接到該貼的所有跟帖信息,注冊(cè)的用戶還可以發(fā)表主題、回復(fù)主貼。達(dá)到與其他老師或者同學(xué)交流的功能。然后該頁(yè)面也提供用戶登陸和注冊(cè)的功能,主要對(duì)于那些路人觀看之后想發(fā)表自己的想法的人提供便利,在從帖的頁(yè)面主要是分頁(yè)顯示某個(gè)主帖的從帖信息,同時(shí)也包括用戶登陸和注冊(cè)的功能。3.2.7 后臺(tái)管理模塊后臺(tái)管理是最重要的一塊,后臺(tái)的管理功能的實(shí)現(xiàn),管理員登陸之后,可以對(duì)數(shù)據(jù)庫(kù)中的所有信息進(jìn)行管理,本模塊的功能模塊由下圖所示:后臺(tái)管理用戶管理公告管理資源管理論壇管理圖3.3 后臺(tái)管理功能模塊圖(1)

24、 用戶的管理管理員有權(quán)對(duì)該系統(tǒng)的所有管理員、學(xué)生進(jìn)行管理、這就包括對(duì)用戶的添加、修改、刪除。(2) 公告管理,計(jì)算機(jī)范文網(wǎng) ,管理員可以定期對(duì)主頁(yè)上面的公告進(jìn)行更新,通過(guò)該模塊,管理員可以輕松、快速的對(duì)公告進(jìn)行管理。 1. 信息公告的錄入主要功能是使管理員以簡(jiǎn)捷的方式對(duì)通知公告表進(jìn)行操作,主要的功能有:增加、刪除和修改。管理員在進(jìn)行以上所有操作時(shí)首先要進(jìn)入登錄界面進(jìn)行登錄,登錄用的用戶名和密碼是按管理員的不同權(quán)限事先分配好的,登錄成功后可以實(shí)現(xiàn)增加、修改、刪除一些公告信息。2. 瀏覽信息公告在首頁(yè)的適當(dāng)位置設(shè)置公告欄,主要是最新信息。最新的而且較重要的可做成滾動(dòng)條的形式,滾動(dòng)顯示通知的信息。當(dāng)

25、鼠標(biāo)置于某個(gè)標(biāo)題上時(shí),滾動(dòng)條停止?jié)L動(dòng),點(diǎn)擊標(biāo)題瀏覽通知公告的正文。其他的可在主頁(yè)面里的適當(dāng)位置按時(shí)間的倒序?qū)?biāo)題和發(fā)布日期顯示出來(lái),點(diǎn)擊標(biāo)題瀏覽公告信息的正文。(3) 資源管理主要是對(duì)現(xiàn)有資源的管理和資料的上傳。1. 現(xiàn)有資源的管理可對(duì)現(xiàn)有的視頻和課件進(jìn)行增加、刪除、修改,可對(duì)那些上傳資料不合法的視頻資源可將其是否發(fā)布的屬性該為否,這樣將不會(huì)在頁(yè)面上顯示,也不能提供下載。還有一種就是將是否下載該為否,這樣的話只有在頁(yè)面顯示,但是還是不能下載。對(duì)于課件資源只有是否下載的屬性,不提供在線的打開(kāi),只提供下載。2. 資料的上傳管理員可上傳所需的資源供學(xué)生用戶下載。3.3數(shù)據(jù)庫(kù)設(shè)計(jì)3.3.1數(shù)據(jù)庫(kù)需求分

26、析數(shù)據(jù)庫(kù)的設(shè)計(jì)在一個(gè)系統(tǒng)中的作用十分重要,數(shù)據(jù)庫(kù)建立的是否完善直接影響到你個(gè)系統(tǒng)的實(shí)現(xiàn)。數(shù)據(jù)庫(kù)的設(shè)計(jì)既要滿足用戶的需求又要盡最大可能的降低數(shù)據(jù)的冗余,盡可能降低數(shù)據(jù)間的依賴(lài),將他們分離。在各種信息的提供,保存,更新和查詢(xún),這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿足各種信息的輸出和輸入,收集基本數(shù)據(jù),數(shù)據(jù)結(jié)構(gòu),以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設(shè)計(jì)打下基礎(chǔ)3.3.2數(shù)據(jù)庫(kù)e-r圖e-r模型的組成元素有:實(shí)體、屬性、聯(lián)系。e-r模型用e-r圖表示。實(shí)體是用戶工作環(huán)境中所涉及的事務(wù),屬性是對(duì)實(shí)體特征的描述。(1)模型中的實(shí)體相當(dāng)于實(shí)體集、一個(gè)表,而不是單個(gè)實(shí)體或表中的一行。實(shí)體用矩形框表示,

27、實(shí)體名稱(chēng)標(biāo)注在矩形框內(nèi)。用菱形表示實(shí)體間的聯(lián)系,菱形框內(nèi)寫(xiě)上聯(lián)系名,用無(wú)向邊把菱形分別與有關(guān)實(shí)體相連接,在無(wú)向邊旁標(biāo)上聯(lián)系的類(lèi)型。(2)屬性是實(shí)體的性質(zhì)。用橢圓框表示,與實(shí)體之間用一條線相連表的主碼是關(guān)鍵屬性,關(guān)鍵屬性項(xiàng)加下劃線。(3)各子系統(tǒng)模塊中主鍵相同的字段之間存在著相互關(guān)聯(lián)的關(guān)系。(4)在程序中實(shí)現(xiàn)對(duì)他們的完整性和一致性控制。具體關(guān)系如下圖:11nnnnnnnnnn管理員編號(hào)用戶名戶名理密碼發(fā)布公告發(fā)布時(shí)間編號(hào)標(biāo)題內(nèi)容用戶視頻主貼從貼管理在線觀看下載發(fā)帖發(fā)帖跟帖類(lèi)型是否下載是否發(fā)布介紹發(fā)布時(shí)間編號(hào)發(fā)布者編號(hào)資源名資源發(fā)布者編號(hào)是否下載發(fā)布時(shí)間編號(hào)是否發(fā)布視頻名編號(hào)主題點(diǎn)擊數(shù)內(nèi)容回帖數(shù)發(fā)

28、帖人名發(fā)帖人編號(hào)發(fā)布時(shí)間內(nèi)容跟帖編號(hào)發(fā)帖人編號(hào)發(fā)貼時(shí)間發(fā)貼人名回復(fù)的主貼編號(hào)發(fā)帖人頭像圖3.4 管理員管理e-r圖1n1n11nnnn學(xué)生電話姓名email身份證老師編號(hào)email電話課程編號(hào)頭像姓名編號(hào)密碼執(zhí)教課程編號(hào)課程名答疑注冊(cè)時(shí)間頭像答案密碼性別解答問(wèn)題提問(wèn)內(nèi)容解答人編號(hào)提問(wèn)人編號(hào)從屬編號(hào)解答時(shí)間提問(wèn)時(shí)間提問(wèn)人編號(hào)提問(wèn)時(shí)間解答人編號(hào)內(nèi)容是否被解答圖3.5 答疑e-r圖3.3.3數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)的原則如下:(1)盡可能的減少數(shù)據(jù)冗余和重復(fù)。(2)結(jié)構(gòu)設(shè)計(jì)與操作設(shè)計(jì)相結(jié)合。(3)數(shù)據(jù)結(jié)構(gòu)具有相對(duì)的穩(wěn)定性?;谝陨显O(shè)計(jì)原則,本系統(tǒng)設(shè)計(jì)了如下數(shù)據(jù)庫(kù):字段類(lèi)型長(zhǎng)度是否空主鍵說(shuō)明adm

29、inid自動(dòng)編號(hào)長(zhǎng)整型不能空是管理員idadminname文本10不能空否管理員姓名adminpassword文本10不能空否管理員密碼表1 管理員信息表表2 學(xué)生信息表字段類(lèi)型長(zhǎng)度主鍵是否空說(shuō)明stuid自動(dòng)編號(hào)長(zhǎng)整型是不能空學(xué)生idstuname文本10否不能空學(xué)生姓名stupassword文本20否不能空學(xué)生密碼stusex文本2否不能空學(xué)生性別stuemail文本50否能空學(xué)生emailstuhead文本100否能空學(xué)生頭像stucard文本20否能空身份證號(hào)stutel文本20否能空學(xué)生電話sturegtime日期/時(shí)間否能空學(xué)生注冊(cè)時(shí)間表3 公告表字段類(lèi)型長(zhǎng)度主鍵是否空說(shuō)明call

30、id自動(dòng)編號(hào)長(zhǎng)整型是不能空公告idcalltitle文本100否不能空公告標(biāo)題callcontent文本1000否不能空公告內(nèi)容calltime時(shí)間/日期否不能空公告發(fā)布時(shí)間表4 新聞表字段類(lèi)型長(zhǎng)度主鍵是否空說(shuō)明newsid自動(dòng)編號(hào)長(zhǎng)整型是不能空新聞idnewstopic文本100否不能空新聞主題newscontent文本2000否不能空新聞內(nèi)容newstime時(shí)間/日期否不能空新聞發(fā)布時(shí)間字段類(lèi)型長(zhǎng)度主鍵是否空說(shuō)明videoid自動(dòng)編號(hào)長(zhǎng)整型是 不能空視頻idvideotopic文本100否 不能空視頻名稱(chēng)videoowner整型否不能空視頻發(fā)布者idvideotime時(shí)間/日期否不能空發(fā)布

31、時(shí)間isdownload文本2否不能空是否供下載isagree文本2否不能空是否發(fā)布表5 視頻資源表表6 文件表字段類(lèi)型長(zhǎng)度主鍵是否空說(shuō)明filesid自動(dòng)編號(hào)長(zhǎng)整型是不能空文件idfilesname文本100否不能空文件名稱(chēng)filestype文本10否不能空文件類(lèi)型filesowner整型否不能空文件發(fā)布者編號(hào)filestime時(shí)間/日期否不能空發(fā)布時(shí)間isdownload文本2否不能空是否供下載isagree文本2否不能空是否發(fā)布fileintroduce文本500否能空文件介紹filetopic文本100否不能空顯示的文件名表7發(fā)帖表字段類(lèi)型長(zhǎng)度主鍵是否空說(shuō)明tid自動(dòng)編號(hào)長(zhǎng)整型是不能空

32、帖子idtuserid整型否不能空發(fā)帖人idtusername文本20否不能空發(fā)帖人名treplycount整型否不能空回帖數(shù)ttopic文本待添加的隱藏文字內(nèi)容350否不能空帖子主題tcontent文本2000不能空帖子內(nèi)容tclickcount整型不能空點(diǎn)擊數(shù)ttime時(shí)間/日期不能空發(fā)帖時(shí)間tuserhead文本100能空發(fā)帖人頭像表8 跟帖表字段類(lèi)型長(zhǎng)度主鍵是否空說(shuō)明rid自動(dòng)編號(hào)長(zhǎng)整型是不能空跟帖idrtid整型否不能空回復(fù)的主帖編號(hào)ruserid整型否不能空發(fā)帖人idrcontent文本1000否不能空正文rtime時(shí)間/日期否不能空發(fā)帖時(shí)間rusername文本20否不能空發(fā)帖人

33、姓名ruserhead文本100否v能空發(fā)帖人頭像表9 教師信息表字段類(lèi)型長(zhǎng)度主鍵是否空說(shuō)明tchid整型長(zhǎng)整型是不能空教師idtchname文本10否不能空教師名tchpassword文本20否不能空密碼tchemail文本20否能空教師emailtchtel文本15否能空教師電話tchhead文本30否能空教師頭像couseid整型長(zhǎng)整型否不能空所教課程tchintro文本200否能空教師簡(jiǎn)介表10 課程信息表字段類(lèi)型長(zhǎng)度主鍵是否空說(shuō)明courseid整型長(zhǎng)整型是不能空課程編號(hào)coursename文本20否不能空課程名表11 問(wèn)題表字段類(lèi)型長(zhǎng)度主鍵是否空說(shuō)明questid整型長(zhǎng)整型是不能空

34、問(wèn)題編號(hào)queststuid整型長(zhǎng)整型否不能空提問(wèn)人編號(hào)questtime時(shí)間/日期否不能空提問(wèn)時(shí)間questtchid整型長(zhǎng)整型否不能空解答人編號(hào)questcontent文本500否不能空提問(wèn)內(nèi)容isanswer文本2否不能空是否被解答表12 答案表字段類(lèi)型長(zhǎng)度主鍵是否空說(shuō)明answerid整型長(zhǎng)整型是不能空答案編號(hào)answertchid整型長(zhǎng)整型否不能空解答人編號(hào)answerstuid整型長(zhǎng)整型否不能空提問(wèn)人編號(hào)answercontent文本500否不能空答案內(nèi)容answertime時(shí)間/日期否不能空解答時(shí)間isanswer文本2否不能空是否被解答數(shù)據(jù)庫(kù)表之間的關(guān)系如下:第四章 系統(tǒng)實(shí)現(xiàn)4

35、.1主要界面實(shí)現(xiàn)本系統(tǒng)的設(shè)計(jì)主要采用藍(lán)色為題,給人以愉悅,舒暢的感覺(jué),讓學(xué)生能夠集中思想盡快投入到學(xué)習(xí)當(dāng)中去。4.1.1用戶注冊(cè)通過(guò)首頁(yè)的注冊(cè)鏈接進(jìn)入到注冊(cè)頁(yè)面,該頁(yè)面主要是對(duì)用戶的信息進(jìn)行采集,主體是一個(gè)表單。通過(guò)“提交”按鈕可以將用戶的信息發(fā)送到服務(wù)器端。4.1.2 首頁(yè)首先進(jìn)入的是網(wǎng)站的首頁(yè),首頁(yè)主要采用的主要是div容器,使用div能快速、準(zhǔn)確的對(duì)頁(yè)面的元素的大小和位置進(jìn)行定位,在div容器中進(jìn)一步使用table,對(duì)頁(yè)面的元素進(jìn)行排版。網(wǎng)站所有的頁(yè)面都采用統(tǒng)一的樣式文件.css,頁(yè)面所有的背景圖片都放在image文件夾下11。在主頁(yè)面的頂端可以鏈接到本系統(tǒng)提供的其他功能,主要包括資料庫(kù)

36、、學(xué)習(xí)論壇等,在主頁(yè)還要實(shí)現(xiàn)用戶的登陸以及注冊(cè)的功能,在頁(yè)面的右側(cè)有登陸的表單,用于獲取學(xué)生或者是管理員的用戶名和密碼提交到后臺(tái)來(lái)實(shí)現(xiàn)用戶登陸。實(shí)現(xiàn)后的主頁(yè)效果如下圖:圖3.1首頁(yè)效果4.1.3 論壇當(dāng)用戶登陸成功以后,如果點(diǎn)擊主頁(yè)的學(xué)習(xí)論壇,用戶的請(qǐng)求提交到后臺(tái),該請(qǐng)求包含了用戶請(qǐng)求論壇首頁(yè)顯示的頁(yè)數(shù),初次登陸的默認(rèn)值是1,因此服務(wù)器端返回論壇第一頁(yè)的記錄,鏈接到論壇的主頁(yè)。論壇首頁(yè)采用jsp頁(yè)面,當(dāng)打開(kāi)該頁(yè)面的時(shí)候,可以獲取session中保存的第一頁(yè)的所有記錄,通過(guò)引入c標(biāo)簽的中循環(huán)控制標(biāo)簽,加上頁(yè)面的表格,顯示session中的記錄。此頁(yè)面還包括發(fā)帖的功能,在頁(yè)面的底端,登陸成功的用戶

37、可以在此發(fā)表自己的帖子。此頁(yè)面還應(yīng)當(dāng)包括登陸注冊(cè)的功能,不是所有登陸該頁(yè)面的用戶都是登陸的用戶,還包括路人。實(shí)現(xiàn)后的論壇首頁(yè)效果如圖:圖3.2論壇效果4.1.4 在線視頻當(dāng)?shù)顷懗晒Φ挠脩酎c(diǎn)擊首頁(yè)的資料庫(kù),點(diǎn)擊視頻資源后,客戶端將向服務(wù)器發(fā)送請(qǐng)求,服務(wù)器將頁(yè)面跳轉(zhuǎn)到視頻播放的主頁(yè),該頁(yè)面加載的時(shí)候從數(shù)據(jù)庫(kù)中分別獲取科發(fā)布的視頻的前8條記錄以及可下載視頻的前5條記錄,可發(fā)布的視頻時(shí)可以在線觀看的,在頁(yè)面引入了一個(gè)視頻播放器,當(dāng)用戶點(diǎn)擊視頻資源的播放圖標(biāo),將把該視頻的id發(fā)送到服務(wù)器端,服務(wù)器再以文件流的形式返回該視頻資源,頁(yè)面通過(guò)播放器可以播放該視頻資源。實(shí)現(xiàn)后的效果如下圖:圖3.3 下載頁(yè)面4.

38、1.5后臺(tái)管理登錄后臺(tái)可有主頁(yè)的“我是管理員”鏈接到此頁(yè)面,該頁(yè)面采用的是框架,首先主分為上中下三個(gè)部分,頂端的部分主要是實(shí)現(xiàn)管理員的修改密碼,管理員信息以及退出系統(tǒng)的操作,中間部分主要是顯示當(dāng)前管理員用戶的信息以及對(duì)頁(yè)面操作的選項(xiàng),在中間部分的右側(cè)是采用javascript實(shí)現(xiàn)的當(dāng)前的時(shí)間的功能。在下面的部分又再分為左右兩個(gè)部分。左邊部分是信息管理操作菜單,包括對(duì)后臺(tái)操作的所有功能。右側(cè)則主要是顯示信息的地方。具體實(shí)現(xiàn)的效果如下圖所示:圖3.4 后臺(tái)登錄界面圖3.5 后臺(tái)管理頁(yè)面4.2主要功能程序的實(shí)現(xiàn)程序設(shè)計(jì)思想常見(jiàn)的設(shè)計(jì)思想有兩種:結(jié)構(gòu)化和面向?qū)ο蠡?,本系統(tǒng)采用的是面向?qū)ο蟮脑O(shè)計(jì)思想,下

39、面簡(jiǎn)單介紹一下兩者的不同以及面向?qū)ο蟪绦蛟O(shè)計(jì)的優(yōu)點(diǎn)。傳統(tǒng)的結(jié)構(gòu)化開(kāi)發(fā)過(guò)程包括軟件目標(biāo)的功能分解,以及使用正確的參數(shù)和返回值來(lái)創(chuàng)建函數(shù)。首先分析需求,確定功能,然后以函數(shù)的形式進(jìn)行建模。在一個(gè)web應(yīng)用中很可能有上千個(gè)函數(shù),這些函數(shù)能夠不受限制的互相調(diào)用,因此在訪問(wèn)某個(gè)變量時(shí),很難保證它不是正在被其他的函數(shù)訪問(wèn)或者修改。用jsp腳本來(lái)開(kāi)發(fā)web應(yīng)用時(shí)就是上面所說(shuō)的情況。只使用jsp而不使用任何bean或自定義標(biāo)記,在web應(yīng)用的規(guī)模比較小時(shí)還不會(huì)出現(xiàn)太多的問(wèn)題,但是在web應(yīng)用的規(guī)模增大時(shí)就肯定會(huì)出現(xiàn)問(wèn)題。這些代碼也許能夠滿足功能上的需要,卻不能達(dá)到非功能性的要求。在結(jié)構(gòu)化開(kāi)發(fā)方法面臨問(wèn)題的時(shí)候

40、,使用面向?qū)ο蟮姆椒ㄟM(jìn)行分析、設(shè)計(jì)和開(kāi)發(fā)就可以解決一部分問(wèn)題。面向?qū)ο蟮姆治龊驮O(shè)計(jì)方法源于現(xiàn)實(shí)生活中的模塊化的思想。對(duì)象是提供一組相關(guān)功能的實(shí)體,對(duì)象之間互相作用從而完成一定的任務(wù)。開(kāi)發(fā)方法包括對(duì)目標(biāo)的模塊化,以及用類(lèi)的形式對(duì)數(shù)據(jù)和函數(shù)進(jìn)行封裝。面向?qū)ο蠓椒ㄖ饕幸韵氯齻€(gè)特征:抽象性抽象是對(duì)象建模參數(shù)的選擇,這是進(jìn)行分析后得到的結(jié)果。這意味著是由分析人員來(lái)選擇一定的參數(shù),以表示對(duì)象,這是對(duì)象模型化的第一步。封裝性由于某些原因,類(lèi)中的數(shù)據(jù)和方法不需要對(duì)其他的對(duì)象公開(kāi),我們可以將其隱藏在類(lèi)的內(nèi)部,這是對(duì)象模塊化過(guò)程中很重要的一步。這個(gè)步驟將確保對(duì)象的行為以簡(jiǎn)單的借口出現(xiàn),而復(fù)雜的執(zhí)行過(guò)程都被隱藏了

41、。比如,javabean就可以為web網(wǎng)頁(yè)開(kāi)發(fā)人員提供一個(gè)簡(jiǎn)單的接口。繼承性在一個(gè)現(xiàn)存對(duì)象的基礎(chǔ)上創(chuàng)建一個(gè)新的對(duì)象,這個(gè)過(guò)程稱(chēng)為繼承。這樣我們可以不必重寫(xiě)所有的代碼,只需在新對(duì)象中編寫(xiě)需要更新的代碼就可以了。比如:servlet通常是由httpservlet派生來(lái)的,這意味著web服務(wù)器可以用相同的方法來(lái)處理具有從屬關(guān)系的兩個(gè)servlet。模塊化為了減少獨(dú)立工作小組之間的依賴(lài)性,軟件系統(tǒng)中必須使用模塊。比如,我們可以定義一個(gè)javabean來(lái)處理應(yīng)用程序的狀態(tài),這樣做的優(yōu)點(diǎn)是可以獨(dú)立地對(duì)模塊進(jìn)行維護(hù),這樣就減少了代碼之間的相關(guān)性。4.2.1 數(shù)據(jù)庫(kù)連接的建立本系統(tǒng)在數(shù)據(jù)庫(kù)連接方面,使用統(tǒng)一的

42、連接數(shù)據(jù)庫(kù)的方法,引入相關(guān)的jar包之后,調(diào)用其中的類(lèi)。通過(guò)database.xml配置文件讀取數(shù)據(jù)庫(kù)信息和登陸數(shù)據(jù)庫(kù)帳戶的用戶名和密碼,實(shí)現(xiàn)數(shù)據(jù)庫(kù)的連接。具體的代碼如下:database.xml文件的內(nèi)容如下: com.microsoft.sqlserver.jdbc.sqlserverdriver1433sa123 連接數(shù)據(jù)庫(kù)的方法:public class db /定義連接對(duì)象private connection conn = null;/定義欲編譯語(yǔ)句private preparedstatement psmt=null;/定義結(jié)果集private resultset

43、 rs=null;public connection getconn() try string password=;/ 從xml配置文件中讀取連接數(shù)據(jù)庫(kù)信息documentbuilder db = documentbuilderfactory.newinstance().newdocumentbuilder();document doc = db.parse(./webappslearnsystemweb-infdatabase.xml);system.out.println(doc.getelementsbytagname(serve).item(0).getparentnode().get

44、nodename();string database = doc.getelementsbytagname(database).item(0).getfirstchild().getnodevalue();string serve = doc.getelementsbytagname(server).item(0).getfirstchild().getnodevalue();string user = doc.getelementsbytagname(username).item(0).getfirstchild().getnodevalue();if(doc.getelementsbyta

45、gname(password).item(0).haschildnodes() password = doc.getelementsbytagname(password).item(0).getfirstchild().getnodevalue();string ip = doc.getelementsbytagname(ip).item(0).getfirstchild().getnodevalue();string port = doc.getelementsbytagname(port).item(0).getfirstchild().getnodevalue();class.forna

46、me(serve);if (database.equals(sqlserver) conn = drivermanager.getconnection(jdbc:sqlserver:/ + ip+ : + port + ;database=learnsystem_2, user, password); else if (database.equals(oracle) /system.out.println(jdbc:oracle:thin: + ip+ : + port + :oa);conn = drivermanager.getconnection(jdbc:oracle:thin: +

47、ip+ : + port + :learnsystem_2, user, password); else if (database.equals(mysql) conn = drivermanager.getconnection(jdbc:mysql:/ + ip + :+ port + learnsystem_2, user, password); catch (exception e) e.printstacktrace();return conn;public void closeall(connection conn,preparedstatement psmt,resultset r

48、s ) throws sqlexceptionif(rs!=null)rs.close();if(psmt!=null)psmt.close();if(conn!=null)conn.close();4.2.2注冊(cè)用戶當(dāng)用戶打開(kāi)注冊(cè)頁(yè)面將自己的信息填寫(xiě)好,點(diǎn)擊“提交”按鈕之后,在客戶端瀏覽器首先對(duì)用戶填入的信息進(jìn)行校驗(yàn),校驗(yàn)主要包括:用戶在必填的選項(xiàng)下是否輸入空的內(nèi)容,是否符合該項(xiàng)所定義的格式要求。如不符合要求,該表單的不會(huì)被提交到服務(wù)器端去,這樣有助于減輕服務(wù)器端的壓力。當(dāng)用戶填寫(xiě)的信息正確之后,頁(yè)面由表單的action屬性確定將用戶的請(qǐng)求發(fā)送到服務(wù)器下的registerservlet這個(gè)類(lèi)

49、下進(jìn)行處理,當(dāng)服務(wù)器獲取到請(qǐng)求之后由類(lèi)httpservletrequest的對(duì)象request保留了請(qǐng)求當(dāng)中的參數(shù),通過(guò)該對(duì)象的getparameter(“”)方法可以獲取到表單中的某個(gè)參數(shù)。當(dāng)全部參數(shù)獲取完之后,類(lèi)registerservlet進(jìn)入邏輯處理階段,進(jìn)一步調(diào)用服務(wù)器端所定義的類(lèi)studentdao,該類(lèi)主要是對(duì)數(shù)據(jù)庫(kù)的操作,類(lèi)中有register這樣一個(gè)方法,主要功能是向數(shù)據(jù)庫(kù)的表studentinfo中插入一條數(shù)據(jù)。具體處理過(guò)程如下:public boolean register(string payemail,string paypass,string realname,string sex,string head,string card,string qq,string

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論