java課程設(shè)計(jì)報(bào)告 標(biāo)準(zhǔn)化考試系統(tǒng)
《java課程設(shè)計(jì)報(bào)告 標(biāo)準(zhǔn)化考試系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《java課程設(shè)計(jì)報(bào)告 標(biāo)準(zhǔn)化考試系統(tǒng)(21頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 甘肅政法學(xué)院計(jì)算機(jī)科學(xué)學(xué)院 Java程序設(shè)計(jì)課程設(shè)計(jì) 題 目 標(biāo)準(zhǔn)化考試系統(tǒng) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算科學(xué)與技術(shù)專業(yè)11級(jí)專升本班 學(xué) 號(hào):201181210115 姓 名: 劉昆明 指導(dǎo)教師: 李 瑞 生 成 績(jī):____________ 完成時(shí)間:2011年 11月 目 錄 1.設(shè)計(jì)內(nèi)容及要求 - 1 - 1.1 標(biāo)準(zhǔn)化考試系統(tǒng)的基本要求 - 1 - 1.2 需實(shí)現(xiàn)的主要功能 - 1 - 2.需求分析 - 2 - 2.1數(shù)據(jù)庫(kù)設(shè)計(jì) - 2 - 2.2服務(wù)器端和客戶端的數(shù)據(jù)傳輸
2、方式 - 2 - 2.3 服務(wù)器端功能設(shè)計(jì) - 3 - 2.4客戶端功能設(shè)計(jì) - 4 - 3.總體設(shè)計(jì) - 4 - 3.1 總體功能圖 - 4 - 3.2 總體流程圖 - 5 - 4.?dāng)?shù)據(jù)庫(kù)設(shè)計(jì) - 7 - 4.1 數(shù)據(jù)庫(kù)及表結(jié)構(gòu)的建立 - 7 - 4.2 JAVA 數(shù)據(jù)庫(kù)的連接 - 8 - 5. 主要功能設(shè)計(jì)流程 - 8 - 5.1服務(wù)器端設(shè)計(jì)流程圖 - 8 - 5.2客戶端設(shè)計(jì)流程圖 - 9 - 6.代碼實(shí)現(xiàn) - 10 - 6.1類之間關(guān)系圖 - 10 - 6.2 運(yùn)行效果圖 - 11 - 6.3 程序打包發(fā)布過(guò)程 - 17 - 7. 總結(jié)與說(shuō)明 - 18
3、- 8. 參考文獻(xiàn)…………………………………………………………………………….- 19 - 標(biāo)準(zhǔn)化考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 【摘 要】:在現(xiàn)今知識(shí)爆炸的年代里,教學(xué)的質(zhì)量和怎樣提高教師的工作效率成了各大院校的首要任務(wù)。找題、選題和出卷就成為一項(xiàng)非常重要的工作。每學(xué)期教師都要為各類考試付出大量的精力和工作,尤其是一位教師教授多門學(xué)科的時(shí)候,工作量將成倍增加。因此開(kāi)發(fā)此考試系統(tǒng),對(duì)各專業(yè)課程的問(wèn)卷進(jìn)行整理入庫(kù),以便在需要的時(shí)候能夠及時(shí)、方便、快速的對(duì)學(xué)生進(jìn)行各級(jí)測(cè)試,從而使考試過(guò)程趨于簡(jiǎn)單化,減少教師在這方面的工作負(fù)擔(dān)。 因此,使用現(xiàn)在的新技術(shù),開(kāi)發(fā)出適應(yīng)新的需求的新系統(tǒng)刻不
4、容緩。 四年的大學(xué)生活轉(zhuǎn)瞬既逝,在這四年中,我系統(tǒng)的學(xué)習(xí)了計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的所有課程。深入的學(xué)習(xí)了各個(gè)科目的理論知識(shí),對(duì)專業(yè)知識(shí)有了整體的掌握。在即將畢業(yè)之際,為了理論聯(lián)系實(shí)際,檢驗(yàn)自己的學(xué)習(xí)成果,我選擇了這個(gè)題目作為課程設(shè)計(jì)。在此畢業(yè)設(shè)計(jì)的完成過(guò)程中,我嚴(yán)格遵循軟件開(kāi)發(fā)的過(guò)程,將理論知識(shí)與具體問(wèn)題相結(jié)合。在應(yīng)用程序開(kāi)發(fā)中我一方面學(xué)習(xí)了軟件編程思想,另一方面具體的運(yùn)用了JAVA語(yǔ)言。體會(huì)了他的諸多功能和特色。熟悉了數(shù)據(jù)庫(kù)應(yīng)用程序的開(kāi)發(fā)原理。確實(shí)達(dá)到了學(xué)校和輔導(dǎo)教師對(duì)我們應(yīng)屆畢業(yè)生的各種要求。 【關(guān)鍵詞】:J2ME;標(biāo)準(zhǔn)化考試;設(shè)計(jì)與實(shí)現(xiàn) 1 1.設(shè)計(jì)內(nèi)容及要求
5、1.1 標(biāo)準(zhǔn)化考試系統(tǒng)的基本要求 設(shè)計(jì)C/S模式的標(biāo)準(zhǔn)化考試系統(tǒng),即客戶端和服務(wù)器端都是Java應(yīng)用程序,具體要求如下: (1) 開(kāi)始運(yùn)行程序后,出現(xiàn)連接服務(wù)器界面,用戶輸入服務(wù)器IP地址,并請(qǐng)求服務(wù)器建立套接字連接,程序可以判斷用戶輸入的服務(wù)器IP是否正確,并給出連接提示,使客戶端與服務(wù)器端分離。 (2) 正確連接服務(wù)器后,有用戶登錄驗(yàn)證功能,用戶可以選擇自己的登錄身份,是學(xué)生還是教師。用戶在登錄界面輸入用戶名,密碼以及登錄身份后,客戶端會(huì)把用戶的相關(guān)信息通過(guò)套接字發(fā)送到服務(wù)器端,服務(wù)器端根據(jù)客戶端傳來(lái)的信息對(duì)用戶的身份進(jìn)行驗(yàn)證,并發(fā)送相關(guān)信息到客戶端。 (3) 學(xué)生正確登錄
6、后,進(jìn)入考試主界面,用戶可以選擇試題進(jìn)行考試,點(diǎn)擊開(kāi)始按鈕開(kāi)始考試,考試考試后,有計(jì)時(shí)功能,考試完成以后用戶可以查看自己的分?jǐn)?shù),可以查看原題目、正確答案以及該道題目的分值,用戶還可以查看自己所選的答案,用戶考試完成后可以選擇退出系統(tǒng)。 (4) 教師登錄成功后,進(jìn)入后臺(tái)管理界面,教師可以對(duì)標(biāo)準(zhǔn)化考試系統(tǒng)進(jìn)行管理,教師有以下管理功能:1.可以增加、查詢、修改和刪除試題;2.可以查看所有考生的考試成績(jī),而且可以對(duì)考生進(jìn)行排名查看;3.可以增加、查詢、修改和刪除學(xué)生信息;4.可以增加、修改、查詢和刪除教師信息; (5) 試卷名字、學(xué)生信息、教師信息、試題全都用SQL Server數(shù)據(jù)庫(kù)存儲(chǔ),并且采
7、用JDBC連接數(shù)據(jù)庫(kù)。每一道題都必須提供正確答案以及分值。 1.2 需實(shí)現(xiàn)的主要功能 1 C/S模式,即客戶端與服務(wù)器端都是Java應(yīng)用程序; 2 輸入服務(wù)器IP地址,連接服務(wù)器功能; 3 登錄驗(yàn)證功能; 4 學(xué)生可以選擇所要做的試題; 5 開(kāi)始考試后,有計(jì)時(shí)功能,當(dāng)時(shí)間結(jié)束時(shí)考試結(jié)束; 6 完成考試后,學(xué)生可以查看自己的分?jǐn)?shù)、試題、正確答案、分值以及自己所選擇的答案; 7 教師可以增加、修改、查詢、刪除試題; 8 教師可以查看所有考生的成績(jī),并且可以按成績(jī)降序查看成績(jī); 9 教師可以增加、修改、查詢、刪除學(xué)生信息; 10 教師可以增加、修改、查詢、刪
8、除教師信息; 2.需求分析 根據(jù)標(biāo)準(zhǔn)化考試系統(tǒng)的設(shè)計(jì)要求和所要實(shí)現(xiàn)的功能,對(duì)標(biāo)準(zhǔn)化考試系統(tǒng)的需求分析如下: 2.1數(shù)據(jù)庫(kù)設(shè)計(jì) 此標(biāo)準(zhǔn)化考試系統(tǒng)采用的是數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)試題的,而不是采用文件最主要的一個(gè)原因是數(shù)據(jù)庫(kù)的讀取速度比文件讀取速度快。該系統(tǒng)采用的是SQL Server 2005數(shù)據(jù)庫(kù),SQL Server數(shù)據(jù)庫(kù)是一個(gè)非常強(qiáng)大的數(shù)據(jù)庫(kù),在各方面應(yīng)用比較廣泛,是一些中小型項(xiàng)目開(kāi)發(fā)首選數(shù)據(jù)庫(kù)。該標(biāo)準(zhǔn)化考試系統(tǒng)需要?jiǎng)?chuàng)建kaoshi數(shù)據(jù)庫(kù)文件,在該數(shù)據(jù)庫(kù)中需要?jiǎng)?chuàng)建student、teachter、shijuan和Test1四個(gè)表。Student數(shù)據(jù)表是用來(lái)存儲(chǔ)學(xué)生信息;teac
9、hter數(shù)據(jù)表用來(lái)存儲(chǔ)教師信息;shijuan數(shù)據(jù)表用來(lái)存儲(chǔ)試卷名字;Test1用來(lái)存儲(chǔ)試題。 2.2服務(wù)器端和客戶端的數(shù)據(jù)傳輸方式 服務(wù)器端和客戶端的數(shù)據(jù)時(shí)用套接字來(lái)傳輸?shù)摹P地址表示Internet上的計(jì)算機(jī),端口號(hào)標(biāo)識(shí)正在計(jì)算機(jī)運(yùn)行的進(jìn)程。端口號(hào)與IP地址的組合得出一個(gè)網(wǎng)絡(luò)套接字??蛻舳耸褂肧ocket類建立到服務(wù)器的套接字連接,具體實(shí)現(xiàn): try{ Socket sock=new Socket(String host,int port); }catch(IOException e){} 當(dāng)套接字連接sock建立后,sock使用getInputStream()方
10、法獲得一個(gè)輸入流,然后把獲得的輸入流接到另一個(gè)數(shù)據(jù)流上,然后就可以從這個(gè)數(shù)據(jù)流讀取服務(wù)器來(lái)的信息,同樣sock使用getOutputStream()方法獲得一個(gè)輸出流,然后把獲得的輸出流接到另一個(gè)DataOutputStram()數(shù)據(jù)流上,然后向這個(gè)數(shù)據(jù)流寫入信息,發(fā)送給服務(wù)器。客戶負(fù)責(zé)建立客戶端到服務(wù)器的套接字連接,即客戶端負(fù)責(zé)呼叫,因此服務(wù)器必須建立一個(gè)等待接收客戶的套接字的ServerSocket對(duì)象,具體實(shí)現(xiàn): try{ ServerSocket server_socket=new ServerSocket(int port); }catch(IOException
11、e){} 當(dāng)服務(wù)器的ServerSocket對(duì)象建立后,就可以使用accept()方法接收客戶的套接字。 2.3 服務(wù)器端功能設(shè)計(jì) 服務(wù)器端是接受客戶端傳來(lái)的信息,并作出相應(yīng)的處理。標(biāo)準(zhǔn)化考試系統(tǒng)服務(wù)器端最主要是實(shí)現(xiàn)試題的讀取。為了完成這個(gè)標(biāo)準(zhǔn)化考試系統(tǒng)還需要服務(wù)器有一些其他的功能,比如:計(jì)算學(xué)生考試分?jǐn)?shù),用戶登錄驗(yàn)證,教師對(duì)系統(tǒng)管理的實(shí)現(xiàn)等。 2.3.1試題讀取功能 本系統(tǒng)是采用數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)試題的,所以要讀取試題必須首先建立與Test1數(shù)據(jù)表的連接,然后利用ResultSet的對(duì)象rs的getString()方法得到試題的內(nèi)容,然后把試題內(nèi)容發(fā)給客戶端。 2.3.2 用戶登錄
12、驗(yàn)證功能 當(dāng)用戶登錄時(shí),客戶端會(huì)獲取用戶輸入的用戶名和密碼,并且會(huì)把信息發(fā)送給服務(wù)器,服務(wù)器會(huì)根據(jù)客戶端發(fā)來(lái)的信息對(duì)用戶的身份進(jìn)行驗(yàn)證。 kaoshi數(shù)據(jù)庫(kù)有兩個(gè)數(shù)據(jù)表是用來(lái)存儲(chǔ)用戶信息的,student數(shù)據(jù)表存儲(chǔ)學(xué)生信息,teachter數(shù)據(jù)表存儲(chǔ)教師信息,當(dāng)用戶以學(xué)生身份登錄系統(tǒng)時(shí),服務(wù)器會(huì)在student數(shù)據(jù)表中查詢有沒(méi)有這個(gè)用戶,并根據(jù)查詢的信息判斷學(xué)生是否成功登陸,把信息發(fā)送給客戶端,當(dāng)用戶以教師身份登錄系統(tǒng)時(shí),服務(wù)器會(huì)在student數(shù)據(jù)表中查詢有沒(méi)有這個(gè)用戶,并根據(jù)查詢的信息判斷教師是否成功登陸,把信息發(fā)送給客戶端。 2.4客戶端功能設(shè)計(jì) 客戶端是提供學(xué)生進(jìn)行考試和教師對(duì)
13、系統(tǒng)進(jìn)行管理,由于該系統(tǒng)是C/S模式,所以客戶端必須有連接服務(wù)器功能,連接服務(wù)器后有用戶登錄功能,用戶正確登錄后,學(xué)生用戶進(jìn)入考試界面,所以客戶端必須有考試功能,教師用戶正確登錄后進(jìn)入教室管理界面,客戶端必須有試題管理功能,查詢學(xué)生成績(jī)功能,學(xué)生信息管理功能,教師信息管理功能。 2.4.1連接服務(wù)器功能 客戶端與服務(wù)器端連接時(shí)通過(guò)套接字實(shí)現(xiàn)的,本系統(tǒng)采用的是把套接字放在一個(gè)線程中,就是使用Socket類不帶參數(shù)的構(gòu)造方法Socket()創(chuàng)建一個(gè)套接字對(duì)象,該對(duì)象需調(diào)用public void connect(SocketAddress endpoint) throws IOException
14、 ,請(qǐng)求和參數(shù)SocketServer指定的套接字建立連接。為了使用connect方法,可以使用SocketAddress的子類InetSocketAddress創(chuàng)建一個(gè)對(duì)象, InetSocketAddress的構(gòu)造方法如下:public InetSocketAddress(InetAddress addr,int port)。 2.4.2用戶登錄功能 用戶在進(jìn)入系統(tǒng)前必須經(jīng)過(guò)用戶登錄,用戶登錄功能是為了保護(hù)系統(tǒng)的安全,當(dāng)用戶寫入用戶名和密碼,并且選擇了登陸身份后,客戶端會(huì)獲取用戶的信息發(fā)送給服務(wù)器端,讓服務(wù)器度昂對(duì)用戶的身份進(jìn)行驗(yàn)證,并傳來(lái)登錄是否成功的信息,客戶端根據(jù)服務(wù)器端傳來(lái)
15、的信息進(jìn)行判斷,如果登錄成功,彈出對(duì)話框顯示用戶登錄成功,學(xué)生進(jìn)入考試界面,教師進(jìn)入后臺(tái)管理界面;如果登錄失敗,彈出對(duì)話框顯示用戶名或密碼錯(cuò)誤或者顯示你已經(jīng)登錄了。 2.4.3考試功能 學(xué)生正確登錄后就進(jìn)入考試界面,學(xué)生進(jìn)入考試界面后,必須選擇試卷,客戶端會(huì)通知服務(wù)器端列出所有的試卷名稱,在客戶端的下拉列表中會(huì)顯示所有試卷的名字,用戶選擇了試卷后,客戶端會(huì)通知服務(wù)器端學(xué)生所選的試卷名稱,學(xué)生點(diǎn)擊開(kāi)始考試按鈕就可以開(kāi)始考試了,同時(shí)計(jì)時(shí)器開(kāi)始計(jì)時(shí),當(dāng)用戶完成考試或者時(shí)間用完了考試結(jié)束,考試結(jié)束后用戶可以點(diǎn)擊查詢成績(jī)按鈕,用戶可以看到題目,答案以及自己所選的答案,還有你的成績(jī),查詢成績(jī)是用對(duì)話框
16、實(shí)現(xiàn),玩了后用戶可以退出系統(tǒng)。 2.4.4后臺(tái)管理功能 后臺(tái)管理功能就是對(duì)試題進(jìn)行管理,查詢學(xué)生成績(jī),對(duì)學(xué)生信息進(jìn)行管理,對(duì)教師信息進(jìn)行管理,試題管理有對(duì)尸體進(jìn)行增加,刪除,查詢,修改,當(dāng)用戶在客戶端輸入試題信息后,點(diǎn)擊這些按鈕,客戶端就會(huì)發(fā)送信息給服務(wù)器,服務(wù)器來(lái)查詢或者修改數(shù)據(jù)庫(kù),其他的也一樣,總是通過(guò)服務(wù)器端對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)庫(kù)操作 3.總體設(shè)計(jì) 3.1 總體功能圖 根據(jù)分析,標(biāo)準(zhǔn)化考試系統(tǒng)必須實(shí)現(xiàn)以下功能:1.連接服務(wù)器功能;2.用戶登錄功能;3.考試功能;4.管理功能; 根據(jù)系統(tǒng)需求,標(biāo)準(zhǔn)化考試系統(tǒng)的總體功能圖如圖3-1所示:
17、 圖3-1總體功能圖 3.2 總體流程圖 圖3-2 總體流程圖 4.?dāng)?shù)據(jù)庫(kù)設(shè)計(jì) 4.1 數(shù)據(jù)庫(kù)及表結(jié)構(gòu)的建立 該標(biāo)準(zhǔn)化考試系統(tǒng)共創(chuàng)建了一個(gè)kaoshi數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)中創(chuàng)建了student、teachter、shijuan和Test1四個(gè)表。 表3-1 kaoshi數(shù)據(jù)庫(kù) 邏輯名稱 文件類型 文件組 初始大小 自動(dòng)增長(zhǎng) 路徑 文件名 kaoshi 數(shù)據(jù) PRIMARY 3MB 不限制 D:\... Kaoshi_log 日志 不適用 1MB 不限制 D:\...
18、 student數(shù)據(jù)表是用來(lái)保存學(xué)生信息,該數(shù)據(jù)表包含用戶名,密碼,性別,年齡,班級(jí)和分?jǐn)?shù)六個(gè)字段,具體設(shè)計(jì)如表3-2所示: 表3-2 student數(shù)據(jù)表 列名 數(shù)據(jù)類型 允許空 用戶名 varchar(50) 否 密碼 varchar(50) 否 性別 varchar(50) 否 年齡 varchar(50) 否 班級(jí) varchar(50) 否 分?jǐn)?shù) int 是 teachter數(shù)據(jù)表是用來(lái)存儲(chǔ)教師信息,該數(shù)據(jù)表包含教工ID,教工姓名,教工密碼,教工性別和教
19、工職稱5個(gè)字段,具體設(shè)計(jì)如表3-3所示: 表3-3 teachter數(shù)據(jù)表 列名 數(shù)據(jù)類型 允許空 教工ID varchar(50) 否 教工姓名 varchar(50) 否 教工密碼 varchar(50) 否 教工性別 varchar(50) 否 教工職稱 varchar(50) 否 Test1數(shù)據(jù)表是用來(lái)存儲(chǔ)試題信息的,該數(shù)據(jù)表包含題目編號(hào),內(nèi)容,A選項(xiàng),B選項(xiàng),C選項(xiàng),D選項(xiàng),正確答案和分值8個(gè)字段,具體設(shè)計(jì)如表3-4所示: 表3-4 Test1數(shù)據(jù)表 列名 數(shù)據(jù)類
20、型 允許空 題目編號(hào) varchar(50) 否 內(nèi)容 varchar(500) 否 A選項(xiàng) varchar(100) 否 B選項(xiàng) varchar(100) 否 C選項(xiàng) varchar(100) 否 D選項(xiàng) varchar(100) 否 正確答案 varchar(50) 否 分值 varchar(50) 否 4.2 JAVA 數(shù)據(jù)庫(kù)的連接 該系統(tǒng)是用JDBC連接數(shù)據(jù)庫(kù)。首先必須加載JDBC驅(qū)動(dòng),然后利用DriverManager.getConnection()連接服務(wù)器和數(shù)據(jù)庫(kù)。具體實(shí)現(xiàn)如下: Str
21、ing driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加載JDBC驅(qū)動(dòng) String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=kaoshi"; //連接服務(wù)器和數(shù)據(jù)庫(kù)kaoshi String userName = "sa"; //默認(rèn)用戶名 String userPwd = "123"; //密碼 try { Class.forName(driverName); dbConn = Dr
22、iverManager.getConnection(dbURL, userName, userPwd); System.out.println("Connection Successful!"); //如果連接成功 控制臺(tái)輸出Connection Successful! } catch (Exception e) {e.printStackTrace();} } 5. 主要功能設(shè)計(jì)流程 5.1服務(wù)器端設(shè)計(jì)流程圖 根據(jù)對(duì)服務(wù)器端功能的分析,得到服務(wù)器設(shè)計(jì)流程圖如圖3-3所示:
23、 圖3-3 服務(wù)器端設(shè)計(jì)流程圖 5.2客戶端設(shè)計(jì)流程圖 根據(jù)客戶端功能分析,得到客戶端設(shè)計(jì)流程圖如圖3-4所示: 圖3-4 客戶端設(shè)計(jì)流程圖 6.代碼實(shí)現(xiàn) 6.1類之間關(guān)系圖 在編寫標(biāo)準(zhǔn)化考試系統(tǒng)時(shí),編寫了8個(gè)java源文件:Main.Java,ChaChengji.Java,ClientTestArea.Java,DengluPanel.Java,Guanli.Java,Lianjie.Java,ChatServer.Java,ReadTestquestion.Java其中ChatServe
24、r.Java,ReadTestquestion.Java為服務(wù)器端java程序編譯產(chǎn)生所需要的類;Main.Java,ChaChengji.Java,ClientTestArea.Java,DengluPanel.Java,Guanli.Java,Lianjie.Java為客戶端java程序編譯產(chǎn)生所需要的類。標(biāo)準(zhǔn)化考試系統(tǒng)除了需要編寫的8個(gè)java源文件所編譯產(chǎn)生的類外,還需要java系統(tǒng)提供的一些重要的類。如ServerSocket,Socket,JTabbedPane等類。標(biāo)準(zhǔn)化考試系統(tǒng)所用到的一些重要的類以及它們之間的關(guān)系如圖3-5和圖3-6所示。
25、 圖3-5 服務(wù)器端類之間的關(guān)系圖 圖3-6 客戶端類之間的關(guān)系圖 6.2 運(yùn)行效果圖 連接服務(wù)器界面: 圖3-7 連接服務(wù)器界面 學(xué)生登錄界面: 圖3-8 學(xué)生登錄界面 考試主界面: 圖3-9 考試主界面 開(kāi)始考試后界面: 圖3-10 開(kāi)始考試后界面 成績(jī)查詢界面
26、: 圖3-11 成績(jī)查詢界面 教師登錄界面: 圖3-12 教師登錄界面 試題管理界面: 圖3-13 試題管理界面 查看學(xué)生成績(jī)界面: 圖3-14 查看學(xué)生成績(jī)界面 學(xué)生信息管理界面: 圖3-15 學(xué)生信息管理界面 教師信息管理界面: 圖3-16 教師信息
27、管理界面 服務(wù)器端效果圖: 圖3-17 服務(wù)器端效果圖 6.3 程序打包發(fā)布過(guò)程 1. 服務(wù)器端 服務(wù)器端程序在命令行窗口運(yùn)行,不需要打包。 2.客戶端 可以使用jar.Exe命令制作JAR文件來(lái)發(fā)布編寫的客戶端軟件 (1) 首先用文本編輯器,比如Windows下的記事本,編寫一個(gè)清單文件: mymoon.Mf Manifest-Version: 1.0 Main-Class: Main Created-By: 1.5(Sun Microsystems Inc.) 將mymo
28、on.Mf保存到D:\標(biāo)準(zhǔn)化考試系統(tǒng)\客戶端中,即和應(yīng)用程序所用的字節(jié)碼保存在相同的目錄中。 注意:清單文件中的“Manifest-Version:”和1.0之間,“Main-Class:”和主類Main之間以及“Created-By:”和1.5之間必須有且只有一個(gè)空格 (2) 生成JAR文件 D:\標(biāo)準(zhǔn)化考試系統(tǒng)\客戶端\jar cfm kaoshi.jar mymoon.mf *.class 其中參數(shù)c表示要生成的一個(gè)新的JAR文件,f表示要生成的JAR文件的名字,m表示清單文件的名字。 現(xiàn)在就可以將kaoshi.Jar分值到任何一個(gè)安裝了java運(yùn)行環(huán)境的計(jì)算機(jī)上,
29、用戶雙擊該文件的圖標(biāo)就可以運(yùn)行客戶端軟件。 7. 總結(jié)與說(shuō)明 該標(biāo)準(zhǔn)化考試系統(tǒng)采用的是C/S模式,客戶端和服務(wù)器端都是應(yīng)用程序。客戶端與服務(wù)器端是用Socket和ServerSocket進(jìn)行通信,服務(wù)器端根據(jù)客戶端傳來(lái)的信息來(lái)進(jìn)行相應(yīng)的操作,客戶端根據(jù)服務(wù)器傳來(lái)的信息把信息顯示給用戶。該系統(tǒng)有學(xué)生考試功能和教師管理功能,兩個(gè)功能都是在客戶端,數(shù)據(jù)庫(kù)存放在服務(wù)器端。本系統(tǒng)有3個(gè)特點(diǎn): 1 本系統(tǒng)采用的全都是null布局。空布局容器可以準(zhǔn)確地定位組件在容器中的位置和大小,setBounds(int a,int b,int width,int height)方法是所有組件都擁有
30、的一個(gè)方法,組件調(diào)用該方法可以設(shè)置本身的大小和在容器中的位置。 2 本系統(tǒng)用了大量的圖片。這些圖片作為窗口的背景和按鈕的背景,加入背景圖片必須采用null布局,這些圖片不是用drawImage()方法繪制的,而是用把背景圖片加到JLabel,然后在容器中加入其它組件并設(shè)置這些組件的大小和位置,最后在該容器中加入JLabel組件,把JLabel組件的大小設(shè)置成窗口一樣大,這樣就實(shí)現(xiàn)了背景圖片的加入。因?yàn)楸鞠到y(tǒng)采用了大量的圖片,所以界面不會(huì)很難看。有人說(shuō)用java做出來(lái)的界面很難看,我看不一定,java不是提供了圖片功能嗎,只要應(yīng)用好java的這個(gè)特性就行。所以不管那一種編程語(yǔ)言,只要它提供了圖片功能,那么用它編寫的界面就不會(huì)很難看。 3 本系統(tǒng)采用SQL Server存儲(chǔ)數(shù)據(jù),并且用JDBC連接數(shù)據(jù)庫(kù)。用JDBC連接SQL Server數(shù)據(jù)庫(kù)首先必須加載JDBC驅(qū)動(dòng),然后利用DriverManager.getConnection()連接服務(wù)器和數(shù)據(jù)庫(kù)。 8.參考文獻(xiàn) 《JAVA2 實(shí)用教程》 作者:耿祥義 出版社:清華大學(xué)出版社 《JAVA 實(shí)用教程》 作者:鄭阿奇 出版社:電子工業(yè)出版社
- 溫馨提示:
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- [部編人教版]三年級(jí)下冊(cè)蜜蜂課件
- [美術(shù)課件]探訪自然奇觀課件1
- 小學(xué)五年級(jí)上冊(cè)語(yǔ)文第二課小苗與大樹(shù)的對(duì)話PPT課件2
- 將陽(yáng)光撒向心靈展示文稿
- 《好的故事》(完美版)優(yōu)秀課件
- 實(shí)際問(wèn)題與二次函數(shù)
- 《太空一日》參考課件1
- 上腔靜脈綜合征
- 用厘米作單位量長(zhǎng)度 (2)
- 冠心病教學(xué)查房
- 小兒發(fā)燒該如何護(hù)理
- 幼兒急疹的鑒別診斷
- 華南國(guó)際工業(yè)原料城項(xiàng)目品牌傳播構(gòu)想
- 頸椎雙開(kāi)門術(shù)
- 人教新課標(biāo)三年級(jí)語(yǔ)文下冊(cè)《古詩(shī)兩首—詠柳3》