




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第一章 緒論1.1 開發背景隨著網絡的普及,學校需要尋找新的學習模式。在線學習是一種新的教育形式。在線學習系統主要服務于學校內的所有學生,為他們很好的提供更多元化的學習環境、更方便復習,預習的學習渠道。在線學習系統是一個正在興起的應用領域,主要利用網頁制作、數據庫等技術實現網上教學的實時性、交互性、動態性。目前對于網上學習的模式以及其所涉及的技術仍有許多問題需要探討和解決。本系統突破一般多媒體輔助教學工具的思想,目的是盡可能將現實的活生生的學習環境和方法應用于網絡教學中,提高學生網上學習的興趣,從而真正提高網上學習質量;同時本系統的總體框架是為建立多學科的通用的模塊化的網上學習平臺,為今后開展
2、廣泛的網上教育提供技術基礎服務。作為傳統教學的延伸,網絡信息化教學的作用正逐步被人們所重視,隨著網絡技術和多媒體技術的進步,網絡信息化教學系統還會有更多的發展空間。1.2 開發意義在傳統的課堂式教學下學習存在著很多的缺點:如:享受到最優秀老師服務的只能是少數人;不能隨時隨地、靈活有效的、個人掌握學習主動權。隨著科學技術的不斷提高,計算機科學與技術日漸成熟,計算機應用的普及,計算機已進入人類社會生活的各個領域,并發揮著越來越重要的作用,越來越多的學員選擇網上在線學習。在線學習提供最優秀的教育資源傳統授課方式中,真正能享受到最優秀老師服務的只能是少數人,而通過在線學習提供的視頻學習,任何人都可以輕
3、松享受到優秀老師提供的教學服務,在線學習系統整合各領域最優秀的教學視頻,可以讓你接受的第一流的教育。在線學習不受時間的限制,并且可以隨時隨地在可以上網的地方參與學習。第二章 系統分析2.1 系統的需求分析 區別于課堂式教育,網上在線學習具有了傳統的課堂式學習無可比擬的優點:網上在線學習體現了真正的因材施教;學生學習不受入學年齡的限制,并且可以避免傳統教學模式下時間和空間的限制;在線學習對學生來說是時空的解放,寬松的學習氛圍更可以使學生發揮他們的聰明才智,他們可以在學習活動中相互啟發、協作交流;在線學習也是一種多向的信息交流活動,學生在獲取不同的學習資源時可進行比較,集思廣益,取長補短,深入理解
4、和消化所學的知識,益于對新知識的意義建構;當代學生學習動機呈多樣性,學習壓力因素各異,而在網絡背景下的學習者可根據自身的特點采取不同的學習方法。讓更多的人符合科學發展跟上時代的步伐。 根據以上實際的需求和特色,本系統需滿足以下幾個方面的要求:1. 提供一個可以與他人交流互動的平臺,在這個平臺上面學生可以發表自己的見解,達到交流共享信息的目的2. 學生可在此系統中注冊成為用戶,注冊成功之后在平臺上交流時其他用戶就可以知道你的信息,從而可以使用戶大膽放心的在這個平臺上分享更多的信息。3. 學生可以在此平臺上獲取到他們所想要的學習資料4. 學生可以在此平臺上進行在線學習。2.2 系統開發設計思想系統
5、采用模塊化程序設計方法,既便于系統功能的各種組合和修改,又便于未參與開發的技術維護人員補充、維護;系統應具備數據庫維護功能,及時根據用戶需求進行數據的添加、刪除、修改、備份等操作。2.3系統開發步驟在線學習系統的建立與應用可以劃分成總體規劃、系統開發和系統運行三個階段,其中系統開發階段還可進一步分為系統分析、系統設計和系統實施等工作環節。上述各個階段排列成一個嚴格的線性開發序列,在每個工作階段均產生完整的技術文檔作為下一階段工作的指導和依據,每一階段都應對文檔進行評審,確信該階段工作已完成并達到要求后才能進入下一階段,同時在以后的工作中不能輕易改變前面經過評審的成果。上述開發方式的主要優點是便
6、于開發工作的組織和管理,并且可大大降低在線學習系統開發的復雜性。國內外許多系統開發的實例都證明這是一種行之有效的開發方式。2.4 系統的主要技術2.4.1 browser/server系統的三層體系結構在browser/server的系統中,用戶可以通過瀏覽器向分布在網絡上的許多服務器發出請求。browser/server結構極大的簡化了客戶機的工作,客戶機上只需安裝、配置少量的客戶端軟件即可,服務器將擔負更多的工作,對數據庫的訪問和應用程序的執行將在服務器上完成。在browser/server三層體系結構下,表示層(presentation)、功能層(business logic)、數據層(
7、data service)被分割成三個相對獨立的單元:第一層-表示層:web瀏覽器在表示層中包含系統的顯示邏輯,位于客戶端。它的任務是由web瀏覽器向網絡上的某一web服務器提出服務請求,web服務器對用戶身份進行驗證后用http協議把所需的主頁傳送給客戶端,客戶機接受傳來的主頁文件,并把它顯示在web瀏覽器上。第二層-功能層:具有應用程序擴展功能的web服務器在功能層中包含系統的事務處理邏輯,位于web服務器端。它的任務是接受用戶的請求,首先需要執行相應的擴展應用程序與數據庫進行連接,通過sql等方式向數據庫服務器提出數據處理申請,而后等數據庫服務器將數據處理的結果提交給web服務器,再由w
8、eb服務器傳送回客戶端。第三層-數據層:數據庫服務器在數據層中包含系統的數據處理邏輯,位于數據庫服務器端。它的任務是接受web服務器對數據庫操縱的請求,實現對數據庫查詢、修改、更新等功能,把運行結果提交給web服務器。從上面的分析中可以看出,三層的browser/server體系結構是把二層client/server結構的事務處理邏輯模塊從客戶機的任務中分離出來,由單獨組成的一層來負擔其任務,這樣客戶機的壓力大大減輕了,把負荷均衡地分配給了web服務器,于是由原來的兩層的client/server結構轉變成三層的browser/server結構。2.4.2 java server page(j
9、sp)技術在本系統的開發過程中采用的是jsp+javabean+servlet模式,在該模式中,結合了jsp和servlet技術,充分利用了jsp和servlet兩種技術原有的優點。此模式遵循視圖控制器(mvc)模式,它的主要思想是使用一個或多個servlet作為控制器。請求由前沿的servlet接收并處理后,會重新定向到jsp。在servlet作為控制器時,每個servlet通常只實現很少一部分功能,多個servlet控制器就可以結合起來完成復雜的任務,這樣的好處是servlet的重用性好。在此模式中,javabean作為模型的角色,它充當jsp和servlet通信的中間工具,servlet
10、處理完后設置bean屬性,jsp讀取此bean的屬性,然后進行顯示。此模式更加明顯的把顯示和邏輯分離,使代碼容易管理,適合于大型項目的開發,所以在本系統中采用了這種模式8。此模式的數據傳遞關系如圖2-1所示。 圖2.1 jsp+javabean+servlet開發模式數據傳遞關系首先,j2ee 結構是設計和開發在線學習系統的核心。第二,系統提供的大部分操作都涉及到與用戶動態地進行信息交互,要求系統能夠實現數據的動態發布。第三,位于客戶端的用戶主要通過瀏覽器使用本系統。第四,在sun 公司提出的j2ee藍圖中明確推薦使用jsp技術為動態內容提供服務。因此,在j2ee結構的模型框架下,jsp 技術
11、是實現此系統動態信息交互功能的首選方案。jsp技術主要有以下一些特點2:(1) 應用程序邏輯和頁面顯示相分離的特性。jsp 把用戶界面從系統內容中分離開來,使得設計人員能夠在不改變底層動態內容的前提下改變整個網頁布局。(2) 組件的可重用性。絕大多數jsp頁面依賴于可重用的、跨平臺的組件來執行應用程序的處理。開發人員能夠共享和交換執行組件,并利用這些組件創建應用程序?;诮M件的方法加速了開發過程,提高了應用程序的開發效率2。(3) 跨平臺特性。jsp技術將“一次編寫,隨處運行”的思想推廣到了交互網頁中,因此不需要作任何更改,就可以很輕松地跨平臺和跨web服務器移動jsp頁。(4)可以用多種格式
12、為動態內容提供服務。jsp可以為不同的客戶端提供服務,包括使html/dhtml的常規瀏覽器、使用wml的移動電話和pda 等手持式無線設備以及使用xml的其他b2b 應用程序等3。2.4.3 jdbc技術jdbc 技術在j2ee 結構的中間層與eis層的數據源之間提供了數據庫獨立的開放性連接,使應用程序不僅可以對基于sql 標準的關系數據庫系統進行訪問,而且還可以對其他類型的數據源進行訪問。jdbc技術通過提供api使java 應用程序能夠實現位于系統層的數據庫的訪問能力。j2ee 結構中間層的應用組件通過jdbc技術可以完成下列功能:實現與位于j2ee結構中系統層的數據庫服務器的連接;管理
13、事務;將sql 請求傳送到數據庫管理系統進行預處理并執行相應的數據操作;執行存儲過程;檢查修改查詢語句的執行結果等。2.5 系統的運行環境和開發平臺2.5.1 硬件設備及操作系統服務器:pentiumiii 1g(或與此相當的cpu)以上配置的高性能pc機,有網絡接口卡(nic),內存應在256m以上,硬盤在80g以上。數據庫軟件ibm db2,還可選用備份服務器。操作系統:windows 98以上??蛻舳耍簆entiumiii 500(或與此相當的cpu)以上配置的pc機,有網絡接口卡(nic),內存應在128m以上,硬盤在10g以上。windows98以上操作系統,安裝web瀏覽器。網絡:
14、服務器和客戶端應有網絡連通。配置tcp/ip協議。2.5.2 系統開發工具電腦配置:dell品牌機cpu: p4 2.6 內存:ddr 512m 硬盤:80g操作系統:microsoft windows server 2003開發環境:myeclispse 7.5web服務平臺:tomcat 6.0數據庫:sql server 20052.5.3 開發工具簡介(1) myeclipse7.5概述9myeclipse企業級工作平臺(myeclipse enterprise workbench ,簡稱myeclipse)是對eclipse ide的擴展,利用它我們可以在數據庫和j2ee的開發、發布
15、,以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的j2ee集成開發環境,包括了完備的編碼、調試、測試和發布功能,完整支持html, struts, jsf, css, javascript, sql, hibernate。(2) tomcat6.0概述10tomcat6.0 服務器是一個免費的開放源代碼的web 應用服務器,tomcat是apache 軟件基金會(apache software foundation)的jakarta 項目中的一個核心項目,由apache、sun 和其他一些公司及個人共同開發而成。由于有了sun 的參與和支持,最新的servlet 和jsp 規范總
16、是能在tomcat 中得到體現,tomcat 6.0 支持最新的servlet 2.4 和jsp 2.0 規范。因為tomcat 技術先進、性能穩定,而且免費,因而深受java 愛好者的喜愛并得到了部分軟件開發商的認可,成為目前比較流行的web 應用服務器。(3) sql server 2005概述11sql server是微軟公司開發的一個關系數據庫管理系統,以transact_sql作為它的數據庫查詢和編程語言。tsql是結構化查詢語言sql的一種,支持ansi sql92標準。sql server 采用二級安全驗證、登錄驗證及數據庫用戶帳號和角色的許可驗證。sql server 支持兩種
17、身份驗證模式:windows nt身份驗證和sql server 身份驗證。7.0版支持多種類型的角色,"角色"概念的引入方便了權限的管理,也使權限的分配更加靈活。第三章 系統設計本系統的學習功能主要是針對學生設計,包括視頻的觀看、下載,相關課件的下載,對有關資源的學習,了解其學習方面的通知,和教師間的相互交流。開始電子公告和bbs學習論壇,引導學生進行網上交流,引導了學生對有關問題進行思考判斷,進而引導學生主動參與本系統的建設,使網絡成為教學的另一個戰場。本系統的教學功能能為教師提供一個平臺,使得課件或電子教案的發布更為簡單,并為教師提供答疑板塊,教師也可進入學習論壇,了
18、解學生的疑問,便于教師與學生的交流,也為今后各科教師自行制作相關專題子網站提供了方便。本系統的管理員管理功能包括用戶管理、資源管理、論壇管理。對用戶及資源信息進行有效的管理。 3.1系統用例與本系統相關的用戶和角色包括:系統管理員:管理系統用戶、角色與權限,發布相關資源,保證系統正常運行。教師:發布相關學習資源(如:視頻、課件等),在線答疑。學生:通過注冊成為本系統用戶,可在線觀看教學視頻、下載有關學習軟件,進行相關問題的咨詢。管理員老師學生用戶在線學習系統瀏覽網頁注冊登陸觀看視頻發帖、跟帖下載資源上傳資源管理用戶、資源圖3.1 系統用例圖3.2 系統功能模塊的劃分軟件所實現的功能強弱是衡量一
19、個軟件的最根本的標準。經過對系統的需求分析和實際應用需求,確定了本子系統的功能模塊如圖3.1所示:在線學習系統用戶模塊在線視頻模塊文件上傳下載模塊b b s論壇模塊后臺管理模塊公告模塊答疑模塊圖3.2 系統功能模塊圖3.2.1用戶模塊用戶包括未注冊的路人、注冊的學生、老師、管理員的權限功能的實現和劃分的用戶模塊。未注冊的用戶登陸本系統只能瀏覽本系統的新聞資訊,或者是瀏覽論壇中的帖子、還有就是在線觀看本體統提供的視頻資源。注冊成功的學生、老師用戶登陸成功之后除了享有路人所有的權限之外還可以下載視頻、課件。進入論壇之后還可以發帖,提出自己的問題,也可以針對某個問題回復別人提出來的問題,和其他的人一
20、起溝通。管理員是權限最大的用戶,可以對本系統中所有的資源進行管理,包括用戶的管理,管理員有權注銷不合法的用戶;主頁面的新聞,管理員可以發布新聞、撤消新聞;論壇中帖子的管理,管理員有權對含有不健康或者是不合法的內容的帖子進行撤消。3.2.2在線視頻模塊該模塊主要實現在線播放,通過在頁面嵌入一個播放器,系統通過jsp頁面戶從數據庫中獲取所有可在線播放的視頻信息,并顯示在頁面上。通過用戶所請求的某個視頻信息返回到頁面的播放器進行播放。3.2.3 文件上傳下載模塊本系統涉及的文件主要包括課件資源和視頻資源:(1) 上傳文件在后臺管理界面中設置“資料管理”按鈕,點擊 “上傳文件”可以在自己的主機或網絡上
21、選擇要上傳的文件資料,這里一次可以上傳一個或多首文件,選擇結束后點擊“上傳”按鈕就可以將文件傳到一個指定的ftp上的文件夾中供用戶下載。對數據庫中表進行查詢,將文件的名稱等信息在相應頁面中顯示出來。(2) 下載文件在數據庫文件信息表中設置“存放路徑”字段,此字段放置的信息是管理員將文件上傳到的路徑信息。前臺頁面中對文件的信息進行查詢,使用代碼來實現每個不同的文件名鏈接到相應的目錄下面,用戶點擊文件下載選擇將其保存到磁盤上可以將該文件保存到自己的本機上;右鍵點擊“另存為”也可將其保存到自己本機上。這兩種方法都實現了文件的下載。該模塊主要實現的功能是管理員定期把一些文件上傳到相應的文件夾中,并在網
22、頁中顯示相關內容,在線用戶可以在線觀看視頻或下載所喜歡的文件。3.2.4答疑模塊(1)提出問題登陸的學生用戶可以向老師提問,當學生遇到方向性的問題,可以向有關的老師提問。每個老師都有教授的課程以及介紹,學生可以通過了解老師所擅長的科目來向他提問。當老師解決了學生提出的問題后,學生登陸時將列出所有解決的問題。(2)解決問題登陸的老師用戶登陸可以瀏覽之前學生所提出的所有問題和解決的問題,老師可以解決未處理的問題。3.2.5 公告模塊在首頁的公告區域顯示管理員發布的公告信息,公告信息實時更新主要顯示的是數據庫中的公告表中的數據資源。3.2.6 bbs論壇模塊用戶登陸首先進入論壇的首頁,在首頁是顯示的
23、所有用戶發表的主貼信息,該頁面主要是分頁顯示數據庫中的主帖信息了內容,包括發帖人頭像、主題、發表時間、點擊數等等,可以點擊某個主貼的主題鏈接到該貼的所有跟帖信息,注冊的用戶還可以發表主題、回復主貼。達到與其他老師或者同學交流的功能。然后該頁面也提供用戶登陸和注冊的功能,主要對于那些路人觀看之后想發表自己的想法的人提供便利,在從帖的頁面主要是分頁顯示某個主帖的從帖信息,同時也包括用戶登陸和注冊的功能。3.2.7 后臺管理模塊后臺管理是最重要的一塊,后臺的管理功能的實現,管理員登陸之后,可以對數據庫中的所有信息進行管理,本模塊的功能模塊由下圖所示:后臺管理用戶管理公告管理資源管理論壇管理圖3.3
24、后臺管理功能模塊圖(1) 用戶的管理管理員有權對該系統的所有管理員、學生進行管理、這就包括對用戶的添加、修改、刪除。(2) 公告管理,管理員可以定期對主頁上面的公告進行更新,通過該模塊,管理員可以輕松、快速的對公告進行管理。 1. 信息公告的錄入主要功能是使管理員以簡捷的方式對通知公告表進行操作,主要的功能有:增加、刪除和修改。管理員在進行以上所有操作時首先要進入登錄界面進行登錄,登錄用的用戶名和密碼是按管理員的不同權限事先分配好的,登錄成功后可以實現增加、修改、刪除一些公告信息。2. 瀏覽信息公告在首頁的適當位置設置公告欄,主要是最新信息。最新的而且較重要的可做成滾動條的形式,滾動顯示通知的
25、信息。當鼠標置于某個標題上時,滾動條停止滾動,點擊標題瀏覽通知公告的正文。其他的可在主頁面里的適當位置按時間的倒序將標題和發布日期顯示出來,點擊標題瀏覽公告信息的正文。(3) 資源管理主要是對現有資源的管理和資料的上傳。1. 現有資源的管理可對現有的視頻和課件進行增加、刪除、修改,可對那些上傳資料不合法的視頻資源可將其是否發布的屬性該為否,這樣將不會在頁面上顯示,也不能提供下載。還有一種就是將是否下載該為否,這樣的話只有在頁面顯示,但是還是不能下載。對于課件資源只有是否下載的屬性,不提供在線的打開,只提供下載。2. 資料的上傳管理員可上傳所需的資源供學生用戶下載。3.3數據庫設計3.3.1數據
26、庫需求分析數據庫的設計在一個系統中的作用十分重要,數據庫建立的是否完善直接影響到你個系統的實現。數據庫的設計既要滿足用戶的需求又要盡最大可能的降低數據的冗余,盡可能降低數據間的依賴,將他們分離。在各種信息的提供,保存,更新和查詢,這就要求數據庫結構能充分滿足各種信息的輸出和輸入,收集基本數據,數據結構,以及數據處理的流程,組成一份詳盡的數據字典,為后面的具體設計打下基礎3.3.2數據庫e-r圖e-r模型的組成元素有:實體、屬性、聯系。e-r模型用e-r圖表示。實體是用戶工作環境中所涉及的事務,屬性是對實體特征的描述。(1)模型中的實體相當于實體集、一個表,而不是單個實體或表中的一行。實體用矩形
27、框表示,實體名稱標注在矩形框內。用菱形表示實體間的聯系,菱形框內寫上聯系名,用無向邊把菱形分別與有關實體相連接,在無向邊旁標上聯系的類型。(2)屬性是實體的性質。用橢圓框表示,與實體之間用一條線相連表的主碼是關鍵屬性,關鍵屬性項加下劃線。(3)各子系統模塊中主鍵相同的字段之間存在著相互關聯的關系。(4)在程序中實現對他們的完整性和一致性控制。具體關系如下圖:11nnnnnnnnnn管理員編號用戶名戶名理密碼發布公告發布時間編號標題內容用戶視頻主貼從貼管理在線觀看下載發帖發帖跟帖類型是否下載是否發布介紹發布時間編號發布者編號資源名資源發布者編號是否下載發布時間編號是否發布視頻名編號主題點擊數內容
28、回帖數發帖人名發帖人編號發布時間內容跟帖編號發帖人編號發貼時間發貼人名回復的主貼編號發帖人頭像圖3.4 管理員管理e-r圖1n1n11nnnn學生電話姓名email身份證老師編號email電話課程編號頭像姓名編號密碼執教課程編號課程名答疑注冊時間頭像答案密碼性別解答問題提問內容解答人編號提問人編號從屬編號解答時間提問時間提問人編號提問時間解答人編號內容是否被解答圖3.5 答疑e-r圖3.3.3數據庫的邏輯設計邏輯結構設計的原則如下:(1)盡可能的減少數據冗余和重復。(2)結構設計與操作設計相結合。(3)數據結構具有相對的穩定性?;谝陨显O計原則,本系統設計了如下數據庫:字段類型長度是否空主鍵說
29、明adminid自動編號長整型不能空是管理員idadminname文本10不能空否管理員姓名adminpassword文本10不能空否管理員密碼表1 管理員信息表表2 學生信息表字段類型長度主鍵是否空說明stuid自動編號長整型是不能空學生idstuname文本10否不能空學生姓名stupassword文本20否不能空學生密碼stusex文本2否不能空學生性別stuemail文本50否能空學生emailstuhead文本100否能空學生頭像stucard文本20否能空身份證號stutel文本20否能空學生電話sturegtime日期/時間否能空學生注冊時間表3 公告表字段類型長度主鍵是否空說明
30、callid自動編號長整型是不能空公告idcalltitle文本100否不能空公告標題callcontent文本1000否不能空公告內容calltime時間/日期否不能空公告發布時間表4 新聞表字段類型長度主鍵是否空說明newsid自動編號長整型是不能空新聞idnewstopic文本100否不能空新聞主題newscontent文本2000否不能空新聞內容newstime時間/日期否不能空新聞發布時間字段類型長度主鍵是否空說明videoid自動編號長整型是 不能空視頻idvideotopic文本100否 不能空視頻名稱videoowner整型否不能空視頻發布者idvideotime時間/日期否不
31、能空發布時間isdownload文本2否不能空是否供下載isagree文本2否不能空是否發布表5 視頻資源表表6 文件表字段類型長度主鍵是否空說明filesid自動編號長整型是不能空文件idfilesname文本100否不能空文件名稱filestype文本10否不能空文件類型filesowner整型否不能空文件發布者編號filestime時間/日期否不能空發布時間isdownload文本2否不能空是否供下載isagree文本2否不能空是否發布fileintroduce文本500否能空文件介紹filetopic文本100否不能空顯示的文件名表7發帖表字段類型長度主鍵是否空說明tid自動編號長整型
32、是不能空帖子idtuserid整型否不能空發帖人idtusername文本20否不能空發帖人名treplycount整型否不能空回帖數ttopic文本50否不能空帖子主題tcontent文本2000不能空帖子內容tclickcount整型不能空點擊數ttime時間/日期不能空發帖時間tuserhead文本100能空發帖人頭像表8 跟帖表字段類型長度主鍵是否空說明rid自動編號長整型是不能空跟帖idrtid整型否不能空回復的主帖編號ruserid整型否不能空發帖人idrcontent文本1000否不能空正文rtime時間/日期否不能空發帖時間rusername文本20否不能空發帖人姓名ruser
33、head文本100否v能空發帖人頭像表9 教師信息表字段類型長度主鍵是否空說明tchid整型長整型是不能空教師idtchname文本10否不能空教師名tchpassword文本20否不能空密碼tchemail文本20否能空教師emailtchtel文本15否能空教師電話tchhead文本30否能空教師頭像couseid整型長整型否不能空所教課程tchintro文本200否能空教師簡介表10 課程信息表字段類型長度主鍵是否空說明courseid整型長整型是不能空課程編號coursename文本20否不能空課程名表11 問題表字段類型長度主鍵是否空說明questid整型長整型是不能空問題編號que
34、ststuid整型長整型否不能空提問人編號questtime時間/日期否不能空提問時間questtchid整型長整型否不能空解答人編號questcontent文本500否不能空提問內容isanswer文本2否不能空是否被解答表12 答案表字段類型長度主鍵是否空說明answerid整型長整型是不能空答案編號answertchid整型長整型否不能空解答人編號answerstuid整型長整型否不能空提問人編號answercontent文本500否不能空答案內容answertime時間/日期否不能空解答時間isanswer文本2否不能空是否被解答數據庫表之間的關系如下: 參考文獻 1 葉子,進實現j計
35、算機工程與科學,2009,1(07):61-64. 2 基于matlab 實現的指紋圖像預處理j2008,34(04):836-856. 3 4 5 by-gnksguybb 6 李 寧指紋增強算法研究d濟南:山東大學,2007. 7 馬揚彪基于gabor 濾波的指紋圖像增強j. 微計算機信息,2009,25(15):305-306. 8 向 銳面向低質量指紋的圖像增強算法研究d重慶:西南政法大學,2008.第四章 系統實現4.1主要界面實現本系統的設計主要采用藍色為題,給人以愉悅,舒暢的感覺,讓學生能夠集中思想盡快投入到學習當中去。4.1.1用戶注冊通過首頁的注冊鏈接進入到注冊頁面,該頁面主
36、要是對用戶的信息進行采集,主體是一個表單。通過“提交”按鈕可以將用戶的信息發送到服務器端。4.1.2 首頁首先進入的是網站的首頁,首頁主要采用的主要是div容器,使用div能快速、準確的對頁面的元素的大小和位置進行定位,在div容器中進一步使用table,對頁面的元素進行排版。網站所有的頁面都采用統一的樣式文件.css,頁面所有的背景圖片都放在image文件夾下11。在主頁面的頂端可以鏈接到本系統提供的其他功能,主要包括資料庫、學習論壇等,在主頁還要實現用戶的登陸以及注冊的功能,在頁面的右側有登陸的表單,用于獲取學生或者是管理員的用戶名和密碼提交到后臺來實現用戶登陸。實現后的主頁效果如下圖:圖
37、3.1首頁效果4.1.3 論壇當用戶登陸成功以后,如果點擊主頁的學習論壇,用戶的請求提交到后臺,該請求包含了用戶請求論壇首頁顯示的頁數,初次登陸的默認值是1,因此服務器端返回論壇第一頁的記錄,鏈接到論壇的主頁。論壇首頁采用jsp頁面,當打開該頁面的時候,可以獲取session中保存的第一頁的所有記錄,通過引入c標簽的中循環控制標簽<c:foreach>,加上頁面的表格,顯示session中的記錄。此頁面還包括發帖的功能,在頁面的底端,登陸成功的用戶可以在此發表自己的帖子。此頁面還應當包括登陸注冊的功能,不是所有登陸該頁面的用戶都是登陸的用戶,還包括路人。實現后的論壇首頁效果如圖:圖
38、3.2論壇效果4.1.4 在線視頻當登陸成功的用戶點擊首頁的資料庫,點擊視頻資源后,客戶端將向服務器發送請求,服務器將頁面跳轉到視頻播放的主頁,該頁面加載的時候從數據庫中分別獲取科發布的視頻的前8條記錄以及可下載視頻的前5條記錄,可發布的視頻時可以在線觀看的,在頁面引入了一個視頻播放器,當用戶點擊視頻資源的播放圖標,將把該視頻的id發送到服務器端,服務器再以文件流的形式返回該視頻資源,頁面通過播放器可以播放該視頻資源。實現后的效果如下圖:圖3.3 下載頁面4.1.5后臺管理登錄后臺可有主頁的“我是管理員”鏈接到此頁面,該頁面采用的是框架,首先主分為上中下三個部分,頂端的部分主要是實現管理員的修
39、改密碼,管理員信息以及退出系統的操作,中間部分主要是顯示當前管理員用戶的信息以及對頁面操作的選項,在中間部分的右側是采用javascript實現的當前的時間的功能。在下面的部分又再分為左右兩個部分。左邊部分是信息管理操作菜單,包括對后臺操作的所有功能。右側則主要是顯示信息的地方。具體實現的效果如下圖所示:圖3.4 后臺登錄界面圖3.5 后臺管理頁面4.2主要功能程序的實現程序設計思想常見的設計思想有兩種:結構化和面向對象化,本系統采用的是面向對象的設計思想,下面簡單介紹一下兩者的不同以及面向對象程序設計的優點。傳統的結構化開發過程包括軟件目標的功能分解,以及使用正確的參數和返回值來創建函數。首
40、先分析需求,確定功能,然后以函數的形式進行建模。在一個web應用中很可能有上千個函數,這些函數能夠不受限制的互相調用,因此在訪問某個變量時,很難保證它不是正在被其他的函數訪問或者修改。用jsp腳本來開發web應用時就是上面所說的情況。只使用jsp而不使用任何bean或自定義標記,在web應用的規模比較小時還不會出現太多的問題,但是在web應用的規模增大時就肯定會出現問題。這些代碼也許能夠滿足功能上的需要,卻不能達到非功能性的要求。在結構化開發方法面臨問題的時候,使用面向對象的方法進行分析、設計和開發就可以解決一部分問題。面向對象的分析和設計方法源于現實生活中的模塊化的思想。對象是提供一組相關功
41、能的實體,對象之間互相作用從而完成一定的任務。開發方法包括對目標的模塊化,以及用類的形式對數據和函數進行封裝。面向對象方法主要有以下三個特征:抽象性抽象是對象建模參數的選擇,這是進行分析后得到的結果。這意味著是由分析人員來選擇一定的參數,以表示對象,這是對象模型化的第一步。封裝性由于某些原因,類中的數據和方法不需要對其他的對象公開,我們可以將其隱藏在類的內部,這是對象模塊化過程中很重要的一步。這個步驟將確保對象的行為以簡單的借口出現,而復雜的執行過程都被隱藏了。比如,javabean就可以為web網頁開發人員提供一個簡單的接口。繼承性在一個現存對象的基礎上創建一個新的對象,這個過程稱為繼承。這
42、樣我們可以不必重寫所有的代碼,只需在新對象中編寫需要更新的代碼就可以了。比如:servlet通常是由httpservlet派生來的,這意味著web服務器可以用相同的方法來處理具有從屬關系的兩個servlet。模塊化為了減少獨立工作小組之間的依賴性,軟件系統中必須使用模塊。比如,我們可以定義一個javabean來處理應用程序的狀態,這樣做的優點是可以獨立地對模塊進行維護,這樣就減少了代碼之間的相關性。4.2.1 數據庫連接的建立本系統在數據庫連接方面,使用統一的連接數據庫的方法,引入相關的jar包之后,調用其中的類。通過database.xml配置文件讀取數據庫信息和登陸數據庫帳戶的用戶名和密碼
43、,實現數據庫的連接。具體的代碼如下:database.xml文件的內容如下:<?xml version="1.0" encoding="utf-8"?><database> <sqlserver><serve>com.microsoft.sqlserver.jdbc.sqlserverdriver</serve><ip></ip><port>1433</port><user>sa</user><pas
44、sword>123</password> </sqlserver></database>連接數據庫的方法:public class db /定義連接對象private connection conn = null;/定義欲編譯語句private preparedstatement psmt=null;/定義結果集private resultset rs=null;public connection getconn() try string password=""/ 從xml配置文件中讀取連接數據庫信息documentbuilder
45、db = documentbuilderfactory.newinstance().newdocumentbuilder();document doc = db.parse("./webappslearnsystemweb-infdatabase.xml");system.out.println(doc.getelementsbytagname("serve").item(0).getparentnode().getnodename();string database = doc.getelementsbytagname("database&q
46、uot;).item(0).getfirstchild().getnodevalue();string serve = doc.getelementsbytagname("server").item(0).getfirstchild().getnodevalue();string user = doc.getelementsbytagname("username").item(0).getfirstchild().getnodevalue();if(doc.getelementsbytagname("password").item(0
47、).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
48、();class.forname(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
49、:" + ip+ ":" + port + ":oa");conn = drivermanager.getconnection("jdbc:oracle:thin:" + ip+ ":" + port + ":learnsystem_2", user, password); else if (database.equals("mysql") conn = drivermanager.getconnection("jdbc:mysql:/" + i
50、p + ":"+ port + "learnsystem_2", user, password); catch (exception e) e.printstacktrace();return conn;public void closeall(connection conn,preparedstatement psmt,resultset rs ) throws sqlexceptionif(rs!=null)rs.close();if(psmt!=null)psmt.close();if(conn!=null)conn.close();4.2.2注冊
51、用戶當用戶打開注冊頁面將自己的信息填寫好,點擊“提交”按鈕之后,在客戶端瀏覽器首先對用戶填入的信息進行校驗,校驗主要包括:用戶在必填的選項下是否輸入空的內容,是否符合該項所定義的格式要求。如不符合要求,該表單的不會被提交到服務器端去,這樣有助于減輕服務器端的壓力。當用戶填寫的信息正確之后,頁面由表單的action屬性確定將用戶的請求發送到服務器下的registerservlet這個類下進行處理,當服務器獲取到請求之后由類httpservletrequest的對象request保留了請求當中的參數,通過該對象的getparameter(“”)方法可以獲取到表單中的某個參數。當全部參數獲取完之后,
52、類registerservlet進入邏輯處理階段,進一步調用服務器端所定義的類studentdao,該類主要是對數據庫的操作,類中有register這樣一個方法,主要功能是向數據庫的表studentinfo中插入一條數據。具體處理過程如下:public boolean register(string payemail,string paypass,string realname,string sex,string head,string card,string qq,string tel)boolean b=false;db db=new db();sql="insert into
53、studentinfo(stuname,stupassword,stusex,stuemail,sturegisttime,stuhead,stucard,stuqq,stutel)" +" values(?,?,?,?,getdate(),?,?,?,?)"conn=db.getconn();try psmt=conn.preparestatement(sql);psmt.setstring(1, realname);psmt.setstring(2, paypass);psmt.setstring(3, sex);psmt.setstring(4, payemai
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網絡維護中的問題與解決方案試題及答案
- 西方國家外交政策試題及答案
- 學以致用2025年信息管理師試題及答案
- 必考的項目管理知識點梳理試題及答案
- 軟考網絡安全技術試題及答案
- 安全策略評估試題及答案分析
- 軟考網絡工程師每年考題變化趨勢及試題及答案
- 重要網絡配置指標試題及答案介紹
- 西方國家的政治穩定性與經濟繁榮試題及答案
- 如何應對國際關系中的政治風險挑戰試題及答案
- 放射科急救培訓計劃
- 安全生產檢查咨詢服務安全生產隱患檢查服務方案
- 中國普通食物營養成分表一覽
- 國家中長期科技發展規劃(2021-2035)
- 云南省曲靖市2022-2023學年六年級下學期期末數學試題
- 副總經理崗位競聘
- 6S管理培訓教材系統課件
- 初中譯林英語詞組匯總
- 離婚協議書完整版本
- 陪診服務的營銷策略分析報告
- 《資源稅類》課件
評論
0/150
提交評論