網(wǎng)絡(luò)遠(yuǎn)程作業(yè)處理系統(tǒng)——畢業(yè)論文 (2)
《網(wǎng)絡(luò)遠(yuǎn)程作業(yè)處理系統(tǒng)——畢業(yè)論文 (2)》由會(huì)員分享,可在線閱讀,更多相關(guān)《網(wǎng)絡(luò)遠(yuǎn)程作業(yè)處理系統(tǒng)——畢業(yè)論文 (2)(51頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、南京工程學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)中文摘要隨著網(wǎng)絡(luò)在社會(huì)的不斷普及,其在人們的學(xué)習(xí)和生活中發(fā)揮著越來(lái)越重要的作業(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)頁(yè)中的上傳和下載;實(shí)時(shí)在線交流系統(tǒng)實(shí)際就是一個(gè)在線聊天室,并考慮到師生這個(gè)特殊的服務(wù)對(duì)象,添加了網(wǎng)絡(luò)白板這個(gè)功能,使師生之間可以更加形象的交流;在線留言系統(tǒng)提供了與未在線的
2、人交流的功能。以上這些功能的實(shí)現(xiàn)都是建立在師生信息管理系統(tǒng)之上的,首先要建立完整的學(xué)生、教師和班級(jí)信息,以上3個(gè)主要系統(tǒng)才能正常工作。再就是為了減小網(wǎng)頁(yè)的負(fù)擔(dān),我設(shè)立了注冊(cè)登錄系統(tǒng),一定程度的減免了不相關(guān)人員的訪問(wèn)。關(guān)鍵詞 網(wǎng)絡(luò) 在線 交流 前 言隨著計(jì)算機(jī)在社會(huì)的不斷普及和應(yīng)用,人們的工作效率得到了極大的提高。高等院校作為社會(huì)進(jìn)步的發(fā)動(dòng)機(jī),計(jì)算機(jī)早已普及并得到了積極應(yīng)用。而隨著近年來(lái)的計(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ò)
3、,在構(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)頁(yè)面。2注冊(cè)系統(tǒng),只提供學(xué)生的注冊(cè),教師由管理員添加,僅設(shè)1名管理員賬戶。3師生信息管理系統(tǒng),管理相關(guān)的師生信息。4只有目的用戶可見(jiàn)的留言板系統(tǒng)。通過(guò)對(duì)數(shù)據(jù)庫(kù)的匹配查詢實(shí)現(xiàn)。5包含網(wǎng)絡(luò)白板的聊天室系統(tǒng)。利用便捷的applet,通過(guò)多線程的應(yīng)用實(shí)現(xiàn)聊天室。網(wǎng)絡(luò)白板嵌入聊天室系統(tǒng)中,利用
4、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ù)庫(kù)設(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è)部分來(lái)詳細(xì)介紹。參考文獻(xiàn)與附錄是關(guān)于開(kāi)發(fā)該系統(tǒng)所參考的數(shù)據(jù)和書(shū)籍,附錄是一些輔助說(shuō)明。目錄是畢業(yè)論文各章節(jié)所在頁(yè)的具體說(shuō)明。網(wǎng)絡(luò)遠(yuǎn)程作業(yè)處理系統(tǒng)主要的開(kāi)發(fā)工具為Dreamweaver MX 2004,SQL Sever 2000和JB
5、uilder9。第1章 開(kāi)發(fā)工具簡(jiǎn)介1.1 Dreamweaver MX 2004Dreamweaver MX 2004 是 建立 Web 站點(diǎn)和應(yīng)用程序的專業(yè)工具。它將可視布局工具、應(yīng)用程序開(kāi)發(fā)功能和代碼編輯支持組合為一個(gè)功能強(qiáng)大的工具,使每個(gè)級(jí)別的開(kāi)發(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è)人員提供了所需的工具。開(kāi)發(fā)人員可以將其選擇的服務(wù)器技術(shù)與 Dreamweaver 配合使用,建立將用戶連接到數(shù)據(jù)庫(kù)、Web 服務(wù)和舊式系統(tǒng)的強(qiáng)大 Internet
6、應(yīng)用程序。1.2 BorlandJBuilder9BorlandJBuilder9全球最具威力之Java開(kāi)發(fā)環(huán)境,相較過(guò)去版本,JBuilder提供更多省時(shí)工具與精靈,讓您團(tuán)隊(duì)生產(chǎn)力提升至極限,協(xié)助您在最短時(shí)間內(nèi)開(kāi)發(fā)更好的軟件。這僅是完整Borland解決方案的一部份,JBuilder9Enterprise以融入應(yīng)用程序開(kāi)發(fā)周期(applicationlifecycle)為第一要?jiǎng)?wù),能夠使用您現(xiàn)有之技術(shù)投資,并給您最大的自由與彈性,讓您以自己的方式與流程完成工作。BorlandOptimizeitSuite已包含于JBuilder9Enterprise版中:JBuilder9所包含之創(chuàng)新工具與
7、加值功能將企業(yè)級(jí)Java開(kāi)發(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)、
8、數(shù)據(jù)倉(cāng)庫(kù)和電子商務(wù)應(yīng)用程序的優(yōu)秀數(shù)據(jù)庫(kù)平臺(tái)。SQL Server 7.0 版中提供的 OLAP 服務(wù)功能現(xiàn)在稱為 SQL Server 2000 Analysis Services。術(shù)語(yǔ)OLAP 服務(wù)已被術(shù)語(yǔ)Analysis Services取代。Analysis Services 還包括一個(gè)新的數(shù)據(jù)挖掘組件。SQL Server 7.0 版中包含的知識(shí)庫(kù)組件現(xiàn)在稱為 Microsoft SQL Server 2000 Meta Data Services?,F(xiàn)在提及該組件時(shí)使用術(shù)語(yǔ)Meta Data Services。知識(shí)庫(kù)這個(gè)術(shù)語(yǔ)只在談及 Meta Data Services中的知識(shí)庫(kù)引擎時(shí)
9、才使用。第51頁(yè)第2章 相關(guān)技術(shù)文檔2.1 JSP技術(shù)JavaServer Pages (JSP) 是一種以 Java為主的跨平臺(tái)web開(kāi)發(fā)語(yǔ)言。JSP與微軟的Active Server Pages 兼容,但它是使用類似HTML的卷標(biāo)以及Java程序代碼段而不是VBScript。JSP與伺服端的JavaScript不同。網(wǎng)站服務(wù)器會(huì)自動(dòng)將以JSP寫(xiě)成的Java程序代碼段轉(zhuǎn)換成Java servlets。而許多先前必須以Perl手寫(xiě)程序或服務(wù)器特定的API(如ASP)控制的功能也都可透過(guò)JSP來(lái)自動(dòng)化處理。JavaServer Pages(JSP)使得我們能夠分離頁(yè)面的靜態(tài)HTML和動(dòng)態(tài)部分。H
10、TML可以用任何通常使用的Web制作工具編寫(xiě),編寫(xiě)方式也和原來(lái)的一樣;動(dòng)態(tài)部分的代碼放入特殊標(biāo)記之內(nèi),大部分以“%”開(kāi)始,以“%”結(jié)束。T JSP頁(yè)面文件通常以.jsp為擴(kuò)展名,而且可以安裝到任何能夠存放普通Web頁(yè)面的地方。雖然從代碼編寫(xiě)來(lái)看,JSP頁(yè)面更象普通Web頁(yè)面而不象Servlet,但實(shí)際上,JSP最終會(huì)被轉(zhuǎn)換成正規(guī)的Servlet,靜態(tài)HTML直接輸出到和Servlet service方法關(guān)聯(lián)的輸出流。JSP到Servlet的轉(zhuǎn)換過(guò)程一般在出現(xiàn)第一次頁(yè)面請(qǐng)求時(shí)進(jìn)行。因此,如果你希望第一個(gè)用戶不會(huì)由于JSP頁(yè)面轉(zhuǎn)換成Servlet而等待太長(zhǎng)的時(shí)間,希望確保Servlet已經(jīng)正確地編
11、譯并裝載,你可以在安裝JSP頁(yè)面之后自己請(qǐng)求一下這個(gè)頁(yè)面。 另外,許多Web服務(wù)器允許定義別名,所以一個(gè)看起來(lái)指向HTML文件的URL實(shí)際上可能指向Servlet或JSP頁(yè)面。 除了普通HTML代碼之外,嵌入JSP頁(yè)面的其他成分主要有如下三種:腳本元素(Scripting Element),指令(Directive),動(dòng)作(Action)。腳本元素用來(lái)嵌入Java代碼,這些Java代碼將成為轉(zhuǎn)換得到的Servlet的一部分;JSP指令用來(lái)從整體上控制Servlet的結(jié)構(gòu);動(dòng)作用來(lái)引入現(xiàn)有的組件或者控制JSP引擎的行為。為了簡(jiǎn)化腳本元素,JSP定義了一組可以直接使用的變量(預(yù)定義變量),比如前面
12、代碼片斷中的request就是其中一例。 注意本文以JSP 1.0規(guī)范為基礎(chǔ)。和0.92版相比,新版本的JSP作了許多重大的改動(dòng)。雖然這些改動(dòng)只會(huì)使JSP變得更好,但應(yīng)注意1.0的JSP頁(yè)面幾乎和早期的JSP引擎完全不兼容。 JSP語(yǔ)法概要表 JSP元素、語(yǔ)法、說(shuō)明、備注如下 JSP表達(dá)式 %= expression % 計(jì)算表達(dá)式并輸出結(jié)果。 等價(jià)的XML表達(dá)是: jsp:expression expression /jsp:expression 可以使用的預(yù)定義變量包括:request,response,out,session,application,config,pageContext。
13、這些預(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。 合法的屬性如下表,
14、其中粗體表示默認(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
15、: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í),引入指定的文件。 如果你希望在頁(yè)面轉(zhuǎn)換的時(shí)候包含某個(gè)文件,使用JSP include指令。 注意:在某些服務(wù)器
16、上,被包含文件必須是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
17、*/ 設(shè)置Bean的屬性。既可以設(shè)置一個(gè)確定的值,也可以指定屬性值來(lái)自請(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è)頁(yè)面。 jsp:plugin動(dòng)作 jsp:plugin attribute=value* . /jsp:p
18、lugin 根據(jù)瀏覽器類型生成OBJECT或者EMBED標(biāo)記,以便通過(guò)Java Plugin運(yùn)行Java Applet。 關(guān)于模板文本(靜態(tài)HTML) ,許多時(shí)候,JSP頁(yè)面的很大一部分都由靜態(tài)HTML構(gòu)成,這些靜態(tài)HTML也稱為“模板文本”。模板文本和普通HTML幾乎完全相同,它們都遵從相同的語(yǔ)法規(guī)則,而且模板文本也是被Servlet直接發(fā)送到客戶端。此外,模板文本也可以用任何現(xiàn)有的頁(yè)面制作工具來(lái)編寫(xiě)。 唯一的例外在于,如果要輸出“%”,則模板文本中應(yīng)該寫(xiě)成“%”。2.2 APPLET技術(shù)2.2.1 Applet說(shuō)明:1) 首先Applet一般是從java.applet.Applet中繼承過(guò)
19、來(lái)的;2) paint()方法必須是public,不然不能被其它程序正確調(diào)用;3) 由于paint方法使用了Graphics類,所以Applet需要引用java.awt.4) Graphics,當(dāng)然如果其它的類如果也可以實(shí)現(xiàn)Graphics類的功能,也可以引用之;5) 在Applet中沒(méi)有public static void main這個(gè)方法,所以它不能獨(dú)立執(zhí)行,必須由專門(mén)的程序(如游覽器)調(diào)用執(zhí)行,Applet程序被調(diào)用后,會(huì)自動(dòng)執(zhí)行paint方法。6) 在Html中使用標(biāo)簽APPLET來(lái)引用Applet,code屬性指定Applet的程序名,這是一個(gè)簡(jiǎn)單的Applet引用方法,當(dāng)引入的Ap
20、plet與html文件在同一個(gè)目錄下,不用加路徑說(shuō)明,如果不是可以使用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ù)的值,如get
21、Parameter(font),該方法返回值始終是String類型的,所以必要的時(shí)候還需進(jìn)行相應(yīng)的類型轉(zhuǎn)換。如果沒(méi)有相應(yīng)的傳入?yún)?shù),那么getParameter()方法會(huì)返回null值。2.2.3 Applet基本方法從java.applet.Applet繼承過(guò)來(lái)的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后,可以使用
22、start方法重新開(kāi)動(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方法重畫(huà);paint,repaint及update方法是實(shí)現(xiàn)Applet中動(dòng)畫(huà)的三個(gè)主要函數(shù),一般在update方法中調(diào)用g.clipRect方法規(guī)則paint的區(qū)域,這樣paint方法只更新指定區(qū)域的內(nèi)容;(
23、8) 以上這些方法在必須的時(shí)候可以重載,并且不需要在我們的applet中顯示的調(diào)用,可以自動(dòng)執(zhí)行(當(dāng)然也可以顯示調(diào)用);2.2.4 Applet中的線程在Applet中如果需要用到動(dòng)畫(huà)或者后臺(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
24、= new Thread(this),這里的初始化參數(shù)this指定的applet對(duì)象;(4) 接下來(lái)在applet的start方法中調(diào)用runner.start()方法開(kāi)始創(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ù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)根據(jù)該課題的要求,為了實(shí)現(xiàn)相應(yīng)的網(wǎng)站功能并方便用戶,我建立了4個(gè)表。3.1 用戶信息表(tuser)列名數(shù)據(jù)類型可否為空說(shuō)明suserchar不可學(xué)生學(xué)號(hào),主鍵namechar不可用
25、戶名,主鍵codechar可密碼isteacherreal不可是否是教師administratorreal可是否是管理員3.2 班級(jí)信息表(Tstudentnum)列名數(shù)據(jù)類型可否為空說(shuō)明classchar不可班級(jí)號(hào),主鍵studentnumchar不可學(xué)生數(shù)3.3 留言信息表(message)列名數(shù)據(jù)類型可否為空說(shuō)明titlechar不可主題名,主鍵nametext不可留言人姓名timedatatime可留言時(shí)間contenttext不可留言內(nèi)容isteacherchar不可是否是教師rnamechar不可收信人姓名3.4 任課信息表(adds)列名數(shù)據(jù)類型可否為空說(shuō)明teacherchar
26、不可教師姓名,主鍵coursechar不可課程名,主鍵classchar不可班級(jí)名,主鍵在這4個(gè)表中,用戶信息表(tuser)存儲(chǔ)所有合法的用戶信息。用于在登錄時(shí)的檢驗(yàn),以及其他一些相應(yīng)的修改用戶信息的頁(yè)面。班級(jí)表(Tstudentnum)和任課信息表用于文件下載頁(yè)面,以提供文件的下載地址。第4章 系統(tǒng)頁(yè)面介紹4.1 登錄頁(yè)面流程圖登錄、注冊(cè)界面(login.jsp)核實(shí)頁(yè)面(ValidateUser.jsp)學(xué)生頁(yè)面(student.htm)教師頁(yè)面(teacher.htm)管理員頁(yè)面(admin.htm)留言頁(yè)面(index.htm)上傳文件頁(yè)面(upload.jsp)學(xué)生聊天室頁(yè)面(sa
27、pplet.jsp)留言頁(yè)面(index.htm)下載文件頁(yè)面(TeacherPage2.jsp)教師聊天室頁(yè)面(tapplet.jsp)管理學(xué)生頁(yè)面(delestudent.jsp)添加教師頁(yè)面(addteacher.jsp)刪除教師頁(yè)面(deleteacher.jsp)管理留言信息頁(yè)面(managelyb.jsp)管理任課信息頁(yè)面(maadds.jsp)管理班級(jí)信息頁(yè)面(maclass.jsp)修改密碼頁(yè)面(changecode.jsp)修改密碼頁(yè)面(changecode.jsp)修改密碼頁(yè)面(changecode.jsp)學(xué)生注冊(cè)頁(yè)面(UserInfo.jsp)登錄失敗頁(yè)面(fail.h
28、tm)4.2 系統(tǒng)主要頁(yè)面詳述4.1.1 登錄、注冊(cè)頁(yè)面(login.jsp)該頁(yè)面主要是一個(gè)表單,提供兩個(gè)選擇:注冊(cè)或登錄。在填寫(xiě)完用戶名和密碼兩項(xiàng)內(nèi)容后按下提交鍵進(jìn)入核實(shí)頁(yè)面(ValidateUser.jsp),或點(diǎn)擊注冊(cè)鍵進(jìn)入注冊(cè)信息填寫(xiě)頁(yè)面(UserInfo.jsp)。在該頁(yè)面代碼中我添加了一個(gè)javascript函數(shù),使該頁(yè)面具有了粗略的錯(cuò)誤提示功能:在用戶未輸入用戶名和密碼前表單不會(huì)被提交至登錄的核實(shí)頁(yè)面(ValidateUser.jsp)。4.1.2 核實(shí)頁(yè)面(ValidateUser.jsp)該頁(yè)面接受登錄、注冊(cè)頁(yè)面(login.jsp)提交的用戶名和密碼兩項(xiàng)信息并以此進(jìn)行數(shù)據(jù)
29、庫(kù)查詢,若查詢成功,則將該用戶的姓名、學(xué)號(hào)和該用戶是否為教師的信息分別記入session變量“name”、“snum”、“Isteacher”中,并根據(jù)數(shù)據(jù)庫(kù)查詢的結(jié)果決定下一個(gè)顯示的頁(yè)面:學(xué)生頁(yè)面(student.htm),教師頁(yè)面(teacher.htm),管理員頁(yè)面(administrator.htm)和登錄失敗頁(yè)面(fail.htm)。在這個(gè)頁(yè)面中,我另外還設(shè)置了一個(gè)session變量“l(fā)ogin”當(dāng)成功驗(yàn)證后賦值為“ok”。該變量的作用是為驗(yàn)證已登錄頁(yè)面(CheckValid.jsp)提供是否以驗(yàn)證的信息。在該頁(yè)面中,我使用了javabean技術(shù),將連接數(shù)據(jù)庫(kù)的工作建成了一個(gè)名為co
30、nn的類,并在該頁(yè)面中引用。在后面介紹的文件中,也有許多文件引用了它。4.1.3 驗(yàn)證已登錄頁(yè)面(CheckValid.jsp)該頁(yè)面提供一個(gè)驗(yàn)證打開(kāi)當(dāng)前頁(yè)面用戶是否登錄的功能。這樣是為了避免在有惡意人士在了解了頁(yè)面的文件名后,跳過(guò)登錄界面直接進(jìn)入后面的服務(wù)頁(yè)面。該頁(yè)面實(shí)際只是一個(gè)驗(yàn)證是否登錄的代碼,其他需要保護(hù)的頁(yè)面只要在文件開(kāi)始時(shí)引用該文件就可以了,這樣可以避免在多個(gè)網(wǎng)頁(yè)中重復(fù)編寫(xiě)相同的代碼。4.1.4 學(xué)生注冊(cè)頁(yè)面(UserInfo.jsp)該頁(yè)面主要是一個(gè)表單,負(fù)責(zé)從用戶獲得相關(guān)的信息,提交給注冊(cè)信息提交頁(yè)面(CheckUserInfo.jsp)。4.1.5 注冊(cè)頁(yè)面提交頁(yè)面(Chec
31、kUserInfo.jsp)該頁(yè)面接受學(xué)生注冊(cè)頁(yè)面(UserInfo.jsp)提交的信息。使用javabean,引用了兩個(gè)類,分別為conn和UserInfo。前者用來(lái)獲得用戶的學(xué)號(hào),用來(lái)進(jìn)行唯一性校驗(yàn);后者用來(lái)對(duì)接受的信息進(jìn)行校驗(yàn),對(duì)“學(xué)號(hào)”、“用戶名”、“密碼”、“重復(fù)密碼”提供空檢驗(yàn),“學(xué)號(hào)”必須為8位數(shù)字,“密碼” 與“重復(fù)密碼”必須一致,否則就會(huì)提示相應(yīng)的糾錯(cuò)信息。在確認(rèn)提交的信息無(wú)錯(cuò)后,嘗試進(jìn)行數(shù)據(jù)庫(kù)輸入操作。若操作成功,則顯示數(shù)據(jù)庫(kù)操作成功信息和輸入者的姓名、學(xué)號(hào),如下圖所示。若操作失敗,則顯示數(shù)據(jù)庫(kù)操作失敗信息,提示重新嘗試。4.1.6 學(xué)生頁(yè)面(student.htm)此頁(yè)面
32、為一框架頁(yè)面,3個(gè)框架分別指向?qū)W生選擇頁(yè)面(StudentPage.jsp)、學(xué)生登錄默認(rèn)界面(student1.htm)和顯示留言頁(yè)面(view_message.jsp)。4.1.7 學(xué)生選擇頁(yè)面(StudentPage.jsp)該頁(yè)面提供了學(xué)生成功登錄后的可用選項(xiàng)。我做成了5個(gè)超連接,分別連接不同的頁(yè)面。具體為“我要留言”對(duì)應(yīng)留言填寫(xiě)頁(yè)面(index.htm),“上傳文件”對(duì)應(yīng)上傳文件選擇頁(yè)面(upload.jsp),“聊天室” 對(duì)應(yīng)學(xué)生聊天室頁(yè)面(sapplet.jsp),“修改密碼”對(duì)應(yīng)修改密碼頁(yè)面(changecode.jsp),“返回登錄界面”對(duì)應(yīng)登錄、注冊(cè)頁(yè)面(login.jsp
33、)。4.1.8 教師頁(yè)面(teacher.htm)同學(xué)生頁(yè)面一樣,此頁(yè)面也為一框架頁(yè)面。3個(gè)框架分別指向教師選擇頁(yè)面(TeacherPage.jsp)、教師登錄默認(rèn)界面(teacher1.htm)和顯示留言頁(yè)面(view_message.jsp)。4.1.9 教師選擇頁(yè)面(TeacherPage.jsp)該頁(yè)面提供了教師成功登錄后的可用選項(xiàng)。共7個(gè)超連接。分別為“我要留言”對(duì)應(yīng)留言填寫(xiě)頁(yè)面(index.htm),“下載文件”對(duì)應(yīng)班級(jí)選擇頁(yè)面(TeacherPage2.jsp),“聊天室”對(duì)應(yīng)教師聊天室頁(yè)面(tapplet.jsp),“管理學(xué)生信息”對(duì)應(yīng)學(xué)生帳戶刪除頁(yè)面(delestudent.
34、jsp),“管理任課信息”對(duì)應(yīng)添加認(rèn)課信息頁(yè)面(maadds.jsp),“修改密碼”對(duì)應(yīng)修改密碼頁(yè)面(changecode.jsp),“返回登錄界面”對(duì)應(yīng)登錄、注冊(cè)頁(yè)面(login.jsp)。4.1.10 管理員頁(yè)面(admin.htm)框架頁(yè)面。同樣是3個(gè)框架,分別對(duì)應(yīng)管理員選擇頁(yè)面(administrator.jsp)、管理員登錄默認(rèn)界面(admin1.htm)和顯示留言頁(yè)面(view_message.jsp)。4.1.11 管理員選擇頁(yè)面(admin.jsp)該頁(yè)面提供了管理員成功登錄后的可用選項(xiàng)。共6個(gè)超連接?!疤砑咏處熜畔ⅰ睂?duì)應(yīng)添加教師信息頁(yè)面(addteacher.jsp),“刪除
35、教師信息”對(duì)應(yīng)刪除教師信息頁(yè)面(deleteacher.jsp),“管理留言板”對(duì)應(yīng)管理留言板頁(yè)面(managelyb.jsp),“管理班級(jí)信息”對(duì)應(yīng)管理班級(jí)信息頁(yè)面(maclass.jsp),“修改管理員密碼”對(duì)應(yīng)修改密碼頁(yè)面(changecode.jsp),“返回登錄界面”對(duì)應(yīng)登錄、注冊(cè)頁(yè)面(login.jsp)。4.1.12 顯示留言頁(yè)面(view_message.jsp)該頁(yè)面顯示當(dāng)前用戶收到的留言信息。具體的工作為使用session變量“name”獲得當(dāng)前的用戶名,通過(guò)session變量“snum”獲得登錄者的學(xué)號(hào)信息,并進(jìn)行適當(dāng)處理獲得當(dāng)前用戶所屬的班級(jí)號(hào),在數(shù)據(jù)庫(kù)中message
36、表的“rname”項(xiàng)上查找相匹配的條目,并按記入數(shù)據(jù)庫(kù)的時(shí)間順序列出。顯示留言的留言人,留言主題,留言時(shí)間和內(nèi)容。在數(shù)據(jù)庫(kù)為空時(shí),提示“目前還沒(méi)有任何留言”,在當(dāng)前用戶未收到留言時(shí)提示“您還未收到任何留言”。4.1.13 留言頁(yè)面(index.htm)該頁(yè)面主要是一個(gè)表單,從用戶處獲得接受對(duì)象,留言主題和留言內(nèi)容三項(xiàng)信息,提交給添加留言頁(yè)面(add_message.jsp)。“查看留言”提供用戶一個(gè)在較大的框架中瀏覽留言的功能,對(duì)應(yīng)頁(yè)面名為nowview_message.jsp。4.1.14 添加留言信息頁(yè)面(add_message.jsp)該頁(yè)面一方面接受由留言頁(yè)面(index.htm)傳來(lái)
37、的表單數(shù)據(jù),并對(duì)其進(jìn)行簡(jiǎn)單的校驗(yàn)。另一方面通過(guò)session變量獲得提交該留言者的身份信息是否為教師。該頁(yè)面檢查接受的各條目是否為空,若為空則顯示相應(yīng)的提示信息。當(dāng)確定接受的數(shù)據(jù)符合要求后,將進(jìn)行輸入數(shù)據(jù)庫(kù)的嘗試。若成功輸入,則重定位至成功添加留言頁(yè)面(successadd.htm)提示數(shù)據(jù)庫(kù)輸入成功。4.1.15 上傳文件頁(yè)面(upload.jsp)通過(guò)session變量“snum”獲得登陸學(xué)生的學(xué)號(hào)。取其前六位數(shù)字得到該生所在的班級(jí)。以此為根據(jù)對(duì)數(shù)據(jù)庫(kù)進(jìn)行兩次查詢獲得該班級(jí)的所有任課教師和所學(xué)課程放入兩個(gè)菜單中,供學(xué)生選擇,并和用戶選擇的文件一起以表單形式提交給上傳處理頁(yè)面(doUploa
38、d.jsp).4.1.16 上傳處理頁(yè)面(doUpload.jsp)接收上傳頁(yè)面(upload.jsp)提交的相關(guān)信息,利用SmartUpdown組件實(shí)現(xiàn)文件上傳。其中SmartUpdown組件以javabean形式在頁(yè)面文件中被引用。4.1.17 下載處理頁(yè)面(doDownload.jsp)通過(guò)session變量獲得文件的下載地址,傳給SmartUpdown組件實(shí)現(xiàn)文件的下載。SmartUpdown組件同樣以javabean形式在頁(yè)面文件中被引用。4.1.18 修改密碼頁(yè)面(changecode.jsp)獲得用戶的新密碼,并以POST方式提交給修改密碼處理頁(yè)面(changecode2.jsp
39、)。4.1.19 修改密碼處理頁(yè)面(changecode2.jsp)接受修改密碼頁(yè)面(changecode.jsp)提交的信息。比較兩次密碼輸入是否一致。當(dāng)一致時(shí)進(jìn)行數(shù)據(jù)庫(kù)輸入操作。在操作成功時(shí)提示“密碼更新完成”,在失敗時(shí)提示“數(shù)據(jù)庫(kù)輸入中出現(xiàn)問(wèn)題,請(qǐng)重試”。4.1.20 管理任課信息頁(yè)面(maadds.jsp)由用戶填寫(xiě)相關(guān)信息,以POST方式提交到任課信息處理頁(yè)面(maadds2.jsp)。4.1.21 任課信息處理頁(yè)面(maadds2.jsp)從管理任課信息頁(yè)面(maadds.jsp)獲得課程和班級(jí)的信息,再?gòu)膕ession變量“name”獲得教師名,然后進(jìn)行數(shù)據(jù)庫(kù)輸入操作。依據(jù)成功或
40、失敗分別提示相關(guān)信息。4.1.22 刪除教師頁(yè)面(deleteacher.jsp)從數(shù)據(jù)庫(kù)中輸出所有教師的信息。通過(guò)循環(huán),列表顯示。在每行后添加一個(gè)表單,設(shè)立一個(gè)屬性為隱藏,名字為“name” 的變量,其值為每行相應(yīng)的教師名。再設(shè)立一個(gè)屬性為提交,名字為“刪除按鈕”的按鍵。表單的目標(biāo)設(shè)為刪除教師處理頁(yè)面(deleteacher2.jsp)。4.1.23 刪除教師處理頁(yè)面(deleteacher2.jsp)從刪除教師頁(yè)面(deleteacher.jsp)頁(yè)面獲得需要?jiǎng)h除的教師的姓名,以此為依據(jù)進(jìn)行數(shù)據(jù)庫(kù)操作。根據(jù)操作的成功與否返回相應(yīng)的提示。4.1.24 學(xué)生聊天室頁(yè)面(sapplst.jsp)
41、本頁(yè)面引用了applet文件ChatApplet2.class。使用session變量獲得以登錄用戶的用戶名,并將此參數(shù)傳至該applet文件。進(jìn)入該頁(yè)面后點(diǎn)擊登錄按鍵就可以激活聊天室欄(需在服務(wù)器以開(kāi)通的前提下,默認(rèn)登錄默認(rèn)聊天室)。選擇自己想要進(jìn)入的聊天室點(diǎn)擊“加入聊天室”按鈕就可以開(kāi)始在線交流了在“當(dāng)前交談室用戶”欄中可以觀察在線的用戶。右上為網(wǎng)絡(luò)白板,右下角的文本框?yàn)榱奶祜@示處,其下為聊天的發(fā)送處。在白板右側(cè)可以選擇當(dāng)前畫(huà)筆的顏色,白板上方室清除白板的功能鍵按鈕。暫停交談按鈕在被使用后,只能發(fā)送信息不能接受信息,再次點(diǎn)擊恢復(fù)聊天功能。第5章 系統(tǒng)功能詳述5.1 登錄系統(tǒng)登錄系統(tǒng)由2個(gè)頁(yè)
42、面,一個(gè)javabean文件和1個(gè)數(shù)據(jù)庫(kù)表組成:登錄、注冊(cè)頁(yè)面(login.jsp),核實(shí)頁(yè)面(ValidateUser.jsp),conn類文件和用戶信息表(tuser)。該系統(tǒng)對(duì)需要使用該系統(tǒng)的用戶進(jìn)行驗(yàn)證,并將合法用戶分類,再根據(jù)分類結(jié)果顯示不同的登錄界面。用戶在登錄、注冊(cè)頁(yè)面(login.jsp)中填寫(xiě)相應(yīng)信息后按下提交鍵,經(jīng)過(guò)頁(yè)面中的javascript函數(shù)的簡(jiǎn)單校驗(yàn)通過(guò)后將相應(yīng)信息提交給核實(shí)頁(yè)面(ValidateUser.jsp)。在該頁(yè)中,通過(guò)引用conn類調(diào)用用戶信息表與提交的數(shù)據(jù)相比較,決定下一個(gè)顯示的頁(yè)面。5.2 注冊(cè)系統(tǒng)注冊(cè)系統(tǒng)分為學(xué)生注冊(cè)系統(tǒng)和教師注冊(cè)系統(tǒng)。其中學(xué)生注冊(cè)
43、系統(tǒng)由3個(gè)頁(yè)面,一個(gè)javabean文件和1個(gè)數(shù)據(jù)庫(kù)表組成:登錄、注冊(cè)頁(yè)面(login.jsp),學(xué)生注冊(cè)頁(yè)面(UserInfo.jsp),注冊(cè)信息提交頁(yè)面(CheckUserInfo.jsp),UserInfo類文件和用戶信息表(tuser)。教師注冊(cè)系統(tǒng)也由3個(gè)頁(yè)面和1個(gè)數(shù)據(jù)庫(kù)表組成:管理員選擇頁(yè)面(admin.jsp), 添加教師信息頁(yè)面(addteacher.htm),添加教師處理頁(yè)面(addteacher.jsp)和用戶信息表(tuser).該系統(tǒng)實(shí)現(xiàn)添加合法用戶的添加功能。先介紹學(xué)生注冊(cè)系統(tǒng)。在登錄、注冊(cè)頁(yè)面(login.jsp)中選擇“注冊(cè)”按鈕,進(jìn)入學(xué)生注冊(cè)頁(yè)面。在學(xué)生注冊(cè)頁(yè)面
44、中,用戶填寫(xiě)相應(yīng)的注冊(cè)信息,提交到注冊(cè)信息提交頁(yè)面。該頁(yè)面通過(guò)引用的UserInfo類進(jìn)行數(shù)據(jù)的校驗(yàn)工作,并在校驗(yàn)后將信息輸入用戶信息表。再介紹教師注冊(cè)系統(tǒng)。在管理員選擇頁(yè)面中選擇“添加教師信息”選項(xiàng),進(jìn)入添加教師信息頁(yè)面,用戶在該頁(yè)面填寫(xiě)注冊(cè)所需的相關(guān)信息后選擇提交按鈕,將相關(guān)信息提交至添加教師處理頁(yè)面。由該頁(yè)面將相應(yīng)信息輸入用戶信息表。值得注意的是,由于用戶信息表中屬性“snum”的主鍵特性,必須為教師編寫(xiě)學(xué)號(hào)。為此,我將教師的學(xué)號(hào)全部設(shè)為“00000000”。5.3 師生信息管理系統(tǒng) 師生信息管理系統(tǒng)由8個(gè)頁(yè)面和3個(gè)數(shù)據(jù)庫(kù)表組成:管理學(xué)生頁(yè)面(delestudent.jsp),管理學(xué)生處
45、理頁(yè)面(delestudent2.jsp),刪除教師頁(yè)面(deleteacher.jsp),刪除教師處理頁(yè)面(deleteacher2.jsp),管理任課信息頁(yè)面(maadds.jsp),任課信息處理頁(yè)面(maadds2.jsp),管理班級(jí)信息頁(yè)面(maclass.jsp),班級(jí)信息處理頁(yè)面(maclass2.jsp),用戶信息表(tuser),班級(jí)信息表(Tstudentnum)和認(rèn)課信息表(adds)。該系統(tǒng)主要實(shí)現(xiàn)在線的數(shù)據(jù)庫(kù)操作。根據(jù)用戶的權(quán)限可以對(duì)數(shù)據(jù)庫(kù)中的各個(gè)師生關(guān)系表進(jìn)行相應(yīng)的操作。具體權(quán)限如下:學(xué)生無(wú)任何修改相關(guān)表的權(quán)利。教師可以用戶信息表中的學(xué)生信息,對(duì)任課信息表進(jìn)行添加。管
46、理員可以對(duì)班級(jí)信息表進(jìn)行操作,可以修改用戶信息表中的教師信息。先介紹教師的相關(guān)操作,先是管理學(xué)生信息。以教師權(quán)限登錄后,在教師選擇頁(yè)面選擇管理學(xué)生信息按鍵,進(jìn)入管理學(xué)生信息頁(yè)面。填寫(xiě)需要?jiǎng)h除的學(xué)生的姓名和學(xué)號(hào),按下提交鍵將相應(yīng)數(shù)據(jù)提交至管理學(xué)生處理頁(yè)面。該頁(yè)面比較獲得的數(shù)據(jù)和用戶信息表中相應(yīng)的數(shù)據(jù)。若相符和就刪除該學(xué)生信息。再是管理任課信息。同樣以教師權(quán)限登錄后,在教師選擇頁(yè)面中選擇管理任課信息按鍵,進(jìn)入管理班級(jí)信息頁(yè)面。填寫(xiě)相應(yīng)班級(jí)信息按下提交鍵進(jìn)入班級(jí)信息處理頁(yè)面,進(jìn)行數(shù)據(jù)庫(kù)輸入操作。再介紹管理員的相關(guān)操作,先是刪除教師信息。在以管理員身份登錄后,在管理員選擇頁(yè)面選擇刪除教師信息選項(xiàng),進(jìn)入
47、刪除教師信息頁(yè)面。該頁(yè)自動(dòng)顯示當(dāng)前用戶信息表中的所用教師信息,并提供刪除選項(xiàng)。點(diǎn)擊需要?jiǎng)h除的教師信息所在行的刪除按鈕進(jìn)入刪除教師處理頁(yè)面。由該頁(yè)面執(zhí)行相應(yīng)的對(duì)用戶信息表的操作,并根據(jù)操作成敗返回相應(yīng)信息。再是管理班級(jí)信息。同樣以管理員身份進(jìn)入管理員選擇頁(yè)面后選擇管理班級(jí)信息選項(xiàng),進(jìn)入管理班級(jí)信息頁(yè)面。在該頁(yè)填寫(xiě)班級(jí)號(hào)和班級(jí)人數(shù)信息,按下提交鍵將相關(guān)信息提交至任課信息處理頁(yè)面,由后者將相關(guān)信息輸入數(shù)據(jù)庫(kù)。5.4 留言板系統(tǒng)該系統(tǒng)由6個(gè)頁(yè)面和1個(gè)數(shù)據(jù)庫(kù)表組成:留言頁(yè)面(index.htm),添加留言頁(yè)面(add_message.jsp),顯示留言頁(yè)面(view_message.jsp),成功留言頁(yè)
48、面(successadd.htm),管理留言信息頁(yè)面(managelyb.htm),管理留言信息處理頁(yè)面(managelyb2.jsp)和留言信息表(message)。該系統(tǒng)的作用是實(shí)現(xiàn)師生之間的非實(shí)時(shí)交流。當(dāng)學(xué)生需要向教師提問(wèn)而教師并不在線時(shí),或教師想公布通告給相關(guān)班級(jí)時(shí),或教師回答同學(xué)問(wèn)題時(shí)都可以使用該系統(tǒng)實(shí)現(xiàn)。該系統(tǒng)有三個(gè)部分:提交留言、顯示留言和管理留言。先介紹提交留言部分。在學(xué)生選擇頁(yè)面、教師選擇頁(yè)面或管理員選擇頁(yè)面選擇我要留言選項(xiàng),進(jìn)入留言頁(yè)面。用戶在該頁(yè)填寫(xiě)數(shù)據(jù)庫(kù)所需的“收言人”、“主題”和“內(nèi)容”后按下提交按鈕,進(jìn)入添加留言頁(yè)面。由該頁(yè)面進(jìn)行相應(yīng)的校驗(yàn)和數(shù)據(jù)庫(kù)輸入操作。在成功操
49、作后系統(tǒng)自動(dòng)轉(zhuǎn)移至成功留言頁(yè)面提示已成功留言。再介紹顯示留言部分。在用戶成功登錄后系統(tǒng)將根據(jù)數(shù)據(jù)庫(kù)中的數(shù)據(jù)將用戶分類并顯示相應(yīng)的頁(yè)面框架。留言信息顯示頁(yè)面鑲嵌在這些框架中,顯示其它合法用戶給當(dāng)前用戶的留言。最后介紹管理留言部分。在本系統(tǒng)中只有管理員擁有刪除留言的權(quán)利。在管理員選擇頁(yè)面中選擇管理留言板選項(xiàng),進(jìn)入管理留言信息頁(yè)面。該頁(yè)面列出目前數(shù)據(jù)庫(kù)中的所有留言,并在每個(gè)留言后添加一個(gè)刪除按鈕。選擇想要?jiǎng)h除的留言按下刪除按鈕進(jìn)入管理留言信息處理頁(yè)面。由該頁(yè)面處理數(shù)據(jù)庫(kù)的相關(guān)操作并返回相應(yīng)的信息。5.5 包含網(wǎng)絡(luò)白板的聊天室系統(tǒng)該系統(tǒng)由2個(gè)頁(yè)面,17個(gè)applet類文件組成:學(xué)生聊天室頁(yè)面(sapp
50、let.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 類文件,R
51、oomData.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生選擇頁(yè)面。選擇聊天室選項(xiàng),啟動(dòng)相應(yīng)的applet程序。其中學(xué)生引用ChatApplet2類文件,教師引用ChatApplet
52、1類文件。這兩個(gè)applet程序的大部分是相同的,唯一的不同是教師聊天室擁有創(chuàng)建新聊天室的功能,而學(xué)生聊天室沒(méi)有,僅能加入默認(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)聊天室的情況?!皍
53、ser list”文本顯示框顯示相應(yīng)聊天室的當(dāng)前用戶。其他的類文件均是前三個(gè)類文件中所引用的類或方法的本體。5.6 文件上傳下載系統(tǒng)該系統(tǒng)包含個(gè)頁(yè)面,2個(gè)javabean類文件包和2個(gè)數(shù)據(jù)庫(kù)表:下載課程選擇頁(yè)面(TeacherPage2.jsp),下載班級(jí)選擇頁(yè)面( classPage.jsp),下載學(xué)生選擇頁(yè)面(personPage.jsp),下載文件處理頁(yè)面(doDownload.jsp),上傳文件選擇頁(yè)面(upload.jsp),上傳文件處理頁(yè)面(doUpload.jsp),DBconn類文件包,com類文件包,班級(jí)信息表(Tstudentnum),任課信息表(adds)。該系統(tǒng)的功能為
54、實(shí)現(xiàn)學(xué)生作業(yè)的在線提交。該系統(tǒng)分為兩部分。作業(yè)提交和作業(yè)接收。在該系統(tǒng)中,我應(yīng)用了網(wǎng)上業(yè)已成熟的JSP組件smartupdown實(shí)現(xiàn)這兩個(gè)功能。先介紹作業(yè)下載部分。流程圖如下圖所示:教師選擇頁(yè)面(TeacherPage.jsp)下載課程選擇頁(yè)面(TeacherPage2.jsp)下載班級(jí)選擇頁(yè)面(classPage.jsp)下載學(xué)生選擇頁(yè)面(personPage.jsp)下載文件處理頁(yè)面(doDownload.jsp)在教師選擇頁(yè)面中選擇“下載文件”選項(xiàng)。進(jìn)入下載課程選擇頁(yè)面,選擇相應(yīng)的課程后點(diǎn)擊“查看”按鍵進(jìn)入下載班級(jí)選擇頁(yè)面,選擇相應(yīng)的班級(jí),進(jìn)入下載學(xué)生選擇頁(yè)面,選擇目標(biāo)學(xué)生的學(xué)號(hào),進(jìn)入下
55、載文件處理頁(yè)面。由該頁(yè)面根據(jù)前面各頁(yè)的選擇,引用com類包中的smartupdown組件下載相應(yīng)的學(xué)生文件。再介紹作業(yè)上傳部分。在學(xué)生選擇頁(yè)面中選擇“上傳文件”選項(xiàng)。進(jìn)入上傳文件頁(yè)面,在空白處填寫(xiě)文件地址或通過(guò)點(diǎn)擊“”按鈕獲得文件地址。在下面的兩個(gè)下拉菜單欄中選擇相應(yīng)的教師和課程,提交至上傳文件處理頁(yè)面。該頁(yè)引用smartupdown插件完成文件的上傳工作。第6章 系統(tǒng)運(yùn)行配置對(duì)于JSP頁(yè)面在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-i5
56、86-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)“;”必不可少。
57、)然后-確定,到此已經(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è)
58、置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:Java
59、lib;D:Javalibdt.jar;D:Javalibtools.jar;D:Tomcatcommonlibservlet.jar接著可以啟動(dòng)tomcat,在IE中訪問(wèn)http:/localhost:8080,如果看到tomcat的歡迎頁(yè)面的話說(shuō)明安裝成功了。如果上面的tomcat安裝成功的話,接下來(lái)繼續(xù)安裝JSP訪問(wèn)SQLServer2000的驅(qū)動(dòng)程序:6.3 安裝JSP訪問(wèn)SQL Server 2000的驅(qū)動(dòng)程序:從微軟的網(wǎng)站上下載驅(qū)動(dòng)程序:SQLServer2000ForJDBC驅(qū)動(dòng)程序,在Google中隨便搜索就有。然后將它安裝好。然后必須將安裝目錄中的lib目錄下三個(gè)jar文件:
60、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:Ja
61、valibtools.jar;D:LubeeTomcatcommonlibservlet.jar;D:SQLDriverForJDBClibmsbase.jar;D:SQLDriverForJDBClibmssqlserver.jar;D:SQLDriverForJDBCmsutil.jar必須重新啟動(dòng)Tomcat!這樣做的目的是,jsp頁(yè)面在編譯過(guò)程中不會(huì)出現(xiàn)找不到sqlserverdriver類庫(kù)的問(wèn)題測(cè)試連接SQLServer2000的JSP代碼Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver).newInstance(
62、);Stringurl=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=pubs;/pubs為你的數(shù)據(jù)庫(kù)的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ù)庫(kù)配置完成。第7章 系統(tǒng)重要部分技術(shù)實(shí)現(xiàn)7.1 包含網(wǎng)絡(luò)白板的技術(shù)實(shí)現(xiàn)7.1.1 工作原理 電子白板有兩種實(shí)現(xiàn)模型,一種是無(wú)白板服務(wù)器,因此僅支持兩個(gè)用戶直接連結(jié);另一種是有白板服務(wù)器,原則上不限制同時(shí)上線人數(shù)和交談室個(gè)數(shù),具體實(shí)現(xiàn)上可視服
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 110中國(guó)人民警察節(jié)(筑牢忠誠(chéng)警魂感受別樣警彩)
- 2025正字當(dāng)頭廉字入心爭(zhēng)當(dāng)公安隊(duì)伍鐵軍
- XX國(guó)企干部警示教育片觀后感筑牢信仰之基堅(jiān)守廉潔底線
- 2025做擔(dān)當(dāng)時(shí)代大任的中國(guó)青年P(guān)PT青年思想教育微黨課
- 2025新年工作部署會(huì)圍繞六個(gè)干字提要求
- XX地區(qū)中小學(xué)期末考試經(jīng)驗(yàn)總結(jié)(認(rèn)真復(fù)習(xí)輕松應(yīng)考)
- 支部書(shū)記上黨課筑牢清廉信念為高質(zhì)量發(fā)展?fàn)I造風(fēng)清氣正的環(huán)境
- 冬季消防安全知識(shí)培訓(xùn)冬季用電防火安全
- 2025加強(qiáng)政治引領(lǐng)(政治引領(lǐng)是現(xiàn)代政黨的重要功能)
- 主播直播培訓(xùn)直播技巧與方法
- 2025六廉六進(jìn)持續(xù)涵養(yǎng)良好政治生態(tài)
- 員工職業(yè)生涯規(guī)劃方案制定個(gè)人職業(yè)生涯規(guī)劃
- 2024年XX地區(qū)黨建引領(lǐng)鄉(xiāng)村振興工作總結(jié)
- XX中小學(xué)期末考試經(jīng)驗(yàn)總結(jié)(認(rèn)真復(fù)習(xí)輕松應(yīng)考)
- 幼兒園期末家長(zhǎng)會(huì)長(zhǎng)長(zhǎng)的路慢慢地走