基于JSP網(wǎng)上作業(yè)管理系統(tǒng)的設計與實現(xiàn)_第1頁
基于JSP網(wǎng)上作業(yè)管理系統(tǒng)的設計與實現(xiàn)_第2頁
基于JSP網(wǎng)上作業(yè)管理系統(tǒng)的設計與實現(xiàn)_第3頁
基于JSP網(wǎng)上作業(yè)管理系統(tǒng)的設計與實現(xiàn)_第4頁
基于JSP網(wǎng)上作業(yè)管理系統(tǒng)的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、精選優(yōu)質(zhì)文檔傾情為你奉上精選優(yōu)質(zhì)文檔傾情為你奉上專心專注專業(yè)專心專注專業(yè)精選優(yōu)質(zhì)文檔傾情為你奉上專心專注專業(yè)目 錄TOC o 1-2 h u 第1章 概述 從20世紀90年代以來,Internet逐步走上信息時代的歷史舞臺,它為人民提供了一種嶄新的信息交流方式。同時,也隨著信息技術(shù)、網(wǎng)絡技術(shù)和多媒體技術(shù)的飛速發(fā)展,網(wǎng)絡與教育的有機結(jié)合逐步成為教育領域的一種發(fā)展趨勢。美國思科集麗總裁約翰錢伯斯訪問中國期間發(fā)表演講時曾指出“是網(wǎng)絡和教育決定了我們的未來”。他認為,作為推進社會經(jīng)濟發(fā)展的兩個核心動力一一“網(wǎng)絡和教育”將深刻地改變一個民族的歷史和命運,改變一個國家、企業(yè)、個人在未來時代的競爭力。在方興

2、未艾的大潮中,誰把握了前沿的信息,誰就把握了未來,誰開創(chuàng)了面向未來的現(xiàn)代教育體系,誰將具有持續(xù)發(fā)展的能力! 在網(wǎng)絡的推動下,教育也走上了信息化的時代。從單機的CAI、ICAI、衛(wèi)星電視、多媒體到教育網(wǎng)絡,這無不說明整個教育界都在努力地運用各種最新的信息技術(shù)手段來優(yōu)化教育與教學過程。在這樣的需要下,以Internet和多媒體為標志的現(xiàn)代遠程教學就以一種全新的教學形式呈現(xiàn)在了世人面前。它作為一種新型的教學模式,將最大限度利用現(xiàn)有教育資源,它是實現(xiàn)教育的大眾化、現(xiàn)代化、終身化和國際化的新型教育形式。現(xiàn)代遠程教育是隨著現(xiàn)代信息技術(shù)的發(fā)展而產(chǎn)生的一種新型教育形式,是構(gòu)筑知識經(jīng)濟時代人們終身學習體系的主要

3、手段。我國真正意義上的現(xiàn)代遠程教育是從1998年9月教育部批準清華大學、湖南大學、浙江大學、北京郵電大學作為現(xiàn)代遠程教育首批試點高校開始的?,F(xiàn)代遠程教育具有傳統(tǒng)教學模式無可比擬的優(yōu)點,它創(chuàng)造了一種全新的教學模式,打破了傳統(tǒng)教學模式在時空上的限制,采用先進的教學手段和教學方法,可以實現(xiàn)適合學生個體發(fā)展的教學。因此,這種與網(wǎng)絡相結(jié)合的學習系統(tǒng)的開發(fā)與利用越來越受到世界各國的廣泛重視。軟件工程的基本思想就是將軟件當作一種工程產(chǎn)品來處理,從時間角度對軟件開發(fā)和維護的復雜問題進行分解,把軟件生命的漫長周期依次劃分為若干個相對獨立的階段,并給每個階段賦予明確而有限的任務。從控制論的角度來說,這種思想就是在

4、改造原有系統(tǒng),設置系統(tǒng)狀態(tài)觀測點和系統(tǒng)控制點,以便了解當前所處的狀態(tài)和控制系統(tǒng)的狀態(tài)。另外,軟件工程在每個階段結(jié)束時都進行嚴格的技術(shù)審查和管理審查,這實際上就是在比較當前狀態(tài)與預想狀態(tài)的差別,并根據(jù)這些差別來反饋調(diào)整該階段的設計。軟件開發(fā)的一個共識,是把一個大的項目劃分成一些小的模塊,再把小的模塊劃分成更小的模塊。如果這些小模塊是獨立的(或者原來就是一個獨立的項目),那么軟件工程至少可以提高它的重用性。 任何軟件系統(tǒng)要想獲得較好的質(zhì)量和較高的開發(fā)效率都必須遵循軟件開發(fā)的一般規(guī)律。開發(fā)一項系統(tǒng)工程所涉及的技術(shù)面較廣,特別是詫此類與教學相關(guān)的系統(tǒng),除了相關(guān)課程專業(yè)知識,還必須掌握各類實現(xiàn)技術(shù),需要

5、考慮的問題也較多,使軟件開發(fā)的工作量加大,開發(fā)周期加長,需要提供一種手段來控制整個開發(fā)進程,以提高開發(fā)的成功率。由于教學對象的變更,經(jīng)常需要增加或修改部分功能,維護量大,因此要求軟件系統(tǒng)的可維護性高。另外,為了盡量減少系統(tǒng)開發(fā)與維護人員的交接問題,避免無形的浪贊,該軟件系統(tǒng)必須具有較高的可讀性。這就需要軟件工程來有效合理的組織整個軟件開發(fā)過程,這是一種指導軟件開發(fā)的一種工程思想,軟件工程的思想和原則可以明顯提高軟件的可靠性、可維護性及軟件開發(fā)的成功率,是解決以上問題的有效方法。本文就是在軟件工程的思想和原則的基礎上分析設計了一套網(wǎng)上作業(yè)系統(tǒng),以此來探討相關(guān)實現(xiàn)技術(shù)。第2章 系統(tǒng)技術(shù)概述2.1分

6、布式應用系統(tǒng) 縱觀人類計算扭的發(fā)展歷史,每隔十年至十五年,信息產(chǎn)業(yè)就公發(fā)生周期性的變革,1950年至1970年期間,主要采用大型主機一終端的體系結(jié)構(gòu),應用系統(tǒng)則采用單一、集中的方式為用戶提供資源共享服務。80年代初期,開放系統(tǒng)與關(guān)系型數(shù)據(jù)庫管理系統(tǒng)被大量采用,有別于集中式系統(tǒng),應用程序邏輯分散在主從兩端。隨著Windows的普及,90年代則是圖形化的應用時代,C1ient/Server體系結(jié)構(gòu)也被廣泛采用。90年代后期,信息產(chǎn)業(yè)出現(xiàn)了分布式對象技術(shù),應用程序可以分布在不同的系統(tǒng)平臺上,通過分布式技術(shù)實現(xiàn)異構(gòu)平臺間對象的相互通信。將企業(yè)已有系統(tǒng)集成于分布式系統(tǒng),可以極大地提高企業(yè)應用系統(tǒng)的擴展性

7、。90年代末出現(xiàn)的多層分布式應用進一步簡化應用系統(tǒng)的開發(fā)指明了方向。 目前國內(nèi)外的各類系統(tǒng)較多,從結(jié)構(gòu)上來看,主要是客戶機/服務器結(jié)構(gòu)(Client/Server)和瀏覽器/服務器(Browser/Server)結(jié)構(gòu)。2.1.1 C/S結(jié)構(gòu)與B/S結(jié)構(gòu)1. C/S結(jié)構(gòu) C/S(Client/Server)結(jié)構(gòu),即大家熟知的客戶機和服務器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務合理分配到Client端和Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應用軟件系統(tǒng)都是C1ient/Server形式的兩層結(jié)構(gòu),出于現(xiàn)在的軟件應用系統(tǒng)正在向分布式的Web應用發(fā)展,

8、Web和Client/Server應用都可以進行同樣的業(yè)務處理,應用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應用系統(tǒng)。通過現(xiàn)有應用系統(tǒng)中的邏輯可以擴展出新的應用系統(tǒng)。這也就是目前應用系統(tǒng)的發(fā)展方向。 傳統(tǒng)的C/S體系結(jié)構(gòu)雖然采用的是開放模式,但這只是系統(tǒng)開發(fā)一級的開放性,在特定的應用中無論燒Client端還是Server端都還需要特定的軟件支持。由于沒能提供用戶真正期望的開放環(huán)境,C/S結(jié)構(gòu)的軟件需要針對不同的操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件,加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適應百臺電腦以上局域網(wǎng)用戶同時使用。而且代價高,效率低。 2. B/S結(jié)構(gòu) B/S(Bro

9、wser/Server)結(jié)構(gòu)即瀏覽器和服務器結(jié)構(gòu)。就是只安裝維護一個服務器(Server),而客戶端采用瀏覽器(Browse)運行軟件。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化和改進。主要利用了不斷成熟的WWW瀏覽器投術(shù),結(jié)合多種Script語言(VBScript、JavaScript)和ActiveX技術(shù),是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。B/S三層體系結(jié)構(gòu)采用三層客戶/服務器結(jié)構(gòu),在數(shù)據(jù)管理層(Server)和用戶界面層(C1ient)增加了一層結(jié)構(gòu),稱為中間件(Middleware),使整個體系結(jié)構(gòu)成為三層。三層結(jié)構(gòu)是伴隨著中間件技術(shù)的成熟而興起的,核心概念是利用中間件將應

10、用分為表示層、業(yè)務邏輯層和數(shù)據(jù)存儲層三個不同的處理層次。三個層次的劃分是從邏輯上分的,具體的物理分法可以有多種組合。中聞件作為構(gòu)造三層結(jié)構(gòu)應用系統(tǒng)的基礎平臺,提供了以下主要功能:負責客戶機與服務器、服務器與服務囂間的連接和通信;實現(xiàn)應用與數(shù)據(jù)庫的高效連接:提供一個三層結(jié)構(gòu)應用的開發(fā)、運行、部署和管理的平臺。這種三層結(jié)構(gòu)在層與層之間相互獨立,任何一層的改變不會影響其它層的功能。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本(TCO)。 在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡上的許多服務器發(fā)出請求,服務器對瀏覽器的請求進行處理,將用戶所需信息返

11、回到瀏覽器。而其余如數(shù)據(jù)請求、加工、結(jié)果返回以及動態(tài)網(wǎng)頁生成、對數(shù)據(jù)庫的訪問和應用程序的執(zhí)行等工作全部由Web Server完成。隨著Windows將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)部,這種結(jié)構(gòu)已成為當今應用軟件的首選體系結(jié)構(gòu)。顯然B/S結(jié)構(gòu)應用程序相對于傳統(tǒng)的C/S結(jié)構(gòu)應用程序是一個非常大的進步。 B/S結(jié)構(gòu)的主要特點是分布性強、維護方便、開發(fā)簡單且共享性強、總體擁有成本低。以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡應用,并通過Internet/Intranet模式下數(shù)據(jù)庫應用,相對易于把握、成本也是較低的。它是一次性到位的開發(fā),能實現(xiàn)不同的人員,從不同的地點,以不同的接入方式(比如LAN,WAN,

12、Internet/Intranet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護數(shù)據(jù)平臺和管理訪問權(quán)限,服務器數(shù)據(jù)庫也很安全,B/S架構(gòu)的管理軟件更是方便、快捷、高效。 3. 管理軟件主流技術(shù)管理軟件的主流技術(shù)與管理思想一樣,也經(jīng)歷了三個發(fā)展時期。首先,界面技術(shù)從上世紀DOS字符界面到Windows圖形界面(或圖形用戶界面GUI),直至Browser瀏覽器界面三個不同的發(fā)展時期。其次,今天所有電腦的瀏覽器界面,不僅直觀和易于使用,更主要的是基于瀏覽器平臺的任何應用軟傳其風格都是一樣的,使用人對操作培訓的要求不高,而且軟件可操作性強,易于識別;再者,平臺體系結(jié)構(gòu)也從過去單用戶發(fā)展到今天的文件/服務器

13、(F/S)體系、客戶機/服務器(C/S)體系和瀏覽器/服務器(B/S)體系。2.1.2 C/S與B/S之優(yōu)劣 C/S和B/S是當今世界開發(fā)模式技術(shù)架構(gòu)的兩大主流技術(shù)。C/S是美國Borland公司最早研發(fā),B/S是美國微軟公司研發(fā)。目前,這兩項技術(shù)以被世界各國所掌握,國內(nèi)公司以C/S和B/S技術(shù)開發(fā)出產(chǎn)品也很多。這兩種技術(shù)都有自己的優(yōu)勢和劣勢。 1.C/S架構(gòu)軟件的優(yōu)勢與劣勢 應用服務器運行數(shù)據(jù)負荷較輕。最簡單的C/S體系結(jié)構(gòu)的數(shù)據(jù)庫應用由兩部分組成,即客戶應用程序和數(shù)據(jù)庫服務器程序。當需要對數(shù)據(jù)庫中的數(shù)據(jù)進行任何操作時,客戶程序就自動地尋找服務器程序,并向其發(fā)出請求,服務器程序根據(jù)預定的規(guī)則

14、做出應答,送回結(jié)果,應用服務器運行數(shù)據(jù)負荷較輕。 數(shù)據(jù)的儲存管理功能較為透明。在數(shù)劇庫應用中,數(shù)據(jù)的儲存管理功能,是由服務器程序和客戶應用程序分別獨立進行的,前臺應用可以違反的規(guī)則,并且通常把那些不同的(不管是已知還是未知的)運行數(shù)據(jù),在服務器程序中不集中實現(xiàn),麻煩的事情都交給了服務器和網(wǎng)絡。在C/S體系下,數(shù)據(jù)庫不能真正成為公共、專業(yè)化的倉庫,它受到獨立的專門管理。 高昂的維護成本且投資大這是C/S結(jié)構(gòu)的劣勢。首先,采用C/S架構(gòu),要選擇適當?shù)臄?shù)據(jù)庫平臺來實現(xiàn)數(shù)據(jù)庫數(shù)據(jù)的真正“統(tǒng)一”,使分布于兩地的數(shù)據(jù)同步完全交由數(shù)據(jù)庫系統(tǒng)去管理,但邏輯上兩地的操作者要直接訪問同一個數(shù)據(jù)庫才能有效實現(xiàn),有這

15、樣一些問題,如果需要建立“實時”的數(shù)據(jù)同步,就必須在兩地間建立實時的通訊連接,保持兩地的數(shù)據(jù)庫服務器在運行,網(wǎng)絡管理工作人員既要對服務器維護管理,又要對客戶端維護和管理,這需要高昂的投資和復雜的技術(shù)支持,維護成本很高,維護任務量大。 2B/S架構(gòu)軟件的優(yōu)勢與劣勢 維護和升級方式簡單。目前,軟件系統(tǒng)的改進和升級越來越頻繁,B/S架構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。B/S架構(gòu)的軟件只需要管理服務器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護。所以客戶機越來越“瘦”,而服務器越來越“胖”是將來信息化發(fā)展的主流方向。今后,軟件升級和維護會越來越容易,而使用起來會越來越簡單,這對用戶人力、物力

16、、時間、費用的節(jié)省是顯而易見的,驚人的。因此,維護和升級革命的方式是“瘦”客戶機,“胖”服務器。 成本降低,選擇更多。大家都知道windows在桌面電腦上幾乎一統(tǒng)天下,瀏覽器成為了標準配置,但在服務器操作系統(tǒng)上windows并不是處于絕對的統(tǒng)治地位?,F(xiàn)在的趨勢是凡使用B/S架構(gòu)的應用管理軟件,只需安裝在服務器上即可,而且安全性高。所以服務器操作系統(tǒng)的選擇是很多的,不管選用那種操作系統(tǒng)都可以讓大部分人正常使用。應用服務器運行數(shù)據(jù)負荷較重。由于B/S架構(gòu)管理軟件只安裝在服務器端(Server)上,網(wǎng)絡管理人員只需要管理服務器就行了,用戶界面主要事務邏輯在服務器(Server)端完全通過www瀏覽器

17、實現(xiàn),極少部分事務邏輯在前端(Browser)實現(xiàn),所有的客戶端只有瀏覽器,網(wǎng)絡管理人員只需要做硬件維護。但是,應用服務器運行數(shù)據(jù)負荷較重,一旦發(fā)生服務器“崩潰”等問題,后果不堪設想。因此,許多單位都備有數(shù)據(jù)庫存儲服務器,以防萬一。2.1.3 C/S與B/S的區(qū)別 Client/Server是建立在局域網(wǎng)的基礎上的,Browser/Server是建立在廣域網(wǎng)的基礎上的。 1. 硬件環(huán)境不同: C/S一般建立在專用的網(wǎng)絡上,小范圍里的網(wǎng)絡環(huán)境,局域網(wǎng)之間再通過專門服務器提供連接和數(shù)據(jù)交換服務。B/S建立在廣域網(wǎng)之上的,不必是專門的網(wǎng)絡硬件環(huán)境,例如電話上網(wǎng),租用設備,信息自己管理,有比C/S更強

18、的適應范圍,一般只要有操作系統(tǒng)和瀏覽器就行。 2. 對安全要求不同 C/S一般面向相對固定的用戶群,對信息安全的控制能力很強。一般高度機密的信息系統(tǒng)采用C/S結(jié)構(gòu)適宜,可以通過B/S發(fā)布部分可公開信息。B/S建立在廣域網(wǎng)之上,對安全的控制能力相對弱,面向是不可知的用戶群。 3. 對程序架構(gòu)不同 C/S程序可以更加注重流程,可以對權(quán)限多層次校驗,對系統(tǒng)運行速度可以較少考慮。B/S對安全以及訪問速度的多重的考慮,建立在需要更加優(yōu)化的基礎之上。比C/S有更高的要求,B/S結(jié)構(gòu)的程序架構(gòu)是發(fā)展的趨勢,從MS的.Net系列的BizTalk2000,Exchange2000等,全面支持網(wǎng)絡的構(gòu)件搭建的系統(tǒng)

19、。SUN和IBM推出的JavaBean構(gòu)件技術(shù)等,使B/S更加成熟。4. 軟件重用不同C/S程序可以不可避免的整體性考慮,構(gòu)件的重用性不如在B/S要求下的構(gòu)件的重用性好。B/S對的多重結(jié)構(gòu),要求構(gòu)件相對獨立的功能。能夠相對較好的重用。就如買來的餐桌可以再利用,而不是做在墻上的石頭桌子。 5. 系統(tǒng)維護不同系統(tǒng)維護是軟件生存周期中,開銷大,相當重要。C/S程序由于整體性,必須整體考察,處理出現(xiàn)的問題以及系統(tǒng)升級難,可能是再做一個全新的系統(tǒng)。B/S構(gòu)件組成方面構(gòu)件個別的更換,實現(xiàn)系統(tǒng)的無縫升級。系統(tǒng)維護開銷減到最小,用戶從網(wǎng)上自己下載安裝就可以實現(xiàn)升級。 6. 處理問題不同C/S程序可以處理用戶面

20、固定,并且在相同區(qū)域,安全要求高的需求,與操作系統(tǒng)相關(guān),應該都是相同的系統(tǒng)。B/S建立在廣域網(wǎng)上,面向不同的用戶群,分散地域,這是C/S無法做到的,與操作系統(tǒng)平臺關(guān)系最小。 7. 用戶接口不同C/S多是建立在Window平臺上,表現(xiàn)方法有限,對程序員普遍要求較高。B/S建立在瀏覽器上,有更加豐富和生動的表現(xiàn)方式與用戶交流,并且大部分難度減低,降低開發(fā)成本。2.2 JSP技術(shù)2.2.1 簡介JSP技術(shù)使用編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務端的資源的。JSP將網(wǎng)頁邏輯與和顯示分離,支持可重用的基于組件的設

21、計,使基于Web的的開發(fā)變得迅速和容易。 Web在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的,然后將執(zhí)行結(jié)果連同JSP文件中的HTML一起返回給客戶。插入的程序段可以操作、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。JSP與Java一樣,是在服務器端執(zhí)行的,通常返回給的就是一個HTML文本,因此客戶端只要有就能瀏覽。 JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。是JSP的技術(shù)基礎,而且大型的Web應用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Jav

22、a技術(shù)的簡單易用,完全的,具有平臺無關(guān)性且安全可靠,主要面向的所有特點。 2.2.2 JSP內(nèi)置對象 JSP提供了九個內(nèi)建對象,供用戶直接調(diào)用: request對象:該封裝了用戶提交的信息,通過調(diào)用該對象相應的方法可以獲取封裝的信息,即使用該對象可以獲取用戶提交信息。 response對象:對客戶的請求做出的響應,向客戶端發(fā)送數(shù)據(jù)。 session對象:JSP的內(nèi)置對象,它在第一個JSP頁面被裝載時自動創(chuàng)建,完成會話期管理。 application對象:服務器啟動后就產(chǎn)生了這個application對象,當客戶在所訪問的網(wǎng)站的各個頁面之間瀏覽時,這個application對象都是同一個,直到服

23、務器關(guān)閉。 out對象:out對象是一個輸出流,用來向客戶端輸出數(shù)據(jù)。out對象用于各種數(shù)據(jù)的輸出。 page java.lang.Object:對應this關(guān)鍵字。JSP網(wǎng)頁本身,page對象是當前頁面轉(zhuǎn)換后的Servlet類的實例。從轉(zhuǎn)換后的Servlet類的代碼中,可以看到這種關(guān)系:Object page = this;在JSP頁面中,很少使用page對象。 Config:javax.servlet. ServletConfig 的實例,該實例代表該JSP 的配置信息。常用的方法有g(shù)etInitParameter(String paramNarne) 及getInitParametern

24、arnes() 等方法。事實上,JSP 頁面通常無須配置,也就不存在配置信息。因此,該對象更多地在Servlet 中有效。 Exception:java.lang.Throwable的實例,該實例代表其他頁面中的異常和錯誤。只有當頁面是錯誤處理頁面,即編譯指令page 的isErrorPage 屬性為true 時,該對象才可以使用。常用的方法有g(shù)etMessage()和printStackTrace()等。 pageContext:javax.servlet.jsp.PageContext 的實例,該對象代表該JSP 頁面上下文,使用該對象可以訪問頁面中的共享數(shù)據(jù)。常用的方法有g(shù)etServl

25、etContext()和getServletConfig()等。 2.2.3 JSP的技術(shù)方法 為了快速方便地進行的開發(fā),JSP在以下幾個方面做了改進,使其成為快速建立跨平臺的動態(tài)網(wǎng)站的首選方案。 1.將內(nèi)容的生成和顯示進行分離用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標識來設計和格式化最終頁面,并使用JSP標識或者小來生成頁面上的(內(nèi)容是根據(jù)請求變化的,例如請求賬戶信息或者特定的一瓶酒的價格等)。生成內(nèi)容的邏輯被封裝在標識和JavaBeans組件中,并且捆綁在腳本中,所有的腳本在服務器端運行。由于核心邏輯被封裝在標識和JavaBeans中,所以Web管理人員和頁面設計者,能夠

26、編輯和使用JSP頁面,而不影響內(nèi)容的生成。 在服務器端,JSP引擎解釋JSP標識和腳本,生成所請求的內(nèi)容(例如,通過訪問JavaBeans組件,使用JDBC技術(shù)訪問數(shù)據(jù)庫或者包含文件),并且將結(jié)果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這既有助于作者保護自己的代碼,又能保證任何基于HTML的的完全可用性。 2.可重用組件絕大多數(shù)JSP頁面依賴于可重用的、跨平臺的組件(JavaBeans或者Enterprise JavaBeans組件)來執(zhí)行應用程序所要求的復雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者和客戶團體所使用?;诮M件的方法加速了總體開發(fā)過

27、程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。 3.采用標識Web頁面開發(fā)人員不會都是熟悉腳本語言的編程人員。JSP技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標識中進行動態(tài)內(nèi)容生成所需要的。標準的JSP標識能夠訪問和實例化JavaBeans組件,設置或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時的功能。 4.適應平臺幾乎所有平臺都支持Java,JSP+JavaBeans幾乎可以在所有平臺下通行無阻。從一個平臺移植到另外一個平臺,JSP和JavaBeans甚至不用重新編譯,因為Java都是標準的與平臺無關(guān)的。 5.數(shù)據(jù)庫連接Java

28、中連接數(shù)據(jù)庫的技術(shù)是JDBC,Java程序通過JDBC驅(qū)動程序與數(shù)據(jù)庫相連,執(zhí)行查詢、提取數(shù)據(jù)等操作。Sun公司還開發(fā)了JDBCODBC bridge,利用此技術(shù)Java程序可以訪問帶有的數(shù)據(jù)庫,目前大多數(shù)都帶有ODBC驅(qū)動程序,所以Java程序能訪問諸如Oracle、Sybase、MS SQL Server和MS Access等數(shù)據(jù)庫。 此外,通過開發(fā)標識庫,JSP技術(shù)可以進一步擴展。第三方開發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標識庫。這使得Web頁面開發(fā)人員能夠使用熟悉的工具和如同標識一樣的執(zhí)行特定功能的構(gòu)件來進行工作。 JSP技術(shù)很容易整合到多種應用中,以利用現(xiàn)存的工具和技巧,并且能

29、擴展到支持企業(yè)級的分布式應用中。作為采用Java技術(shù)家族的一部分,以及Java 2(企業(yè)版體系結(jié)構(gòu))的一個組成部分,JSP技術(shù)能夠支持高度復雜的基于Web的應用。 由于JSP頁面的內(nèi)置腳本語言是基于Java的,而且所有的JSP頁面都被編譯成為Java Servlets,所以JSP頁面具有Java技術(shù)的所有好處,包括健壯的存儲管理和安全性。作為的一部分,JSP擁有Java編程語言“一次編寫,各處運行”的特點。2.2.4 JSP的應用模型利用JSP技術(shù),動態(tài)信息由JSP頁面來表現(xiàn),JSP頁面由安裝在Web服務器或者使用JSP的應用服務器上的JSP引擎執(zhí)行。JSP引擎接受客戶端對JSP頁面的請求,并

30、且生成JSP頁面作為對客戶端的響應。 JSP頁面通常被編譯成為Java Servlets,這是一個標準的Java擴展。頁面開發(fā)人員能夠訪問全部的Java應用環(huán)境,以利用Java技術(shù)的擴展性和可移植性。當JSP頁面第一次被調(diào)用時,如果它還不存在,就會被編譯成為一個Java Servlets類,并且存儲在服務器的內(nèi)存中。這就使得在接下來的對該頁面的調(diào)用中,服務器會有非??斓捻憫ㄟ@避免了CGIBIN為每個生成一個新的進程的問題)。 JSP頁面可以包含在多種不同的應用體系結(jié)構(gòu)或者模型中,可以用于由不同協(xié)議、組件和格式所組成的聯(lián)合體中?;贘SP的動態(tài)信息發(fā)布技術(shù)是一個開放的、可擴展的建立動態(tài)Web頁

31、面的標準。不論采用什么創(chuàng)建工具,開發(fā)人員都可以使用JSP頁面來創(chuàng)建可移植的Web應用,在不同的Web應用服務器上運行。2.3 數(shù)據(jù)庫的選擇在本系統(tǒng)中,我選擇MySQL關(guān)系數(shù)據(jù)庫作為數(shù)據(jù)存儲的工具。MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就增加了速度并提高了靈活性。MySQL的SQL“”。SQL是用于訪問數(shù)據(jù)庫的最常用標準化語言。MySQL軟件采用了GPL()。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)

32、據(jù)庫。MySQL的系統(tǒng)特性: 1. 使用C和C+編寫,并使用了多種進行測試,保證的可移植性 2. 支持AIX、HP-UX、Mac OS、Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種 3為多種提供了API。這些編程語言包括、C+、Java、Eiffel、Ruby和Tcl等。 4支持,充分利用CPU 5優(yōu)化的查詢算法,有效地提高查詢速度 6既能夠作為一個單獨的應用在客戶端服務器網(wǎng)絡環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名 7提供TCP/I

33、P、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑 8提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的 9可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫 10支持多種存儲引擎2.4 Servlet技術(shù)2.4.1 簡介 Servlet是一種服務器端的Java應用程序,具有獨立于平臺和協(xié)議的特性,可以生成動態(tài)的Web頁面。 它擔當客戶請求(Web瀏覽器或其他HTTP客戶程序)與服務器響應(HTTP服務器上的數(shù)據(jù)庫或應用程序)的中間層。 Servlet是位于Web 服務器內(nèi)部的服務器端的Java應用程序,與傳統(tǒng)的從命令行啟動的Java應用程序不同,Servlet由Web服務器進行加載,該Web服務器必須包含支持Servlet的J

34、ava虛擬機。2.4.2 Servlet的實現(xiàn)過程 最早支持Servlet技術(shù)的是JavaSoft的Java Web Server。此后,一些其它的基于Java的WebServer開始支持標準的ServletAPI。Servlet的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動態(tài)Web內(nèi)容。這個過程為: 客戶端發(fā)送請求至端; 服務器將請求信息發(fā)送至Servlet; Servlet生成響應內(nèi)容并將其傳給服務器。響應內(nèi)容動態(tài)生成,通常取決于客戶端的請求; 服務器將響應返回給客戶端。 Servlet看起來像是通常的Java程序。Servlet導入特定的屬于Java ServletAPI的包。因為是對象字

35、節(jié)碼,可動態(tài)地從網(wǎng)絡加載,可以說Servlet對Server就如同Applet對Client一樣,但是,由于Servlet運行于Server中,它們并不需要一個圖形用戶界面。從這個角度講,Servlet也被稱為FacelessObject。 一個Servlet就是Java編程語言中的一個類,它被用來擴展服務器的性能,服務器上駐留著可以通過“請求-響應”編程模型來訪問的應用程序。雖然Servlet可以對任何類型的請求產(chǎn)生響應,但通常只用來擴展Web服務器的應用程序。 第3章 需求分析和概要設計3.1系統(tǒng)設計的教育背景 基于JSP的網(wǎng)上輔助學習系統(tǒng)是現(xiàn)代遠程教學的研究方向之一。它將計算機網(wǎng)絡、多媒

36、體技術(shù)等相結(jié)合,形成新的教育模式。它使傳統(tǒng)“傳道、授業(yè)、解惑”過程不再受時間、地點限制,學生不但可以根據(jù)自身的實際情況靈活地安排自己的學習計劃和進度,而且可以共享優(yōu)秀的教育資源和教育方法,并且可以隨時向教師請教或在網(wǎng)上查找相關(guān)的參考資料。這些都為學生提供了更為廣闊的學習空間。學生由以前的被動接受知識,變?yōu)橹鲃訉W習,成為學習的主體,實現(xiàn)了個性化學習。長期以來,學校的教學形成了以教師為中心,教師利用講解、板書和各種媒體作為教學的手段和方法向?qū)W生傳授知識;學生則在很大程度上被動地接受教師傳授知識的課堂教學模式。如今處在一個同新月異的知識爆炸的時代,傳統(tǒng)的教學模式已滿足不了孩子求知的欲望,抑制了學生自

37、主學習。而時代的發(fā)展也要求學校培養(yǎng)出具有個性化的全面發(fā)展的人才,這樣就必須對傳統(tǒng)的課堂教學模式進行改革。應用計算機輔助教學手段激發(fā)學生求知欲和理智的好奇心,提高學生學習的主動性和積極性,減輕學生的負擔,促進身心發(fā)展,提高課堂教學的效率。因此,我們提出,以現(xiàn)代教育思想作指導,正確地充分地應用計算機輔助教學手段,構(gòu)建起以現(xiàn)代教育思想為理論核心,以計算機技術(shù)為技術(shù)核心的現(xiàn)代化課堂教學新模式。當今社會是網(wǎng)絡化的信息社會,網(wǎng)絡對于人們來說已成為獲取信息不可缺少的途徑,而且扮演著一種愈來愈重要的角色,尤其在教學過程中,如何讓學生學得更有效?如何讓學生學得更輕松?如何讓學生學得更有個性化?這就要求我們現(xiàn)在的

38、教育不能死扣書本,要突破原有的教學模式,利用計算機為教學服務。因此開發(fā)出具有網(wǎng)上輔助學習功能的系統(tǒng)也是工作和社會所趨。3.2系統(tǒng)設計的教育理論基礎現(xiàn)代遠程教學系統(tǒng)是對傳統(tǒng)教思想、教育觀念的變革。遠程教學模式的構(gòu)建,必須在現(xiàn)代教育理論、學習理論的指導下完成,必須符合現(xiàn)代教育理論。著名心理學家斯金納對于行為主義和程序教學方面的開創(chuàng)性貢獻,奠定了行為主義心理學在現(xiàn)代教學軟件設計中的主導地位。行為主義心理學認為,學習是由于經(jīng)驗的反復練習而引起的行為比較持久的變化。行為主義學習理論注意到學習起因是外界刺激的反應,而不關(guān)心刺激引起的內(nèi)部心理過程。因此,它在解釋行為為什么能發(fā)生時,受到了限制。在批判行為學習

39、理論的基礎上,誕生了認知主義學習理論。1認知主義學習理論認知主義學習理論認為,人腦中的知識是以網(wǎng)狀結(jié)構(gòu)表達的,即知識點、鏈和由此形成的網(wǎng)絡三部分構(gòu)成。學習同一內(nèi)容,需要在不同時間,在重新安排的情景下,帶著不同目的以及從不同的角度多次進行,以此達到獲得高級知識的目標。這意味著在教學中要對復雜主題作非線性的多維度的瀏覽,即在不同場合,從不同方向重返同一個概念。利用WWW技術(shù)中的超鏈接特性,可讓學習者在學習時從一個知識點轉(zhuǎn)到另一個相關(guān)知識點,知識點與知識點之間的網(wǎng)狀拓撲結(jié)構(gòu),能讓學習者在學習同一知識點的不同相關(guān)知識點時,方便地返回該知識點,由此從其它不同知識點的角度再來認識與學習該知識點。如果在遠程

40、教學系統(tǒng)中單純使用認知主義學習理論進行教與學,雖然可以實現(xiàn)超媒體的信息呈現(xiàn),但學習者只是瀏覽各種教學資料,學習過程仍然屬于被動接受學習,并不能有效地激發(fā)學習者的創(chuàng)造性。近年來,迅速發(fā)展的認知學理論的一個重要分支一一建構(gòu)主義學習理論可以有效地解決此問題。2建構(gòu)主義學習理論建構(gòu)主義學習理論認為,知識不是通過教師傳授得到,學習是在一定的情境即社會文化背景下,借助其他人的幫助即通過人際間的協(xié)作活動而實現(xiàn)的意義建構(gòu)過程。建構(gòu)主義作為對認知主義的發(fā)展,更加重視結(jié)構(gòu)、建構(gòu)和認知主體的核心地位,重視通過“情境創(chuàng)設”、“意義建構(gòu)”、“協(xié)作”和“會話”等活動來建構(gòu)知識的過程。因此,以建構(gòu)主義理論為基礎的遠程教學系

41、統(tǒng)的軟件設計應強調(diào)以下關(guān)鍵點:(1)強調(diào)“情境”的創(chuàng)設及其對意義建構(gòu)的重要作用。(2)把學習者主動建構(gòu)所學知識的意義即“意義建構(gòu)”作為軟件設計的目的。這要求把當前學習內(nèi)容所反映的事物盡量和自己已經(jīng)知道的事物相聯(lián)系,并對這種聯(lián)系加以認真思考,“聯(lián)系”與“思考”是意義建構(gòu)的關(guān)鍵。(3)使用探索法、發(fā)現(xiàn)法、隨機訪問教學法等能夠充分發(fā)揮學生主體性的方法來建構(gòu)知識的意義。(4)強調(diào)“協(xié)作”和“會話”。因為學習者與周圍環(huán)境的交互作用,對予學習內(nèi)容的理解起著關(guān)鍵作用?;贗nternet的網(wǎng)絡通信技術(shù)、多媒體技術(shù)等具有的多種特性特別適合于實現(xiàn)建構(gòu)主義學習環(huán)境。計算視、網(wǎng)絡、多媒體、超媒體等技術(shù)可以作為認知工

42、具和認知環(huán)境來構(gòu)造學習的虛擬情景,構(gòu)建一個人與人之間更為廣闊的相互會話環(huán)境,由此進行協(xié)作活動而實現(xiàn)某種意義的建構(gòu)過程?;赪eb的遠程教學系統(tǒng)應充分利用多媒體與網(wǎng)絡特性加強“情境創(chuàng)設”、“協(xié)作”、“會話”等活動的建構(gòu),才能起到強化學習效果的功能。建構(gòu)主義倡導的教學模式是數(shù)學生為中心、以過程為中心、以認知結(jié)構(gòu)為中心。在學習過程中,充分發(fā)揮學生的主動性,讓學生有多種機會在不同的情境下應用他們所學的知識,將知識“外化”,讓學生能夠根據(jù)自身行動的反饋信息形成對客觀事物的認識和解決實際問題的方案。在整個教學過程中,教師不再是中心,他只起到組織前、幫助者和促進者的作用。各種教學資源應用來支持“學習”而不是

43、用來支持“教授”。在教與學的過程中,應充分利用“情境創(chuàng)設”、“意義建構(gòu)”、“協(xié)作”和“會話”等活動發(fā)揮學生的主動性、積極性和創(chuàng)造性,達到對當前所學知識的意義建構(gòu)的目的。3.3系統(tǒng)采取的遠程教學模式在建構(gòu)主義理論指導下,并輔以認知主義理論,本文所探討的基予JSP的網(wǎng)上輔助學習系統(tǒng)采取了遠程教學模式,即個別化教學模式。個別化教學即因材施教,是教學系統(tǒng)的一大優(yōu)勢。所謂個別化教學模式是指在學習過程中根據(jù)學習對象自身智力、學習進度和對知識點掌握牢固程度的不同,給出相應學習策略、學習進度、學習內(nèi)容的教學模式。它是構(gòu)建主義學習理論的一個重要應用。本系統(tǒng)的個別化教學模式主要通過在線瀏覽學習資料、學習資源下載和

44、在線測試來宓現(xiàn)。(1)在線瀏覽學習資料在本系統(tǒng)中,為了更好地輔助教師完成教學任務,為學生的自主學習提供良好的環(huán)境,需要使用有效的技術(shù)將教學內(nèi)容呈現(xiàn)出來。認知主義理論認為,人腦中的知識以網(wǎng)狀結(jié)構(gòu)表達,即知識點、鏈和由此形成豹網(wǎng)絡三部分構(gòu)成網(wǎng)狀結(jié)構(gòu)。為便于人的學習,教學內(nèi)容的呈現(xiàn)方式也應遵循人類記憶的網(wǎng)狀結(jié)構(gòu)。這種呈現(xiàn)方式就是超文本呈現(xiàn)方式。超文本呈現(xiàn)方式?jīng)]有固定的順序,也不要求學生按照一定的順序進行學習。WWW技術(shù)提供的超文本環(huán)境。使用HTML等技術(shù)開發(fā)的教學網(wǎng)頁,可融合文字、圖形、動畫、音頻和視頻等多種媒體朱表現(xiàn)教學內(nèi)容,并生成相關(guān)知識點鏈接,將知識按網(wǎng)狀結(jié)構(gòu)呈現(xiàn)。(2)學習資源下載受Inte

45、rnet網(wǎng)絡帶寬限制,為減少服務器負載,提高效率,本系統(tǒng)將課件、教學資源打包壓縮,通過HTML網(wǎng)頁實現(xiàn)下載或在線播放。學生可以根據(jù)自己的學習狀況選擇需要的資源下載。學生將教學資源保存至本地機就可以在脫離網(wǎng)絡的情況下進行單獨的個別化學習。3.4網(wǎng)上作業(yè)系統(tǒng)總體模型通過對網(wǎng)絡環(huán)境下教學特點的研究,建立了網(wǎng)上作業(yè)系統(tǒng)的總體模型,見圖3.1,其中矩形框描述學生學習過程的各個環(huán)節(jié),圓形框描述網(wǎng)上作業(yè)系統(tǒng)。從圖上可以看出,網(wǎng)上輔助學習滲透到學生學習的各個環(huán)節(jié),成為教師完成教學工作,學生完成學習任務不可缺少的組成部分。 根據(jù)圖3.1所建立的模型,網(wǎng)上作業(yè)系統(tǒng)由以下功能組成:布置作業(yè),完成作業(yè),后臺管理。根據(jù)

46、實際需要采用JSP技術(shù),完成了網(wǎng)上作業(yè)系統(tǒng)的設計。圖3.1網(wǎng)上作業(yè)模式3.5系統(tǒng)需求網(wǎng)上作業(yè)系統(tǒng)的目的是借助Internet的網(wǎng)絡環(huán)境,建立一套功能齊全、使用方埂、效率高的網(wǎng)上輔助學習環(huán)境。在該環(huán)境下,學生可以學習、練習。該系統(tǒng)能很好地配合課堂教學,成為課堂教學的延伸和提高。結(jié)合軟件工程中的模塊化程序設計思想,整個系統(tǒng)主要由3個模塊組成:教師模塊,學生模塊和管理員模塊。網(wǎng)上作業(yè)系統(tǒng)里教師布置作業(yè),學生查看教師所布置的作業(yè)并在客戶機上完成作業(yè),教師查看學生提交的作業(yè)和批閱作業(yè),學生查看作業(yè)成績和教師的評語。 以上三個模塊都采用B/S模式,選用MySQL作為后臺數(shù)據(jù)庫,JSP作為前臺的開發(fā)工具,服

47、務器端應用程序安裝在Windows NT服務器上。學生可以在任何一個節(jié)點上使用本系統(tǒng)。3.6總體設計從管理到使用可以分為三種角色:系統(tǒng)管理員、教師以及學生,每一角色擁有的權(quán)限是不一樣的。系統(tǒng)管理員:本系統(tǒng)為管理員提供了一個專門的管理平臺。在該平臺中,管理員擁有最高的權(quán)限,他對于系統(tǒng)所提供的基本功能都具有操作權(quán)限,而且管理員可以對學生、教師信息進行維護和更新。他的主要任務是對系統(tǒng)的正常維護和配置,對系統(tǒng)的整體情況進行統(tǒng)計分析以及用戶管理。教師:本系統(tǒng)為教師提供了作業(yè)管理和教學資料共享的平臺。教師的權(quán)限低于系統(tǒng)管理員,它的權(quán)限是系統(tǒng)管理員所賦予的,教師可以對學生的作業(yè)進行管理。另外,該系統(tǒng)允許教師

48、對所授課程的題庫進行維護和更新,針對學生各自的學習情況布置不同的作業(yè),查詢學生作業(yè)的情況,掌握學生知識欠缺處,調(diào)整教學進度與內(nèi)容。學生:學生是系統(tǒng)的最終使用者和受益者,是系統(tǒng)最大的用戶群。本系統(tǒng)為學生提供了基于個人能力的個性化學習環(huán)境。學生登錄到該系統(tǒng)后,可以查詢教師根據(jù)自己的學習情況而布置的作業(yè),完成作業(yè)并提交,等待教師的批閱。3.7 數(shù)據(jù)庫設計圖3.2 數(shù)據(jù)庫實體關(guān)系圖表3.1 admin表列名數(shù)據(jù)類型長度含義a_idint4管理員ID(標識列)namevarchar50管理員賬戶pwdvarchar50管理員密碼表3.2 gonggao表列名數(shù)據(jù)類型長度含義g_idint4公告IDg_t

49、itlevarchar50公告標題g_contentvarchar200公告內(nèi)容g_datedatetime10公告日期表3.3 state表列名數(shù)據(jù)類型長度含義s_idint4狀態(tài)IDw_idint4作業(yè)IDs_noint10學生學號w_namevarchar50作業(yè)名w_statevarchar50作業(yè)狀態(tài)表3.4 up表列名數(shù)據(jù)類型長度含義u_idint4用戶IDs_idint4狀態(tài)IDifupbit1是否提交adddatedatetime10添加時間表3.5 users表列名數(shù)據(jù)類型長度含義u_idint4用戶IDs_noint10學生學號namevarchar10學生姓名pwdvar

50、char50用戶密碼emailvarchar50電子郵箱qqmsnvarchar50QQ或MSNphonevarchar50聯(lián)系電話表3.6 works表列名數(shù)據(jù)類型長度含義w_idint4作業(yè)IDw_namevarchar50作業(yè)名w_datedatetime10作業(yè)日期w_memovarchar50作業(yè)說明3.8 系統(tǒng)的安全設計系統(tǒng)安全是非常重要的。開發(fā)Internet應用時,敏感信息必須受到保護,以防止無權(quán)訪問它們的人查看它們,同時又必須準備接授權(quán)者訪問。本文采取程序級的安全控制來保證系統(tǒng)安全。本文設計的網(wǎng)上作業(yè)系統(tǒng)擁有兩級權(quán)限,一級系統(tǒng)管理員,二級教師和學生。系統(tǒng)管理員具有系統(tǒng)管理的最

51、高權(quán)限;教師具有布置作業(yè)、刪除作業(yè)、批閱作業(yè)的權(quán)限;學生具有查看作業(yè)、提交作業(yè)、查看作業(yè)批改結(jié)果的權(quán)限。如果用戶欲對受保護的網(wǎng)頁或數(shù)據(jù)庫進行操作時,用戶必須在服務器上注冊。用戶注冊成功,并被賦予權(quán)限之后,用戶的登錄名和口令得到確定。當用戶首次進入系統(tǒng)時,用戶必須進登錄頁面上輸入正確的登錄名和口令,通過登錄驗證,才允許進入相應的頁面,進行學習和管理。第4章 系統(tǒng)實現(xiàn)4.1數(shù)據(jù)庫連接字符串配置public static Connection getConn() Connection conn = null;try conn = (Connection) DriverManager.getConne

52、ction(url_base+host+:3306/+dbname+?+extra, username, password); catch(SQLException e)e.printStackTrace();return conn; 4.2 前后臺頁面工作流程圖圖4.1 前后臺頁面工作流程圖圖4.1說明:前臺用戶登錄時,會向數(shù)據(jù)庫進行查詢,若有該用戶且驗證密碼成功后就登錄成功,否則返回讓用戶重新輸入。登錄成功后,用戶可以進行查看公告,查詢作業(yè),提交作業(yè)等相關(guān)操作,操作完畢后用戶可以退出登錄,返回默認頁面。后臺管理員登錄同樣會驗證用戶的合法性,驗證成功才能進入系統(tǒng)進行公告管理,用戶管理等相關(guān)操

53、作。否則返回登錄頁面繼續(xù)等待用戶輸入。4.3 輸入輸出設計圖4.2 前臺默認頁面圖4.2說明:前臺登錄時默認的頁面,用戶可以快速的瀏覽到最新的公告,當前日期,相關(guān)鏈接。左上角有登錄功能,點擊登錄按鈕,會觸發(fā)Login1_Authenticate事件方法,驗證學號和密碼是否與數(shù)據(jù)庫中的數(shù)據(jù)一致,若驗證成功,則會跳轉(zhuǎn)到LoginOk.aspx頁面,即登錄成功頁面,并將用戶信息存儲在Session中。否則會返回當前頁面,等待用戶繼續(xù)輸入。點擊create account按鈕時,則會跳轉(zhuǎn)到Reg.aspx頁面,即用戶注冊頁面,是用戶能夠注冊一個新的帳號來進入系統(tǒng)。圖4.3 用戶注冊頁面圖4.3說明:此

54、頁面可以注冊新的用戶,通過驗證控件保證用戶輸入數(shù)據(jù)的完整性。若輸入的數(shù)據(jù)與數(shù)據(jù)庫的約束不相符,則會返回錯誤信息,以此來保證數(shù)據(jù)的正確。注冊用戶的數(shù)據(jù)庫添加操作:public static int register( Users u ) int res = 0;String sql = insert into dm_users(user_name, user_passwd, user_type, user_email) values( + u.getUser_name() + , + u.getUser_passwd() + , o, + u.getUser_email() +);res = D

55、bUtil.update(sql);return res;根據(jù)注冊結(jié)果的不同servlet做不同的操作:if( action.equalsIgnoreCase(register) ) int res = UserBean.register(u);if ( res 0 ) request.setAttribute(status, 注冊成功!請等待系統(tǒng)管理員驗證之后登錄并使用系統(tǒng)!); else request.setAttribute(error, 注冊失敗!請檢查注冊信息!);try request.getRequestDispatcher(index.jsp).forward(request

56、, response); catch ( Exception e ) e.printStackTrace();return;圖4.4 學生登錄成功頁面圖4.4說明: 學生登錄成功后可以查看自己的作業(yè)情況和更改自己的信息。學生作業(yè)的所有情況獲?。簆ublic static ArrayList showByStudent ( String student ) ArrayList res = new ArrayList();String sql = select * from dm_works where work_student_id= + student + order by work_id d

57、esc;res = DbUtil.query(sql, Works.class);return res;獲取學生未完成的作業(yè)情況的數(shù)據(jù)庫操作:public static ArrayList showByStudentAndWait ( String student ) ArrayList res = new ArrayList();String sql = select * from dm_works where work_student_id= + student + and work_status=wait order by work_id desc;res = DbUtil.query(

58、sql, Works.class);return res;圖4.5 后臺管理界面首頁圖4.5說明:后臺管理員頁面,管理員可以管理系統(tǒng)的公告,刪除或新建系統(tǒng)用戶審核用戶,修改用戶等。圖4.6 添加作業(yè)圖4.6說明:教師用戶可以在此頁面針對不同的學生添加不同的作業(yè)。圖4.7 作業(yè)情況圖4.7說明:在此界面下可以非常清楚的看到每個學生的作業(yè)完成情況,并可以對作業(yè)進行批閱、刪除操作。作業(yè)的相關(guān)操作代碼:public static int add( Works w ) /向作業(yè)表中添加新作業(yè)int res = 0;String sql = insert into dm_works(work_teache

59、r_id, work_student_id, work_title, work_content, work_status, work_date) values(+w.getWork_teacher_id()+, +w.getWork_student_id()+, +w.getWork_title()+, +w.getWork_content()+, +w.getWork_status()+, +TimeUtil.getLocale()+);res = DbUtil.update(sql);return res;public static int delete ( Works w ) /刪除作業(yè)

60、操作int res = 0;String sql = delete from dm_works where work_id= + w.getWork_id();res = DbUtil.update(sql);return res;public static int update ( Works w ) /更新作業(yè)操作int res = 0;String sql = update dm_works set work_answer=+w.getWork_answer()+, work_answer_date=+TimeUtil.getLocale()+, work_status=+w.getWo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論