網(wǎng)絡(luò)遠(yuǎn)程作業(yè)處理系統(tǒng)——畢業(yè)論文 (2)
-
資源ID:116550533
資源大小:315.50KB
全文頁數(shù):51頁
- 資源格式: DOC
下載積分:20積分
快捷下載
會(huì)員登錄下載
微信登錄下載
微信掃一掃登錄
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請(qǐng)知曉。
|
網(wǎng)絡(luò)遠(yuǎn)程作業(yè)處理系統(tǒng)——畢業(yè)論文 (2)
南京工程學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)中文摘要隨著網(wǎng)絡(luò)在社會(huì)的不斷普及,其在人們的學(xué)習(xí)和生活中發(fā)揮著越來越重要的作業(yè),也不斷地簡(jiǎn)化人們地學(xué)習(xí)和生活。該系統(tǒng)就是建立在這個(gè)目的上的一次嘗試。遠(yuǎn)程作業(yè)提交交流系統(tǒng),利用網(wǎng)絡(luò)交流的優(yōu)勢(shì),為教師與學(xué)生之間的交流搭建一座方便的橋梁。該系統(tǒng)的功能主要為:1、為師生提供一個(gè)網(wǎng)絡(luò)作業(yè)提交系統(tǒng);2、為師生提供一個(gè)實(shí)時(shí)在線交流系統(tǒng);3、為師生提供一個(gè)在線的留言系統(tǒng)。其中,作業(yè)提交系統(tǒng)實(shí)現(xiàn)文件在JSP網(wǎng)頁中的上傳和下載;實(shí)時(shí)在線交流系統(tǒng)實(shí)際就是一個(gè)在線聊天室,并考慮到師生這個(gè)特殊的服務(wù)對(duì)象,添加了網(wǎng)絡(luò)白板這個(gè)功能,使師生之間可以更加形象的交流;在線留言系統(tǒng)提供了與未在線的人交流的功能。以上這些功能的實(shí)現(xiàn)都是建立在師生信息管理系統(tǒng)之上的,首先要建立完整的學(xué)生、教師和班級(jí)信息,以上3個(gè)主要系統(tǒng)才能正常工作。再就是為了減小網(wǎng)頁的負(fù)擔(dān),我設(shè)立了注冊(cè)登錄系統(tǒng),一定程度的減免了不相關(guān)人員的訪問。關(guān)鍵詞 網(wǎng)絡(luò) 在線 交流 前 言隨著計(jì)算機(jī)在社會(huì)的不斷普及和應(yīng)用,人們的工作效率得到了極大的提高。高等院校作為社會(huì)進(jìn)步的發(fā)動(dòng)機(jī),計(jì)算機(jī)早已普及并得到了積極應(yīng)用。而隨著近年來的計(jì)算機(jī)網(wǎng)絡(luò)的普及,更大大方便了人們的工作和生活。利用現(xiàn)在已廣泛普及的計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)教師與學(xué)生之間的遠(yuǎn)程交流,為教師和學(xué)生之間的交流構(gòu)建一個(gè)方便的平臺(tái),就是我此次的畢業(yè)設(shè)計(jì)課題網(wǎng)絡(luò)遠(yuǎn)程作業(yè)處理系統(tǒng)。該系統(tǒng)利用網(wǎng)絡(luò),在構(gòu)架了服務(wù)器后,一方面,使學(xué)生能夠利用任何一臺(tái)能夠上網(wǎng)的計(jì)算機(jī)提交作業(yè),實(shí)現(xiàn)和在線教師的實(shí)時(shí)交流,留言給未在線的教師;另一方面,教師同樣能夠利用任意的一臺(tái)能上網(wǎng)的計(jì)算機(jī)接受服務(wù)器上學(xué)生提交的作業(yè),和同學(xué)實(shí)時(shí)交流,留言給以班級(jí)為單位的同學(xué)。該系統(tǒng)的內(nèi)容有:1登錄系統(tǒng)。自動(dòng)區(qū)分登錄者為學(xué)生、教師、管理員,并顯示相應(yīng)頁面。2注冊(cè)系統(tǒng),只提供學(xué)生的注冊(cè),教師由管理員添加,僅設(shè)1名管理員賬戶。3師生信息管理系統(tǒng),管理相關(guān)的師生信息。4只有目的用戶可見的留言板系統(tǒng)。通過對(duì)數(shù)據(jù)庫的匹配查詢實(shí)現(xiàn)。5包含網(wǎng)絡(luò)白板的聊天室系統(tǒng)。利用便捷的applet,通過多線程的應(yīng)用實(shí)現(xiàn)聊天室。網(wǎng)絡(luò)白板嵌入聊天室系統(tǒng)中,利用JAVA中的canvas類實(shí)現(xiàn)。6基于JSP的文件上傳下載系統(tǒng)?;趈sp smartupload 組件實(shí)現(xiàn)。這6個(gè)系統(tǒng)將在以下章節(jié)中詳細(xì)介紹。本論文的總的結(jié)構(gòu)可分為引言、目錄、中英文摘要、數(shù)據(jù)庫設(shè)計(jì)、系統(tǒng)功能介紹、謝辭、參考文獻(xiàn)與附錄九大部分。其中系統(tǒng)功能介紹分為登錄系統(tǒng)、注冊(cè)系統(tǒng)、師生信息管理系統(tǒng)、留言板系統(tǒng)、包含網(wǎng)絡(luò)白板的聊天室系統(tǒng)、文件上傳下載系統(tǒng),共6個(gè)部分來詳細(xì)介紹。參考文獻(xiàn)與附錄是關(guān)于開發(fā)該系統(tǒng)所參考的數(shù)據(jù)和書籍,附錄是一些輔助說明。目錄是畢業(yè)論文各章節(jié)所在頁的具體說明。網(wǎng)絡(luò)遠(yuǎn)程作業(yè)處理系統(tǒng)主要的開發(fā)工具為Dreamweaver MX 2004,SQL Sever 2000和JBuilder9。第1章 開發(fā)工具簡(jiǎn)介1.1 Dreamweaver MX 2004Dreamweaver MX 2004 是 建立 Web 站點(diǎn)和應(yīng)用程序的專業(yè)工具。它將可視布局工具、應(yīng)用程序開發(fā)功能和代碼編輯支持組合為一個(gè)功能強(qiáng)大的工具,使每個(gè)級(jí)別的開發(fā)人員和設(shè)計(jì)人員都可利用它快速創(chuàng)建接口吸引人并且基于標(biāo)準(zhǔn)的站點(diǎn)和應(yīng)用程序。從對(duì)基于 CSS 的設(shè)計(jì)提供領(lǐng)先的支持到手動(dòng)編碼功能,Dreamweaver 在一個(gè)集成和高效的環(huán)境中為專業(yè)人員提供了所需的工具。開發(fā)人員可以將其選擇的服務(wù)器技術(shù)與 Dreamweaver 配合使用,建立將用戶連接到數(shù)據(jù)庫、Web 服務(wù)和舊式系統(tǒng)的強(qiáng)大 Internet 應(yīng)用程序。1.2 BorlandJBuilder9BorlandJBuilder9全球最具威力之Java開發(fā)環(huán)境,相較過去版本,JBuilder提供更多省時(shí)工具與精靈,讓您團(tuán)隊(duì)生產(chǎn)力提升至極限,協(xié)助您在最短時(shí)間內(nèi)開發(fā)更好的軟件。這僅是完整Borland解決方案的一部份,JBuilder9Enterprise以融入應(yīng)用程序開發(fā)周期(applicationlifecycle)為第一要?jiǎng)?wù),能夠使用您現(xiàn)有之技術(shù)投資,并給您最大的自由與彈性,讓您以自己的方式與流程完成工作。BorlandOptimizeitSuite已包含于JBuilder9Enterprise版中:JBuilder9所包含之創(chuàng)新工具與加值功能將企業(yè)級(jí)Java開發(fā)提升至新境界。1.3 SQL Sever 2000Microsoft SQL Server 2000 包括很多圖形和命令提示實(shí)用工具,允許用戶、程序員和管理員進(jìn)行下列操作: 1管理和配置 SQL Server。2確定 SQL Server 復(fù)本中的目錄信息。3設(shè)計(jì)和測(cè)試查詢以檢索數(shù)據(jù)。4復(fù)制、導(dǎo)入、導(dǎo)出和轉(zhuǎn)換數(shù)據(jù)。Microsoft SQL Server 2000 擴(kuò)展了 Microsoft SQL Server 7.0 版的性能、可靠性、質(zhì)量和易用性。Microsoft SQL Server 2000 增加了幾種新的功能,由此成為大規(guī)模聯(lián)機(jī)事務(wù)處理 (OLTP)、數(shù)據(jù)倉庫和電子商務(wù)應(yīng)用程序的優(yōu)秀數(shù)據(jù)庫平臺(tái)。SQL Server 7.0 版中提供的 OLAP 服務(wù)功能現(xiàn)在稱為 SQL Server 2000 Analysis Services。術(shù)語OLAP 服務(wù)已被術(shù)語Analysis Services取代。Analysis Services 還包括一個(gè)新的數(shù)據(jù)挖掘組件。SQL Server 7.0 版中包含的知識(shí)庫組件現(xiàn)在稱為 Microsoft SQL Server 2000 Meta Data Services。現(xiàn)在提及該組件時(shí)使用術(shù)語Meta Data Services。知識(shí)庫這個(gè)術(shù)語只在談及 Meta Data Services中的知識(shí)庫引擎時(shí)才使用。第51頁第2章 相關(guān)技術(shù)文檔2.1 JSP技術(shù)JavaServer Pages (JSP) 是一種以 Java為主的跨平臺(tái)web開發(fā)語言。JSP與微軟的Active Server Pages 兼容,但它是使用類似HTML的卷標(biāo)以及Java程序代碼段而不是VBScript。JSP與伺服端的JavaScript不同。網(wǎng)站服務(wù)器會(huì)自動(dòng)將以JSP寫成的Java程序代碼段轉(zhuǎn)換成Java servlets。而許多先前必須以Perl手寫程序或服務(wù)器特定的API(如ASP)控制的功能也都可透過JSP來自動(dòng)化處理。JavaServer Pages(JSP)使得我們能夠分離頁面的靜態(tài)HTML和動(dòng)態(tài)部分。HTML可以用任何通常使用的Web制作工具編寫,編寫方式也和原來的一樣;動(dòng)態(tài)部分的代碼放入特殊標(biāo)記之內(nèi),大部分以“%”開始,以“%”結(jié)束。T JSP頁面文件通常以.jsp為擴(kuò)展名,而且可以安裝到任何能夠存放普通Web頁面的地方。雖然從代碼編寫來看,JSP頁面更象普通Web頁面而不象Servlet,但實(shí)際上,JSP最終會(huì)被轉(zhuǎn)換成正規(guī)的Servlet,靜態(tài)HTML直接輸出到和Servlet service方法關(guān)聯(lián)的輸出流。JSP到Servlet的轉(zhuǎn)換過程一般在出現(xiàn)第一次頁面請(qǐng)求時(shí)進(jìn)行。因此,如果你希望第一個(gè)用戶不會(huì)由于JSP頁面轉(zhuǎn)換成Servlet而等待太長(zhǎng)的時(shí)間,希望確保Servlet已經(jīng)正確地編譯并裝載,你可以在安裝JSP頁面之后自己請(qǐng)求一下這個(gè)頁面。 另外,許多Web服務(wù)器允許定義別名,所以一個(gè)看起來指向HTML文件的URL實(shí)際上可能指向Servlet或JSP頁面。 除了普通HTML代碼之外,嵌入JSP頁面的其他成分主要有如下三種:腳本元素(Scripting Element),指令(Directive),動(dòng)作(Action)。腳本元素用來嵌入Java代碼,這些Java代碼將成為轉(zhuǎn)換得到的Servlet的一部分;JSP指令用來從整體上控制Servlet的結(jié)構(gòu);動(dòng)作用來引入現(xiàn)有的組件或者控制JSP引擎的行為。為了簡(jiǎn)化腳本元素,JSP定義了一組可以直接使用的變量(預(yù)定義變量),比如前面代碼片斷中的request就是其中一例。 注意本文以JSP 1.0規(guī)范為基礎(chǔ)。和0.92版相比,新版本的JSP作了許多重大的改動(dòng)。雖然這些改動(dòng)只會(huì)使JSP變得更好,但應(yīng)注意1.0的JSP頁面幾乎和早期的JSP引擎完全不兼容。 JSP語法概要表 JSP元素、語法、說明、備注如下 JSP表達(dá)式 %= expression % 計(jì)算表達(dá)式并輸出結(jié)果。 等價(jià)的XML表達(dá)是: jsp:expression expression /jsp:expression 可以使用的預(yù)定義變量包括:request,response,out,session,application,config,pageContext。這些預(yù)定義變量也可以在JSP Scriptlet中使用。 JSP Scriptlet % code % 插入到service方法的代碼。 等價(jià)的XML表達(dá)是: jsp:scriptlet code /jsp:scriptlet JSP聲明 %! code % 代碼被插入到Servlet類(在service方法之外)。 等價(jià)的XML表達(dá)是: jsp:declaration code /jsp:declaration page指令 % page att=val % 作用于Servlet引擎的全局性指令。 等價(jià)的XML表達(dá)是 jsp:directive.page att=val。 合法的屬性如下表,其中粗體表示默認(rèn)值: import=package.class contentType=MIME-Type isThreadSafe=true|false session=true|false buffer=size kb|none autoflush=true|false extends=package.classinfo=message errorPage=url isErrorPage=true|false language=java include指令 % include file=url % 當(dāng)JSP轉(zhuǎn)換成Servlet時(shí),應(yīng)當(dāng)包含本地系統(tǒng)上的指定文件。 等價(jià)的XML表達(dá)是: jsp:directive.include file=url. 其中URL必須是相對(duì)URL。 利用jsp:include動(dòng)作可以在請(qǐng)求的時(shí)候(而不是JSP轉(zhuǎn)換成Servlet時(shí))引入文件。 JSP注釋 %- comment -% 注釋;JSP轉(zhuǎn)換成Servlet時(shí)被忽略。 如果要把注釋嵌入結(jié)果HTML文檔,使用普通的HTML注釋標(biāo)記- comment -。 jsp:include動(dòng)作jsp:include page=relative URL flush=true/ 當(dāng)Servlet被請(qǐng)求時(shí),引入指定的文件。 如果你希望在頁面轉(zhuǎn)換的時(shí)候包含某個(gè)文件,使用JSP include指令。 注意:在某些服務(wù)器上,被包含文件必須是HTML文件或JSP文件,具體由服務(wù)器決定(通常根據(jù)文件擴(kuò)展名判斷)。 jsp:useBean動(dòng)作 jsp:useBean att=val*/ 或者 jsp:useBean att=val* . /jsp:useBean 尋找或?qū)嵗粋€(gè)Java Bean。 可能的屬性包括: id=name scope=page|request |session|application class=package.class type=package.class beanName=package.class jsp:setProperty動(dòng)作 jsp:setProperty att=val*/ 設(shè)置Bean的屬性。既可以設(shè)置一個(gè)確定的值,也可以指定屬性值來自請(qǐng)求參數(shù)。 合法的屬性包括: name=beanName property=propertyName|*param=parameterName value=val jsp:getProperty動(dòng)作 jsp:getProperty name=propertyName value=val 提取并輸出Bean的屬性。 jsp:forward動(dòng)作 jsp:forward page=relative URL/ 把請(qǐng)求轉(zhuǎn)到另外一個(gè)頁面。 jsp:plugin動(dòng)作 jsp:plugin attribute=value* . /jsp:plugin 根據(jù)瀏覽器類型生成OBJECT或者EMBED標(biāo)記,以便通過Java Plugin運(yùn)行Java Applet。 關(guān)于模板文本(靜態(tài)HTML) ,許多時(shí)候,JSP頁面的很大一部分都由靜態(tài)HTML構(gòu)成,這些靜態(tài)HTML也稱為“模板文本”。模板文本和普通HTML幾乎完全相同,它們都遵從相同的語法規(guī)則,而且模板文本也是被Servlet直接發(fā)送到客戶端。此外,模板文本也可以用任何現(xiàn)有的頁面制作工具來編寫。 唯一的例外在于,如果要輸出“%”,則模板文本中應(yīng)該寫成“%”。2.2 APPLET技術(shù)2.2.1 Applet說明:1) 首先Applet一般是從java.applet.Applet中繼承過來的;2) paint()方法必須是public,不然不能被其它程序正確調(diào)用;3) 由于paint方法使用了Graphics類,所以Applet需要引用java.awt.4) Graphics,當(dāng)然如果其它的類如果也可以實(shí)現(xiàn)Graphics類的功能,也可以引用之;5) 在Applet中沒有public static void main這個(gè)方法,所以它不能獨(dú)立執(zhí)行,必須由專門的程序(如游覽器)調(diào)用執(zhí)行,Applet程序被調(diào)用后,會(huì)自動(dòng)執(zhí)行paint方法。6) 在Html中使用標(biāo)簽APPLET來引用Applet,code屬性指定Applet的程序名,這是一個(gè)簡(jiǎn)單的Applet引用方法,當(dāng)引入的Applet與html文件在同一個(gè)目錄下,不用加路徑說明,如果不是可以使用codebase指定applet所在的路徑,路徑表示方法與html中的一樣;7) 其它屬性width及屬性height是HTML的標(biāo)準(zhǔn)屬性。還有另一個(gè)方法可以測(cè)試Applet,就是使用appletViewer命令,查看html文件中引入的applet小程序,該命令會(huì)忽略html代碼,直接執(zhí)行applet代碼。2.2.2 Applet參數(shù)使用方法在Applet中可以使用標(biāo)簽向Applet傳遞參數(shù),如:當(dāng)applet執(zhí)行時(shí),這些參數(shù)就會(huì)被傳入,可以在init方法中使用getParameter()方法獲取這些傳入?yún)?shù)的值,如getParameter(font),該方法返回值始終是String類型的,所以必要的時(shí)候還需進(jìn)行相應(yīng)的類型轉(zhuǎn)換。如果沒有相應(yīng)的傳入?yún)?shù),那么getParameter()方法會(huì)返回null值。2.2.3 Applet基本方法從java.applet.Applet繼承過來的applet會(huì)有五個(gè)基本的方法:(1) init()方法:當(dāng)applet被加載時(shí),會(huì)首先執(zhí)行init方法,該方法相當(dāng)于java application中的main,該方法只能被執(zhí)行一次;(2) start()方法:init方法執(zhí)行完畢會(huì)就會(huì)自動(dòng)執(zhí)行start方法,start方法可以被反復(fù)執(zhí)行,如一個(gè)applet被stop后,可以使用start方法重新開動(dòng)它;(3) stop()方法:停止執(zhí)行applet,與start方法相對(duì)應(yīng)(4) destroy()方法:與init方法相對(duì)應(yīng);(5) paint()方法:輸出指定內(nèi)容,paint方法會(huì)被反復(fù)的調(diào)用,在applet初始化時(shí)、窗口移動(dòng)時(shí)等;(6) repaint()方法:該方法調(diào)用update方法;(7) update()方法:該方法清空屏幕的內(nèi)容后,再調(diào)用paint方法重畫;paint,repaint及update方法是實(shí)現(xiàn)Applet中動(dòng)畫的三個(gè)主要函數(shù),一般在update方法中調(diào)用g.clipRect方法規(guī)則paint的區(qū)域,這樣paint方法只更新指定區(qū)域的內(nèi)容;(8) 以上這些方法在必須的時(shí)候可以重載,并且不需要在我們的applet中顯示的調(diào)用,可以自動(dòng)執(zhí)行(當(dāng)然也可以顯示調(diào)用);2.2.4 Applet中的線程在Applet中如果需要用到動(dòng)畫或者后臺(tái)數(shù)據(jù)處理等需要占用大量資源的功能時(shí),最好使用線程。(1) 要在applet支持線程,一般需要實(shí)現(xiàn)Runnable接口,所以在本例類的聲明中加了implements Runnable;(2) 在Runable接口中定義了run()方法,當(dāng)線程start時(shí),會(huì)調(diào)用這個(gè)方法;所以需要實(shí)現(xiàn)該方法;(3) 要使用線程當(dāng)然需要實(shí)例化類Thread(Thread是屬于java.lang包):Thread runner = new Thread(this),這里的初始化參數(shù)this指定的applet對(duì)象;(4) 接下來在applet的start方法中調(diào)用runner.start()方法開始創(chuàng)建線程,線程創(chuàng)建完后,運(yùn)行run方法;(5) 在run方法中實(shí)現(xiàn)真正要實(shí)現(xiàn)的內(nèi)容,本例修改了theDate的值后,調(diào)用repaint方法,該方法的調(diào)用觸發(fā)了paint方法的執(zhí)行;(6) 在stop方法中結(jié)束線程的運(yùn)行。第3章 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)根據(jù)該課題的要求,為了實(shí)現(xiàn)相應(yīng)的網(wǎng)站功能并方便用戶,我建立了4個(gè)表。3.1 用戶信息表(tuser)列名數(shù)據(jù)類型可否為空說明suserchar不可學(xué)生學(xué)號(hào),主鍵namechar不可用戶名,主鍵codechar可密碼isteacherreal不可是否是教師administratorreal可是否是管理員3.2 班級(jí)信息表(Tstudentnum)列名數(shù)據(jù)類型可否為空說明classchar不可班級(jí)號(hào),主鍵studentnumchar不可學(xué)生數(shù)3.3 留言信息表(message)列名數(shù)據(jù)類型可否為空說明titlechar不可主題名,主鍵nametext不可留言人姓名timedatatime可留言時(shí)間contenttext不可留言內(nèi)容isteacherchar不可是否是教師rnamechar不可收信人姓名3.4 任課信息表(adds)列名數(shù)據(jù)類型可否為空說明teacherchar不可教師姓名,主鍵coursechar不可課程名,主鍵classchar不可班級(jí)名,主鍵在這4個(gè)表中,用戶信息表(tuser)存儲(chǔ)所有合法的用戶信息。用于在登錄時(shí)的檢驗(yàn),以及其他一些相應(yīng)的修改用戶信息的頁面。班級(jí)表(Tstudentnum)和任課信息表用于文件下載頁面,以提供文件的下載地址。第4章 系統(tǒng)頁面介紹4.1 登錄頁面流程圖登錄、注冊(cè)界面(login.jsp)核實(shí)頁面(ValidateUser.jsp)學(xué)生頁面(student.htm)教師頁面(teacher.htm)管理員頁面(admin.htm)留言頁面(index.htm)上傳文件頁面(upload.jsp)學(xué)生聊天室頁面(sapplet.jsp)留言頁面(index.htm)下載文件頁面(TeacherPage2.jsp)教師聊天室頁面(tapplet.jsp)管理學(xué)生頁面(delestudent.jsp)添加教師頁面(addteacher.jsp)刪除教師頁面(deleteacher.jsp)管理留言信息頁面(managelyb.jsp)管理任課信息頁面(maadds.jsp)管理班級(jí)信息頁面(maclass.jsp)修改密碼頁面(changecode.jsp)修改密碼頁面(changecode.jsp)修改密碼頁面(changecode.jsp)學(xué)生注冊(cè)頁面(UserInfo.jsp)登錄失敗頁面(fail.htm)4.2 系統(tǒng)主要頁面詳述4.1.1 登錄、注冊(cè)頁面(login.jsp)該頁面主要是一個(gè)表單,提供兩個(gè)選擇:注冊(cè)或登錄。在填寫完用戶名和密碼兩項(xiàng)內(nèi)容后按下提交鍵進(jìn)入核實(shí)頁面(ValidateUser.jsp),或點(diǎn)擊注冊(cè)鍵進(jìn)入注冊(cè)信息填寫頁面(UserInfo.jsp)。在該頁面代碼中我添加了一個(gè)javascript函數(shù),使該頁面具有了粗略的錯(cuò)誤提示功能:在用戶未輸入用戶名和密碼前表單不會(huì)被提交至登錄的核實(shí)頁面(ValidateUser.jsp)。4.1.2 核實(shí)頁面(ValidateUser.jsp)該頁面接受登錄、注冊(cè)頁面(login.jsp)提交的用戶名和密碼兩項(xiàng)信息并以此進(jìn)行數(shù)據(jù)庫查詢,若查詢成功,則將該用戶的姓名、學(xué)號(hào)和該用戶是否為教師的信息分別記入session變量“name”、“snum”、“Isteacher”中,并根據(jù)數(shù)據(jù)庫查詢的結(jié)果決定下一個(gè)顯示的頁面:學(xué)生頁面(student.htm),教師頁面(teacher.htm),管理員頁面(administrator.htm)和登錄失敗頁面(fail.htm)。在這個(gè)頁面中,我另外還設(shè)置了一個(gè)session變量“l(fā)ogin”當(dāng)成功驗(yàn)證后賦值為“ok”。該變量的作用是為驗(yàn)證已登錄頁面(CheckValid.jsp)提供是否以驗(yàn)證的信息。在該頁面中,我使用了javabean技術(shù),將連接數(shù)據(jù)庫的工作建成了一個(gè)名為conn的類,并在該頁面中引用。在后面介紹的文件中,也有許多文件引用了它。4.1.3 驗(yàn)證已登錄頁面(CheckValid.jsp)該頁面提供一個(gè)驗(yàn)證打開當(dāng)前頁面用戶是否登錄的功能。這樣是為了避免在有惡意人士在了解了頁面的文件名后,跳過登錄界面直接進(jìn)入后面的服務(wù)頁面。該頁面實(shí)際只是一個(gè)驗(yàn)證是否登錄的代碼,其他需要保護(hù)的頁面只要在文件開始時(shí)引用該文件就可以了,這樣可以避免在多個(gè)網(wǎng)頁中重復(fù)編寫相同的代碼。4.1.4 學(xué)生注冊(cè)頁面(UserInfo.jsp)該頁面主要是一個(gè)表單,負(fù)責(zé)從用戶獲得相關(guān)的信息,提交給注冊(cè)信息提交頁面(CheckUserInfo.jsp)。4.1.5 注冊(cè)頁面提交頁面(CheckUserInfo.jsp)該頁面接受學(xué)生注冊(cè)頁面(UserInfo.jsp)提交的信息。使用javabean,引用了兩個(gè)類,分別為conn和UserInfo。前者用來獲得用戶的學(xué)號(hào),用來進(jìn)行唯一性校驗(yàn);后者用來對(duì)接受的信息進(jìn)行校驗(yàn),對(duì)“學(xué)號(hào)”、“用戶名”、“密碼”、“重復(fù)密碼”提供空檢驗(yàn),“學(xué)號(hào)”必須為8位數(shù)字,“密碼” 與“重復(fù)密碼”必須一致,否則就會(huì)提示相應(yīng)的糾錯(cuò)信息。在確認(rèn)提交的信息無錯(cuò)后,嘗試進(jìn)行數(shù)據(jù)庫輸入操作。若操作成功,則顯示數(shù)據(jù)庫操作成功信息和輸入者的姓名、學(xué)號(hào),如下圖所示。若操作失敗,則顯示數(shù)據(jù)庫操作失敗信息,提示重新嘗試。4.1.6 學(xué)生頁面(student.htm)此頁面為一框架頁面,3個(gè)框架分別指向?qū)W生選擇頁面(StudentPage.jsp)、學(xué)生登錄默認(rèn)界面(student1.htm)和顯示留言頁面(view_message.jsp)。4.1.7 學(xué)生選擇頁面(StudentPage.jsp)該頁面提供了學(xué)生成功登錄后的可用選項(xiàng)。我做成了5個(gè)超連接,分別連接不同的頁面。具體為“我要留言”對(duì)應(yīng)留言填寫頁面(index.htm),“上傳文件”對(duì)應(yīng)上傳文件選擇頁面(upload.jsp),“聊天室” 對(duì)應(yīng)學(xué)生聊天室頁面(sapplet.jsp),“修改密碼”對(duì)應(yīng)修改密碼頁面(changecode.jsp),“返回登錄界面”對(duì)應(yīng)登錄、注冊(cè)頁面(login.jsp)。4.1.8 教師頁面(teacher.htm)同學(xué)生頁面一樣,此頁面也為一框架頁面。3個(gè)框架分別指向教師選擇頁面(TeacherPage.jsp)、教師登錄默認(rèn)界面(teacher1.htm)和顯示留言頁面(view_message.jsp)。4.1.9 教師選擇頁面(TeacherPage.jsp)該頁面提供了教師成功登錄后的可用選項(xiàng)。共7個(gè)超連接。分別為“我要留言”對(duì)應(yīng)留言填寫頁面(index.htm),“下載文件”對(duì)應(yīng)班級(jí)選擇頁面(TeacherPage2.jsp),“聊天室”對(duì)應(yīng)教師聊天室頁面(tapplet.jsp),“管理學(xué)生信息”對(duì)應(yīng)學(xué)生帳戶刪除頁面(delestudent.jsp),“管理任課信息”對(duì)應(yīng)添加認(rèn)課信息頁面(maadds.jsp),“修改密碼”對(duì)應(yīng)修改密碼頁面(changecode.jsp),“返回登錄界面”對(duì)應(yīng)登錄、注冊(cè)頁面(login.jsp)。4.1.10 管理員頁面(admin.htm)框架頁面。同樣是3個(gè)框架,分別對(duì)應(yīng)管理員選擇頁面(administrator.jsp)、管理員登錄默認(rèn)界面(admin1.htm)和顯示留言頁面(view_message.jsp)。4.1.11 管理員選擇頁面(admin.jsp)該頁面提供了管理員成功登錄后的可用選項(xiàng)。共6個(gè)超連接?!疤砑咏處熜畔ⅰ睂?duì)應(yīng)添加教師信息頁面(addteacher.jsp),“刪除教師信息”對(duì)應(yīng)刪除教師信息頁面(deleteacher.jsp),“管理留言板”對(duì)應(yīng)管理留言板頁面(managelyb.jsp),“管理班級(jí)信息”對(duì)應(yīng)管理班級(jí)信息頁面(maclass.jsp),“修改管理員密碼”對(duì)應(yīng)修改密碼頁面(changecode.jsp),“返回登錄界面”對(duì)應(yīng)登錄、注冊(cè)頁面(login.jsp)。4.1.12 顯示留言頁面(view_message.jsp)該頁面顯示當(dāng)前用戶收到的留言信息。具體的工作為使用session變量“name”獲得當(dāng)前的用戶名,通過session變量“snum”獲得登錄者的學(xué)號(hào)信息,并進(jìn)行適當(dāng)處理獲得當(dāng)前用戶所屬的班級(jí)號(hào),在數(shù)據(jù)庫中message表的“rname”項(xiàng)上查找相匹配的條目,并按記入數(shù)據(jù)庫的時(shí)間順序列出。顯示留言的留言人,留言主題,留言時(shí)間和內(nèi)容。在數(shù)據(jù)庫為空時(shí),提示“目前還沒有任何留言”,在當(dāng)前用戶未收到留言時(shí)提示“您還未收到任何留言”。4.1.13 留言頁面(index.htm)該頁面主要是一個(gè)表單,從用戶處獲得接受對(duì)象,留言主題和留言內(nèi)容三項(xiàng)信息,提交給添加留言頁面(add_message.jsp)。“查看留言”提供用戶一個(gè)在較大的框架中瀏覽留言的功能,對(duì)應(yīng)頁面名為nowview_message.jsp。4.1.14 添加留言信息頁面(add_message.jsp)該頁面一方面接受由留言頁面(index.htm)傳來的表單數(shù)據(jù),并對(duì)其進(jìn)行簡(jiǎn)單的校驗(yàn)。另一方面通過session變量獲得提交該留言者的身份信息是否為教師。該頁面檢查接受的各條目是否為空,若為空則顯示相應(yīng)的提示信息。當(dāng)確定接受的數(shù)據(jù)符合要求后,將進(jìn)行輸入數(shù)據(jù)庫的嘗試。若成功輸入,則重定位至成功添加留言頁面(successadd.htm)提示數(shù)據(jù)庫輸入成功。4.1.15 上傳文件頁面(upload.jsp)通過session變量“snum”獲得登陸學(xué)生的學(xué)號(hào)。取其前六位數(shù)字得到該生所在的班級(jí)。以此為根據(jù)對(duì)數(shù)據(jù)庫進(jìn)行兩次查詢獲得該班級(jí)的所有任課教師和所學(xué)課程放入兩個(gè)菜單中,供學(xué)生選擇,并和用戶選擇的文件一起以表單形式提交給上傳處理頁面(doUpload.jsp).4.1.16 上傳處理頁面(doUpload.jsp)接收上傳頁面(upload.jsp)提交的相關(guān)信息,利用SmartUpdown組件實(shí)現(xiàn)文件上傳。其中SmartUpdown組件以javabean形式在頁面文件中被引用。4.1.17 下載處理頁面(doDownload.jsp)通過session變量獲得文件的下載地址,傳給SmartUpdown組件實(shí)現(xiàn)文件的下載。SmartUpdown組件同樣以javabean形式在頁面文件中被引用。4.1.18 修改密碼頁面(changecode.jsp)獲得用戶的新密碼,并以POST方式提交給修改密碼處理頁面(changecode2.jsp)。4.1.19 修改密碼處理頁面(changecode2.jsp)接受修改密碼頁面(changecode.jsp)提交的信息。比較兩次密碼輸入是否一致。當(dāng)一致時(shí)進(jìn)行數(shù)據(jù)庫輸入操作。在操作成功時(shí)提示“密碼更新完成”,在失敗時(shí)提示“數(shù)據(jù)庫輸入中出現(xiàn)問題,請(qǐng)重試”。4.1.20 管理任課信息頁面(maadds.jsp)由用戶填寫相關(guān)信息,以POST方式提交到任課信息處理頁面(maadds2.jsp)。4.1.21 任課信息處理頁面(maadds2.jsp)從管理任課信息頁面(maadds.jsp)獲得課程和班級(jí)的信息,再從session變量“name”獲得教師名,然后進(jìn)行數(shù)據(jù)庫輸入操作。依據(jù)成功或失敗分別提示相關(guān)信息。4.1.22 刪除教師頁面(deleteacher.jsp)從數(shù)據(jù)庫中輸出所有教師的信息。通過循環(huán),列表顯示。在每行后添加一個(gè)表單,設(shè)立一個(gè)屬性為隱藏,名字為“name” 的變量,其值為每行相應(yīng)的教師名。再設(shè)立一個(gè)屬性為提交,名字為“刪除按鈕”的按鍵。表單的目標(biāo)設(shè)為刪除教師處理頁面(deleteacher2.jsp)。4.1.23 刪除教師處理頁面(deleteacher2.jsp)從刪除教師頁面(deleteacher.jsp)頁面獲得需要?jiǎng)h除的教師的姓名,以此為依據(jù)進(jìn)行數(shù)據(jù)庫操作。根據(jù)操作的成功與否返回相應(yīng)的提示。4.1.24 學(xué)生聊天室頁面(sapplst.jsp)本頁面引用了applet文件ChatApplet2.class。使用session變量獲得以登錄用戶的用戶名,并將此參數(shù)傳至該applet文件。進(jìn)入該頁面后點(diǎn)擊登錄按鍵就可以激活聊天室欄(需在服務(wù)器以開通的前提下,默認(rèn)登錄默認(rèn)聊天室)。選擇自己想要進(jìn)入的聊天室點(diǎn)擊“加入聊天室”按鈕就可以開始在線交流了在“當(dāng)前交談室用戶”欄中可以觀察在線的用戶。右上為網(wǎng)絡(luò)白板,右下角的文本框?yàn)榱奶祜@示處,其下為聊天的發(fā)送處。在白板右側(cè)可以選擇當(dāng)前畫筆的顏色,白板上方室清除白板的功能鍵按鈕。暫停交談按鈕在被使用后,只能發(fā)送信息不能接受信息,再次點(diǎn)擊恢復(fù)聊天功能。第5章 系統(tǒng)功能詳述5.1 登錄系統(tǒng)登錄系統(tǒng)由2個(gè)頁面,一個(gè)javabean文件和1個(gè)數(shù)據(jù)庫表組成:登錄、注冊(cè)頁面(login.jsp),核實(shí)頁面(ValidateUser.jsp),conn類文件和用戶信息表(tuser)。該系統(tǒng)對(duì)需要使用該系統(tǒng)的用戶進(jìn)行驗(yàn)證,并將合法用戶分類,再根據(jù)分類結(jié)果顯示不同的登錄界面。用戶在登錄、注冊(cè)頁面(login.jsp)中填寫相應(yīng)信息后按下提交鍵,經(jīng)過頁面中的javascript函數(shù)的簡(jiǎn)單校驗(yàn)通過后將相應(yīng)信息提交給核實(shí)頁面(ValidateUser.jsp)。在該頁中,通過引用conn類調(diào)用用戶信息表與提交的數(shù)據(jù)相比較,決定下一個(gè)顯示的頁面。5.2 注冊(cè)系統(tǒng)注冊(cè)系統(tǒng)分為學(xué)生注冊(cè)系統(tǒng)和教師注冊(cè)系統(tǒng)。其中學(xué)生注冊(cè)系統(tǒng)由3個(gè)頁面,一個(gè)javabean文件和1個(gè)數(shù)據(jù)庫表組成:登錄、注冊(cè)頁面(login.jsp),學(xué)生注冊(cè)頁面(UserInfo.jsp),注冊(cè)信息提交頁面(CheckUserInfo.jsp),UserInfo類文件和用戶信息表(tuser)。教師注冊(cè)系統(tǒng)也由3個(gè)頁面和1個(gè)數(shù)據(jù)庫表組成:管理員選擇頁面(admin.jsp), 添加教師信息頁面(addteacher.htm),添加教師處理頁面(addteacher.jsp)和用戶信息表(tuser).該系統(tǒng)實(shí)現(xiàn)添加合法用戶的添加功能。先介紹學(xué)生注冊(cè)系統(tǒng)。在登錄、注冊(cè)頁面(login.jsp)中選擇“注冊(cè)”按鈕,進(jìn)入學(xué)生注冊(cè)頁面。在學(xué)生注冊(cè)頁面中,用戶填寫相應(yīng)的注冊(cè)信息,提交到注冊(cè)信息提交頁面。該頁面通過引用的UserInfo類進(jìn)行數(shù)據(jù)的校驗(yàn)工作,并在校驗(yàn)后將信息輸入用戶信息表。再介紹教師注冊(cè)系統(tǒng)。在管理員選擇頁面中選擇“添加教師信息”選項(xiàng),進(jìn)入添加教師信息頁面,用戶在該頁面填寫注冊(cè)所需的相關(guān)信息后選擇提交按鈕,將相關(guān)信息提交至添加教師處理頁面。由該頁面將相應(yīng)信息輸入用戶信息表。值得注意的是,由于用戶信息表中屬性“snum”的主鍵特性,必須為教師編寫學(xué)號(hào)。為此,我將教師的學(xué)號(hào)全部設(shè)為“00000000”。5.3 師生信息管理系統(tǒng) 師生信息管理系統(tǒng)由8個(gè)頁面和3個(gè)數(shù)據(jù)庫表組成:管理學(xué)生頁面(delestudent.jsp),管理學(xué)生處理頁面(delestudent2.jsp),刪除教師頁面(deleteacher.jsp),刪除教師處理頁面(deleteacher2.jsp),管理任課信息頁面(maadds.jsp),任課信息處理頁面(maadds2.jsp),管理班級(jí)信息頁面(maclass.jsp),班級(jí)信息處理頁面(maclass2.jsp),用戶信息表(tuser),班級(jí)信息表(Tstudentnum)和認(rèn)課信息表(adds)。該系統(tǒng)主要實(shí)現(xiàn)在線的數(shù)據(jù)庫操作。根據(jù)用戶的權(quán)限可以對(duì)數(shù)據(jù)庫中的各個(gè)師生關(guān)系表進(jìn)行相應(yīng)的操作。具體權(quán)限如下:學(xué)生無任何修改相關(guān)表的權(quán)利。教師可以用戶信息表中的學(xué)生信息,對(duì)任課信息表進(jìn)行添加。管理員可以對(duì)班級(jí)信息表進(jìn)行操作,可以修改用戶信息表中的教師信息。先介紹教師的相關(guān)操作,先是管理學(xué)生信息。以教師權(quán)限登錄后,在教師選擇頁面選擇管理學(xué)生信息按鍵,進(jìn)入管理學(xué)生信息頁面。填寫需要?jiǎng)h除的學(xué)生的姓名和學(xué)號(hào),按下提交鍵將相應(yīng)數(shù)據(jù)提交至管理學(xué)生處理頁面。該頁面比較獲得的數(shù)據(jù)和用戶信息表中相應(yīng)的數(shù)據(jù)。若相符和就刪除該學(xué)生信息。再是管理任課信息。同樣以教師權(quán)限登錄后,在教師選擇頁面中選擇管理任課信息按鍵,進(jìn)入管理班級(jí)信息頁面。填寫相應(yīng)班級(jí)信息按下提交鍵進(jìn)入班級(jí)信息處理頁面,進(jìn)行數(shù)據(jù)庫輸入操作。再介紹管理員的相關(guān)操作,先是刪除教師信息。在以管理員身份登錄后,在管理員選擇頁面選擇刪除教師信息選項(xiàng),進(jìn)入刪除教師信息頁面。該頁自動(dòng)顯示當(dāng)前用戶信息表中的所用教師信息,并提供刪除選項(xiàng)。點(diǎn)擊需要?jiǎng)h除的教師信息所在行的刪除按鈕進(jìn)入刪除教師處理頁面。由該頁面執(zhí)行相應(yīng)的對(duì)用戶信息表的操作,并根據(jù)操作成敗返回相應(yīng)信息。再是管理班級(jí)信息。同樣以管理員身份進(jìn)入管理員選擇頁面后選擇管理班級(jí)信息選項(xiàng),進(jìn)入管理班級(jí)信息頁面。在該頁填寫班級(jí)號(hào)和班級(jí)人數(shù)信息,按下提交鍵將相關(guān)信息提交至任課信息處理頁面,由后者將相關(guān)信息輸入數(shù)據(jù)庫。5.4 留言板系統(tǒng)該系統(tǒng)由6個(gè)頁面和1個(gè)數(shù)據(jù)庫表組成:留言頁面(index.htm),添加留言頁面(add_message.jsp),顯示留言頁面(view_message.jsp),成功留言頁面(successadd.htm),管理留言信息頁面(managelyb.htm),管理留言信息處理頁面(managelyb2.jsp)和留言信息表(message)。該系統(tǒng)的作用是實(shí)現(xiàn)師生之間的非實(shí)時(shí)交流。當(dāng)學(xué)生需要向教師提問而教師并不在線時(shí),或教師想公布通告給相關(guān)班級(jí)時(shí),或教師回答同學(xué)問題時(shí)都可以使用該系統(tǒng)實(shí)現(xiàn)。該系統(tǒng)有三個(gè)部分:提交留言、顯示留言和管理留言。先介紹提交留言部分。在學(xué)生選擇頁面、教師選擇頁面或管理員選擇頁面選擇我要留言選項(xiàng),進(jìn)入留言頁面。用戶在該頁填寫數(shù)據(jù)庫所需的“收言人”、“主題”和“內(nèi)容”后按下提交按鈕,進(jìn)入添加留言頁面。由該頁面進(jìn)行相應(yīng)的校驗(yàn)和數(shù)據(jù)庫輸入操作。在成功操作后系統(tǒng)自動(dòng)轉(zhuǎn)移至成功留言頁面提示已成功留言。再介紹顯示留言部分。在用戶成功登錄后系統(tǒng)將根據(jù)數(shù)據(jù)庫中的數(shù)據(jù)將用戶分類并顯示相應(yīng)的頁面框架。留言信息顯示頁面鑲嵌在這些框架中,顯示其它合法用戶給當(dāng)前用戶的留言。最后介紹管理留言部分。在本系統(tǒng)中只有管理員擁有刪除留言的權(quán)利。在管理員選擇頁面中選擇管理留言板選項(xiàng),進(jìn)入管理留言信息頁面。該頁面列出目前數(shù)據(jù)庫中的所有留言,并在每個(gè)留言后添加一個(gè)刪除按鈕。選擇想要?jiǎng)h除的留言按下刪除按鈕進(jìn)入管理留言信息處理頁面。由該頁面處理數(shù)據(jù)庫的相關(guān)操作并返回相應(yīng)的信息。5.5 包含網(wǎng)絡(luò)白板的聊天室系統(tǒng)該系統(tǒng)由2個(gè)頁面,17個(gè)applet類文件組成:學(xué)生聊天室頁面(sapplet.jsp),教師(tapplet.jsp),SendDrawData.class類文件,TooManyRoomsException.class類文件,User.class類文件,AboutDialog.class類文件,ChatServer.class類文件, DataBag.class類文件, Logo.class類文件, NoSuchRoomException.class類文件, NotMemberException.class類文件, PleaseCloseSocketException.class類文件, QuitDialog.class類文件, Room.class 類文件,RoomData.class類文件, RoomGroup.class類文件, Rooms.class類文件, ChatApplet2.class類文件 ,ChatApplet1.class類文件。該系統(tǒng)的功能為構(gòu)建一個(gè)在線聊天室,為在線師生提供在線交流服務(wù)。另外加入網(wǎng)絡(luò)白板,師生之間的交流更加形象生動(dòng),特別適合師生間的交流使用。運(yùn)行該系統(tǒng)的首要條件是在服務(wù)器端首先運(yùn)行ChatServer.class文件構(gòu)建留言服務(wù)器。其運(yùn)行情況如圖下所示:在成功啟動(dòng)服務(wù)器后,登錄教師或?qū)W生選擇頁面。選擇聊天室選項(xiàng),啟動(dòng)相應(yīng)的applet程序。其中學(xué)生引用ChatApplet2類文件,教師引用ChatApplet1類文件。這兩個(gè)applet程序的大部分是相同的,唯一的不同是教師聊天室擁有創(chuàng)建新聊天室的功能,而學(xué)生聊天室沒有,僅能加入默認(rèn)聊天室或教師建立的聊天室。該服務(wù)器提供了2個(gè)菜單,1個(gè)按鈕,1個(gè)下拉菜單和2個(gè)文本顯示框。在“file”菜單中提供“restsrt”和“Exit”兩個(gè)選項(xiàng),分別提供重啟聊天服務(wù)器和退出聊天服務(wù)器?!癶elp” 記錄了版本信息?!癱lean”按鈕將清空其下的“message” 文本顯示框?!癿essage” 文本顯示框顯示相應(yīng)聊天室的聊天內(nèi)容和系統(tǒng)提示信息?!癱hat room”下拉窗口提供當(dāng)前工作的聊天室名,用以在“message”文本顯示框中查看相應(yīng)聊天室的情況?!皍ser list”文本顯示框顯示相應(yīng)聊天室的當(dāng)前用戶。其他的類文件均是前三個(gè)類文件中所引用的類或方法的本體。5.6 文件上傳下載系統(tǒng)該系統(tǒng)包含個(gè)頁面,2個(gè)javabean類文件包和2個(gè)數(shù)據(jù)庫表:下載課程選擇頁面(TeacherPage2.jsp),下載班級(jí)選擇頁面( classPage.jsp),下載學(xué)生選擇頁面(personPage.jsp),下載文件處理頁面(doDownload.jsp),上傳文件選擇頁面(upload.jsp),上傳文件處理頁面(doUpload.jsp),DBconn類文件包,com類文件包,班級(jí)信息表(Tstudentnum),任課信息表(adds)。該系統(tǒng)的功能為實(shí)現(xiàn)學(xué)生作業(yè)的在線提交。該系統(tǒng)分為兩部分。作業(yè)提交和作業(yè)接收。在該系統(tǒng)中,我應(yīng)用了網(wǎng)上業(yè)已成熟的JSP組件smartupdown實(shí)現(xiàn)這兩個(gè)功能。先介紹作業(yè)下載部分。流程圖如下圖所示:教師選擇頁面(TeacherPage.jsp)下載課程選擇頁面(TeacherPage2.jsp)下載班級(jí)選擇頁面(classPage.jsp)下載學(xué)生選擇頁面(personPage.jsp)下載文件處理頁面(doDownload.jsp)在教師選擇頁面中選擇“下載文件”選項(xiàng)。進(jìn)入下載課程選擇頁面,選擇相應(yīng)的課程后點(diǎn)擊“查看”按鍵進(jìn)入下載班級(jí)選擇頁面,選擇相應(yīng)的班級(jí),進(jìn)入下載學(xué)生選擇頁面,選擇目標(biāo)學(xué)生的學(xué)號(hào),進(jìn)入下載文件處理頁面。由該頁面根據(jù)前面各頁的選擇,引用com類包中的smartupdown組件下載相應(yīng)的學(xué)生文件。再介紹作業(yè)上傳部分。在學(xué)生選擇頁面中選擇“上傳文件”選項(xiàng)。進(jìn)入上傳文件頁面,在空白處填寫文件地址或通過點(diǎn)擊“”按鈕獲得文件地址。在下面的兩個(gè)下拉菜單欄中選擇相應(yīng)的教師和課程,提交至上傳文件處理頁面。該頁引用smartupdown插件完成文件的上傳工作。第6章 系統(tǒng)運(yùn)行配置對(duì)于JSP頁面在windows系統(tǒng)中應(yīng)用,必須安裝相應(yīng)的軟件,并進(jìn)行相應(yīng)的環(huán)境變量配置。6.1 安裝J2SDK:到SUN官方站點(diǎn)(http:/)下載J2SDK的安裝文件:j2sdk-1_4_2_04-windows-i586-p.exe,下載之后安裝好J2SDK;安裝完之后,設(shè)置環(huán)境變量:我的電腦-屬性-高級(jí)-環(huán)境變量;選擇-系統(tǒng)變量(S):設(shè)置JAVA_HOME環(huán)境變量:?jiǎn)螕?新建,在變量名中輸入:JAVA_HOME在變量值中輸入:D:Java(假設(shè)J2SDK安裝在目錄D:Java下,就是J2SDK的安裝目錄。)然后-確定,到此已經(jīng)設(shè)置好JAVA_HOME環(huán)境變量。設(shè)置CLASSPATH環(huán)境變量:?jiǎn)螕?新建,在變量名中輸入:CLASSPATH在變量值中輸入:D:Javabin;.;D:Javalib;D:Javalibdt.jar;D:Javalibtools.jar(中間的點(diǎn)號(hào)“.”和分號(hào)“;”必不可少。)然后-確定,到此已經(jīng)設(shè)置好CLASSPATH環(huán)境變量。設(shè)置PATH環(huán)境變量:?jiǎn)螕?新建,在變量名中輸入:PATH在變量值中輸入:D:Java;.;D:Javabin(中間的點(diǎn)號(hào)“.”和分號(hào)“;”必不可少。)然后-確定,到此已經(jīng)設(shè)置好JAVA_HOME環(huán)境變量。6.2 安裝Tomcat:到tomcat官方站點(diǎn)(http:/www.apache.org/dist/jakarta/tomcat-4/)下載tomcat:jakarta-tomcat-4.1.30.exe,下載之后安裝。(比如安裝在D:Tomcat下。)安裝完之后,設(shè)置環(huán)境變量:我的電腦-屬性-高級(jí)-環(huán)境變量;選擇-系統(tǒng)變量(S):設(shè)置CATALINA_HOME環(huán)境變量:?jiǎn)螕?新建,在變量名中輸入:CATALINA_HOME在變量值中輸入:D:Tomcat然后-確定,到此已經(jīng)設(shè)置好CATALINA_HOME環(huán)境變量。設(shè)置CATALINA_BASE環(huán)境變量:?jiǎn)螕?新建,在變量名中輸入:CATALINA_BASE在變量值中輸入:D:Tomcat然后-確定,到此已經(jīng)設(shè)置好CATALINA_BASE環(huán)境變量。然后修改環(huán)境變量中的CLASSPATH,把Tomat安裝目錄下的commonlib下的servlet.jar追加到CLASSPATH中去,修改后的CLASSPATH如下:CLASSPATH=D:Javabin;.;D:Javalib;D:Javalibdt.jar;D:Javalibtools.jar;D:Tomcatcommonlibservlet.jar接著可以啟動(dòng)tomcat,在IE中訪問http:/localhost:8080,如果看到tomcat的歡迎頁面的話說明安裝成功了。如果上面的tomcat安裝成功的話,接下來繼續(xù)安裝JSP訪問SQLServer2000的驅(qū)動(dòng)程序:6.3 安裝JSP訪問SQL Server 2000的驅(qū)動(dòng)程序:從微軟的網(wǎng)站上下載驅(qū)動(dòng)程序:SQLServer2000ForJDBC驅(qū)動(dòng)程序,在Google中隨便搜索就有。然后將它安裝好。然后必須將安裝目錄中的lib目錄下三個(gè)jar文件:msbase.jar,mssqlserver.jar,msutil.jar拷貝到Tomcat目錄下commonlib目錄下,之后,修改環(huán)境變量中的CLASSPATH。把SQL Server 2000 For JDBC 驅(qū)動(dòng)程序安裝目錄下的D:SQLDriverForJDBClibmsbase.jar;D:SQLDriverForJDBClibmssqlserver.jar;D:SQLDriverForJDBCmsutil.jar;追加到CLASSPATH中去,修改后的CLASSPATH如下:CLASSPATH=D:Javabin;.;D:Javalib;D:Javalibdt.jar;D:Javalibtools.jar;D:LubeeTomcatcommonlibservlet.jar;D:SQLDriverForJDBClibmsbase.jar;D:SQLDriverForJDBClibmssqlserver.jar;D:SQLDriverForJDBCmsutil.jar必須重新啟動(dòng)Tomcat!這樣做的目的是,jsp頁面在編譯過程中不會(huì)出現(xiàn)找不到sqlserverdriver類庫的問題測(cè)試連接SQLServer2000的JSP代碼Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver).newInstance();Stringurl=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=pubs;/pubs為你的數(shù)據(jù)庫的Stringuser=sa;Stringpassword=admin;Connectionconn=DriverManager.getConnection(url,user,password);Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);Stringsql=selectjob_id,job_descfromjobs;ResultSetrs=stmt.executeQuery(sql);到此數(shù)據(jù)庫配置完成。第7章 系統(tǒng)重要部分技術(shù)實(shí)現(xiàn)7.1 包含網(wǎng)絡(luò)白板的技術(shù)實(shí)現(xiàn)7.1.1 工作原理 電子白板有兩種實(shí)現(xiàn)模型,一種是無白板服務(wù)器,因此僅支持兩個(gè)用戶直接連結(jié);另一種是有白板服務(wù)器,原則上不限制同時(shí)上線人數(shù)和交談室個(gè)數(shù),具體實(shí)現(xiàn)上可視服