




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、基于基于 J2EEJ2EE 架構(gòu)的在線考試系統(tǒng)架構(gòu)的在線考試系統(tǒng)目錄目錄摘要摘要: :.3 3ABSTRACT:ABSTRACT:.4 41 1 引言引言.5 52 2 在線考試系統(tǒng)構(gòu)架在線考試系統(tǒng)構(gòu)架.5 52.1 在線考試系統(tǒng)一般需求分析.52.2 當前在線考試系統(tǒng)現(xiàn)狀分析.62.3 基于 J2EE 的在線考試系統(tǒng)架構(gòu)介紹及擁有的優(yōu)勢.62.3.1 結(jié)構(gòu)總體介紹 .62.3.2 客戶層組件 .72.3.2.1 Applets .72.3.2.2 應用程序客戶端 .72.3.3 WEB 層組件.72.3.4 業(yè)務層組件.72.3.5 企業(yè)信息系統(tǒng)層.82.3.6 J2EE 架構(gòu)的優(yōu)勢.83
2、3 測試系統(tǒng)具體設計測試系統(tǒng)具體設計.9 93.1 基于 J2EE 的 E-NETTEST在線考試系統(tǒng)構(gòu)架概要 .93.1.1 E-nettest 系統(tǒng)結(jié)構(gòu).93.1.2 E-nettest 數(shù)據(jù)流程.103.2 E-NETTEST考試系統(tǒng)環(huán)境設置.113.3 E-NETTEST總體功能介紹.113.4 E-NETTEST模塊設計.113.5 E-NETTEST數(shù)據(jù)庫設計.134 4 關鍵技術關鍵技術.14144.1 TOMCAT數(shù)據(jù)庫連接池介紹與配置.144.2 APPLET數(shù)字簽名技術.164.3 如何調(diào)用JAVA外部程序.175 5 總結(jié)總結(jié)與與展望展望.1818參考文獻參考文獻.191
3、9基于 J2EE 架構(gòu)的在線考試系統(tǒng)計算機科學與技術專業(yè) 001 班沈志鋼指導教師:袁貞明 張佳摘要: 目前國內(nèi)基于 B/S、C/S 結(jié)構(gòu)的在線考試系統(tǒng)產(chǎn)品已經(jīng)有許多,本文首先介紹了這些考試系統(tǒng)的形成和開展過程,大致結(jié)構(gòu)。然后通過仔細分析,提出了目前的這些系統(tǒng)還存有系統(tǒng)更新和維護等種種弊端,仍不夠成熟?;趯ΜF(xiàn)有產(chǎn)品的思考,結(jié)合 J2EE 的成熟技術,我們想到了是否可以將該技術運用在在線考試系統(tǒng)中,提出了一個基于 J2EE 架構(gòu)的在線考試系統(tǒng)。通過將該架構(gòu)與已有結(jié)構(gòu)的在線考試系統(tǒng)進行比擬,分析了該架構(gòu)的優(yōu)勢,重點介紹了該框架的整體構(gòu)造以及相關的概念和技術。并通過設計了一個基于 J2EE 架構(gòu)的
4、在線考試系統(tǒng)對該架構(gòu)做了一個比擬深入的剖析。最后,對 J2EE 技術做了一個總結(jié)性的展望,認為該技術有著良好的開展空間和廣闊的前景。關鍵詞:J2EE,在線考試系統(tǒng),b/s,JavaBean,jsp,數(shù)據(jù)池Abstract: At present, there are many b/s, c/s structure examination systems based on-line, this paper first introduced most of these systems formed and developed process, and structures. Then, analy
5、sis these systems, and pointed out that there still have many defects about them, just like the update and the service to these systems .Thinking based on these produces, and now the J2EE technical is becoming mature, we thinking about is this technical can be used in examination systems, so we ment
6、ioned a on-line system based on J2EE structure. Compared to other systems, and also analysis its advantages, we introduced this structures construction and technical as emphasize. Finally, make J2EE technical a expectation and it can progress quiet great and have a nice foreground.Keywords: J2EE, Ex
7、amination system on-line, b/s, JavaBean, jsp, data pool1 引言現(xiàn)階段,學校與社會上的各種考試大都采用傳統(tǒng)的考試方式,在此方式下,組織一次考試至少要經(jīng)過五個步驟,即出卷、考生考試、閱卷、成績評估和試卷分析。顯然,隨著考試類型的不斷增加及考試要求的不斷提高,教師的工作量將會越來越大,并且其工作將是一件十分繁瑣和非常容易出錯的事情,可以說傳統(tǒng)的考試方式已經(jīng)不能適應現(xiàn)代考試的需要。隨著計算機應用的迅猛開展,網(wǎng)絡應用不斷擴大,如遠程教育和虛擬大學的出現(xiàn)等等,且這些應用正逐步深入到千家萬戶。人們迫切要求利用這些技術來進行在線考試,以減輕教師的工作負擔
8、及提高工作效率,從而提高了考試的質(zhì)量,使考試更趨于公證、客觀、激發(fā)學生的學習興趣。例如目前許多國際著名的計算機公司所舉辦的各種認證考試絕大局部采用這種方式。為了適應新形勢的開展,目前國內(nèi)有很多公司團體研究開發(fā)了基于 Web 的考試系統(tǒng)。而我們知道網(wǎng)絡應用軟件運行的模式主要有二類:Client/Server 模式、Browser/Server 模式。前者主要的缺點是維護、升級較麻煩,后者是近幾年伴隨 Internet 迅速開展而應運而生的一種技術,在這種模式下,客戶端需要一個瀏覽器,效勞器端是 Web Server ,而 Web Server 是與數(shù)據(jù)庫和應用效勞器的緊密結(jié)合,可見,這種模式是瘦
9、客戶端,即對客戶端的要求不高.如今,很多部門的業(yè)務系統(tǒng)、企業(yè)的 MIS 系統(tǒng)紛紛采用這種模式,它的主要優(yōu)點是便于擴充應用、升級維護簡便。然而,隨著技術的開展,更先進的模式紛紛被提出并時興起來,其中 J2EE 就是比擬成熟的一種。2 在線考試系統(tǒng)構(gòu)架2.1 在線考試系統(tǒng)一般需求分析 在線考試系統(tǒng)應具有以下要求:1由于考試對應的是特定的對象,所以系統(tǒng)需要經(jīng)過有效的身份驗證才可以登陸。并且系統(tǒng)需要有可以管理會話的功能。以便在考試過程中全程跟蹤考試狀態(tài)。2系統(tǒng)的權限一般分為兩種:管理員和學生。不同的身份使用不同的權限和功能。3管理員需要對試題和考生進行有效的管理,負責試題的錄入及更新和修改,對試題的分
10、類,每次考試前,需要對試場環(huán)境和考生狀態(tài)進行考前初始化工作。要注意的是, 鑒于考試環(huán)境一般為機房,考試者之間的距離很近,為了在線考試做到標準,對于每個應試者來說,試卷的試題和題量都應是相同的,但試題并不相同。4) 系統(tǒng)要有良好的試卷上傳和回收功能,確保信息傳送的正確性。5) 系統(tǒng)要有一個友善的界面,確??忌荚嚨捻樌M行。6) 因為試卷中的主觀題需要老師批改,可能需要一段時間才能查詢到成績。但如果試卷是由客觀題型組成的,考生就可以在考試結(jié)束后查詢到自己的成績了。7) 系統(tǒng)提供對考生成績的統(tǒng)計和查詢等管理功能。8) 系統(tǒng)應具有良好的平安性管理。2.2 當前在線考試系統(tǒng)現(xiàn)狀分析當前考試系統(tǒng)中,仍有
11、許多是基于 c/s 模式的,每一次伴隨著系統(tǒng)的升級,都要在每個客戶端更新軟件,耗時耗力??上驳氖牵S著技術的開展,基于 b/s 模式的在線考試系統(tǒng)越來越多,逐漸占據(jù)了主導地位。它克服了 c/s 模式下的許多缺點,從傳統(tǒng)的基于 C/S模式的考試系統(tǒng)轉(zhuǎn)變到基于 B/S 模式的考試系統(tǒng),可以使用戶在任何一臺電腦上,只要可以上網(wǎng),就可以使用該效勞,大大簡化了操作,為用戶提供了方便。另一方面,也為教師的管理和批閱工作提供了方便,提高了效率。但是據(jù)我多方的觀察和研究,發(fā)現(xiàn)大多數(shù)的在線考試系統(tǒng)都是采用基于頁面的模式開發(fā),每個頁面中都包含了要用到的所有功能邏輯,導致代碼重復率高,結(jié)構(gòu)不夠清晰,維護升級起來也很
12、費時間和人力。鑒于這種情況,所以我們將 J2EE 的概念參加到在線考試系統(tǒng)中來,使得該系統(tǒng)更易于升級和維護。2.3 基于 J2EE 的在線考試系統(tǒng)架構(gòu)介紹及擁有的優(yōu)勢23.1 結(jié)構(gòu)總體介紹J2EE 使用多層的分布式應用模型,應用邏輯按功能劃分為組件,各個應用組件根據(jù)他們所在的層分布在不同的機器上。事實上,sun 設計 J2EE 的初衷正是為了解決兩層模式(client/server)的弊端,在傳統(tǒng)模式中,客戶端擔當了過多的角色而顯得臃腫,在這種模式中,第一次部署的時候比擬容易,但難于升級或改良,可伸展性也不理想,而且經(jīng)常基于某種專有的協(xié)議通常是某種數(shù)據(jù)庫協(xié)議。它使得重用業(yè)務邏輯和界面邏輯非常困
13、難?,F(xiàn)在 J2EE 的多層企業(yè)級應用模型將兩層化模型中的不同層面切分成許多層。一個多層化應用能夠為不同的每種效勞提供一個獨立的層,以下是 J2EE 典型的四層結(jié)構(gòu):運行在客戶端機器上的客戶層組件 運行在 J2EE 效勞器上的 Web 層組件 運行在 J2EE 效勞器上的業(yè)務邏輯層組件 運行在 EIS 效勞器上的企業(yè)信息系統(tǒng)(Enterprise information system)層軟件 圖 1 J2EE 典型的四層結(jié)構(gòu) 客戶層組件J2EE 應用程序可以是基于 web 方式的,也可以是基于傳統(tǒng)方式的。J2EE 標準中指出,客戶層組件有兩種,它們是應用客戶端程序和 applets 客戶端。.1
14、 Applets從 Web 層接收的一個 Web 頁面可以包含內(nèi)嵌的 applet。一個 applet 是一個用 Java 編程語言編寫的小的客戶端應用程序,它在安裝在 Web 瀏覽器中的 Java 虛擬機中運行。然而,為了在 Web 瀏覽器中成功地運行 applet,客戶端系統(tǒng)很可能需要 Java 插作和平安策略文件。 Web 組件是用來建立一個 Web 客戶端程序的首選的 API,因為這樣在客戶端系統(tǒng)中就不需要插件和平安策略文件。同樣的,使用 Web 組件可以有效地改善應用程序設計,因為它們提供了一個將應用程序設計和 Web 頁面設計有效別離的途徑。Web 頁面的設計者可以不必關心 Jav
15、a 編程語言的語法就能很好地完成自己的工作。.2 應用程序客戶端一個 J2EE 應用程序客戶端運行在客戶端機器上,它使得用戶可以處理需要比標記語言所能提供的更豐富的用戶界面的任務。具有代表性的是用 Swing 或抽象窗口工具包(AWT)API 建立的圖形用戶界面(GUI),但是一個命令行界面也是當然可能的。 應用程序客戶端直接訪問運行在商業(yè)層的 enterprise bean。然而,如果應用程序需要授權, 一個 J2EE 應用程序客戶端可以翻開一個 連接來與一個運行在 Web 層的servlet 建立通信。 WEB 層組件J2EE web 層組件可以是 JSP 頁面或 Servlets.按照
16、J2EE 標準,靜態(tài)的 HTML 頁面和Applets 不算是 web 層組件。正如以下圖所示的客戶層那樣,web 層可能包含某些 JavaBean 對象來處理用戶輸入,并把輸入發(fā)送給運行在業(yè)務層上的 enterprise bean 來進行處理。圖 2 Web 層組件 業(yè)務層組件業(yè)務層代碼的邏輯用來滿足銀行,零售,金融等特殊商務領域的需要,由運行在業(yè)務層上的 enterprise bean 進行處理. 以下圖說明了一個 enterprise bean 是如何從客戶端程序接收數(shù)據(jù),進行處理(如果必要的話), 并發(fā)送到 EIS 層儲存的,這個過程也可以逆向進行。有三種企業(yè)級的 bean: 會話(s
17、ession) beans, 實體(entity) beans, 和消息驅(qū)動(message-driven) beans。 會話 bean 表示與客戶端程序的臨時交互. 當客戶端程序執(zhí)行完后, 會話 bean 和相關數(shù)據(jù)就會消失. 相反, 實體 bean 表示數(shù)據(jù)庫的表中一行永久的記錄。當客戶端程序中止或效勞器關閉時, 就會有潛在的效勞保證實體 bean 的數(shù)據(jù)得以保存.消息驅(qū)動 bean 結(jié)合了會話 bean 和 JMS 的消息監(jiān)聽器的特性, 允許一個業(yè)務層組件異步接收 JMS 消息。圖 3 業(yè)務層組件 企業(yè)信息系統(tǒng)層企業(yè)信息系統(tǒng)層處理企業(yè)信息系統(tǒng)軟件包括企業(yè)根底建設系統(tǒng)例如企業(yè)資源方案 (
18、ERP), 大型機事務處理, 數(shù)據(jù)庫系統(tǒng),和其它的遺留信息系統(tǒng). 例如,J2EE 應用組件可能為了數(shù)據(jù)庫連接需要訪問企業(yè)信息系統(tǒng)。 J2EE 架構(gòu)的優(yōu)勢J2EE 為搭建具有可伸縮性、靈活性、易維護性的系統(tǒng)提供了良好的機制:1保存現(xiàn)存的 IT 資產(chǎn): 由于技術需求的不斷更新,在線考試系統(tǒng)必須可以適應新的要求,利用已有的對考試系統(tǒng)方面的投資,而不是重新制定全盤方案。這樣,一個以漸進的而不是激進的,全盤否認的方式建立在已有考試系統(tǒng)之上的效勞器端平臺機制是學校和單位所需求的。J2EE 架構(gòu)可以充分利用用戶原有的投資,這之所以成為可能是因為J2EE 擁有廣泛的業(yè)界支持和一些重要的企業(yè)計算領域供給商的參與
19、。每一個供給商都對現(xiàn)有的客戶提供了不用廢棄已有投資,進入可移植的 J2EE 領域的升級途徑。由于基于J2EE 平臺的產(chǎn)品幾乎能夠在任何操作系統(tǒng)和硬件配置上運行,現(xiàn)有的操作系統(tǒng)和硬件也能被保存使用。 2高效的開發(fā): J2EE 允許客戶把一些通用的、很繁瑣的效勞端任務交給中間件供給商去完成。這樣開發(fā)人員可以集中精力在如何創(chuàng)立商業(yè)邏輯上,相應地縮短了開發(fā)時間。高級中間件供給商提供以下這些復雜的中間件效勞: 狀態(tài)管理效勞 - 讓開發(fā)人員寫更少的代碼,不用關心如何管理狀態(tài),這樣能夠更快地完成程序開發(fā)。 持續(xù)性效勞 - 讓開發(fā)人員不用對數(shù)據(jù)訪問邏輯進行編碼就能編寫應用程序,能生成更輕巧,與數(shù)據(jù)庫無關的應用
20、程序,這種應用程序更易于開發(fā)與維護。 分布式共享數(shù)據(jù)對象效勞 - 讓開發(fā)人員編制高性能系統(tǒng),極大提高整體部署的伸縮性。 3支持異構(gòu)環(huán)境: J2EE 能夠開發(fā)部署在異構(gòu)環(huán)境中的可移植程序。基于 J2EE 的應用程序不依賴任何特定操作系統(tǒng)、中間件、硬件。因此設計合理的基于 J2EE 的程序只需開發(fā)一次就可部署到各種平臺。由于考試系統(tǒng)很多時候需要提供給許多不同的學校和單位使用,這些學校和單位的軟件硬件環(huán)境存在有較大的差異,所以能支持異構(gòu)環(huán)境這點就十分關鍵。同時 J2EE 標準也允許客戶訂購與 J2EE 兼容的第三方的現(xiàn)成的組件,把他們部署到異構(gòu)環(huán)境中,節(jié)省了由自己制訂整個方案所需的費用。 4伸縮性:
21、 學校和單位必須要選擇一種效勞器端平臺,這種平臺應能提供極佳的可伸縮性去滿足可能不斷增多的在他們系統(tǒng)上進行考試的大批新的考生?;?J2EE 平臺的應用程序可被部署到各種操作系統(tǒng)上。例如可被部署到高端 UNIX 與大型機系統(tǒng),這種系統(tǒng)單機可支持 64 至 256 個處理器。 這是 NT 效勞器所望塵莫及的J2EE 領域的供給商提供了更為廣泛的負載平衡策略。能消除系統(tǒng)中的瓶頸,允許多臺效勞器集成部署。這種部署可達數(shù)千個處理器,實現(xiàn)可高度伸縮的系統(tǒng),滿足未來系統(tǒng)升級和規(guī)模擴大的需要。 5穩(wěn)定的可用性: 雖然在線考試系統(tǒng)不象一般企業(yè)的效勞器端平臺必須能全天候運轉(zhuǎn)以滿足公司客戶、合作伙伴的需要,但起碼
22、必須保證考生考試的這段時間內(nèi)不發(fā)生意外停機等故障,從而影響到考生考試。J2EE 部署到可靠的操作環(huán)境中,他們支持長期的可用性。一些 J2EE 部署在 WINDOWS 環(huán)境中,客戶也可選擇健壯性能更好的操作系統(tǒng)如 Sun Solaris、IBM OS/390。最健壯的操作系統(tǒng)可到達 99.999%的可用性或每年只需 5 分鐘停機時間。這是對在線考試系統(tǒng),特別對于那些比擬重要的考試的理想選擇。 3 測試系統(tǒng)具體設計3.1 基于 J2EE 的 E-nettest 在線考試系統(tǒng)構(gòu)架概要 E-nettest 系統(tǒng)結(jié)構(gòu)我們的系統(tǒng)結(jié)構(gòu)是針對了 J2EE 的四層架構(gòu)進行設計的圖 4 系統(tǒng)結(jié)構(gòu)如下圖,客戶層負責
23、提供用戶界面接口,包括試題的顯示和考生答案的輸入。Web 層負責將得到的考生登陸和題目上傳的信息送交給業(yè)務層,同時,將從業(yè)務層處得到考試的相關信息輸出到 html 頁面為考生提供相關效勞。業(yè)務層負責系統(tǒng)的具體邏輯實現(xiàn),主要是得到數(shù)據(jù)池中的數(shù)據(jù)源,向數(shù)據(jù)庫中提交和獲得數(shù)據(jù)等。信息系統(tǒng)層主要采用了 Microsoft sql2000 數(shù)據(jù)庫對數(shù)據(jù)進行存貯管理。 E-nettest 數(shù)據(jù)流程考生首先進入登陸頁面,輸入用戶名和密碼,系統(tǒng)將該用戶名和密碼與數(shù)據(jù)庫中考生表的用戶名密碼一一核對,如果存在該考生且未登陸,那么彈出一個考試的主頁面正常進入考試,并將該考生置為考試狀態(tài)。否那么會跳到出錯頁面要求考生
24、重新登陸。進入考試頁面后,有許多分類的試題要求考生分別完成,考生點擊相應頁面的超鏈接,進入做題,在每個分頁面的頂部,都將會有對該局部試題的操作提示和考前須知,考生閱讀完相關事項后進行做題,每做完該局部試題都必須保存,系統(tǒng)將收集到的考生做題信息上傳到數(shù)據(jù)庫中,考生那么繼續(xù)做其他局部試題。完成所有考試后,考生點擊交卷標記,系統(tǒng)保存考生所有的答題信息后正常他退出,并將考生置于離線狀態(tài)。具體流程見以下圖:客戶端瀏覽器,負責處理用戶視圖界面負責處理考生的登錄和做題信息,傳送給相應的 javabean 組件。并將返回信息傳送給用戶頁面顯示。負責得到數(shù)據(jù)庫的連接,從數(shù)據(jù)庫取得相應信息,將用戶信息輸入上傳到數(shù)
25、據(jù)庫中。負責試題和考生信息等的存儲。圖 5 系統(tǒng)流程3.2 E-nettest 考試系統(tǒng)環(huán)境設置 本系統(tǒng)運行環(huán)境如下: 效勞器端:軟件環(huán)境:win2000/nt Tomcat,jsdk 用以支持 jsp 網(wǎng)頁,sql server數(shù)據(jù)庫效勞器 硬件環(huán)境:p3 1.0 以上 cpu,256M Rom 硬件環(huán)境:p2 233 以上 cup,32M 以上內(nèi)存3.3 E-nettest 總體功能介紹客戶端客戶端登陸效勞:負責用戶的登陸的輸入,與效勞器端的驗證,如果是重登陸的,需重登陸密碼。 題目下載:負責從數(shù)據(jù)庫中讀取試題數(shù)據(jù),下載到客戶端。用戶答題:負責在客戶的瀏覽器中顯示下載的題目,供用戶做題。題
26、目上傳:負責將客戶所答題目的答案上傳到效勞器端。管理端管理端生成試題:負責從試題源中生成當場考試的相應試題。試題初始化:負責在每場考試前清空試題回收信息。考生監(jiān)控:負責在考試期間管理監(jiān)控各考生的考試狀態(tài)。試卷回收:負責在考試結(jié)束后,將考生提交的答案上傳到數(shù)據(jù)庫效勞器中。試卷批閱:負責自動化批閱回收試卷客觀題 。數(shù)據(jù)庫連接效勞:負責從各共性效勞層模塊接收相關數(shù)據(jù)庫連接,查詢,修改等效勞,并返回相關數(shù)據(jù)。數(shù)據(jù)訪問層異常管理:負責數(shù)據(jù)庫連接效勞出現(xiàn)的異常。3.4 E-nettest 模塊設計各模塊的詳細介紹:1考生登陸模塊:在客戶層,考生通過主登陸頁面輸入用戶名與密碼。在 web 層,將從用戶輸入處
27、得到的用戶名和密碼與從業(yè)務層返回的相應用戶名和密碼作比擬,如果用戶存在密碼正確且還未登陸就登陸考試主頁面,否那么跳到出錯頁面要求重新登陸。在業(yè)務層,獲得與 mssql 數(shù)據(jù)庫的連接,并取出所有的用戶名和密碼信息。將該信息傳入 web 層。在 EIS 層,對應的是 mssql 數(shù)據(jù)庫中的 students 表格。2做題模塊:1選擇題:在客戶層,瀏覽器中顯示每個考生所對應的考試題目,要求考生輸入考試答案。并有一個提交按鈕供考生做完題目后上傳題目。在 Web 層,jsp 負責從業(yè)務層中獲得題目,并將題目組織在一起向客戶端顯示。在業(yè)務層,獲得與數(shù)據(jù)庫的連接,并且取出選擇題題目。在 EIS 層,對應的是
28、數(shù)據(jù)庫中 choose 表格。2word 題:在客戶層,在瀏覽器中 applet 的 textarea 區(qū)域顯示 word 題的要求,并利用 applett數(shù)字簽名技術,突破訪問本地文件系統(tǒng)的限制,翻開 word 做題。在 Web 層,利用 servlet 的文件上傳下載技術,將讀出的 word 文件下載到本地磁盤。在業(yè)務層,獲得數(shù)據(jù)庫連接,并取出 word 題目,word 題是以二進制流的方式將 word文件存貯在數(shù)據(jù)庫。在 EIS 層,對應的是數(shù)據(jù)庫中 word 表格。3答案上傳模塊:在客戶層,在瀏覽器中單擊提交按鈕將做完的答案提交制相應頁面在 Web 層,將用戶提交的答案提交給相應的 j
29、avabean 組件,并在客戶端顯示提示信息。在業(yè)務層,將提交上來的答案存入相應的數(shù)據(jù)庫中。在 EIS 層,數(shù)據(jù)庫中 students 表格,有兩個相應字段用來存放該用戶所對應的提交答案。圖 6 系統(tǒng)模塊3.5 E-nettest 數(shù)據(jù)庫設計由于目前市場上存在有許多的數(shù)據(jù)庫產(chǎn)品,較流行的有 oracle,Mssql,Access,等,oraclee-nettest 系統(tǒng)登陸效勞用戶答題答案上傳數(shù)據(jù)庫連接效勞 MS SQL SERVER數(shù)據(jù)訪問層異常管理題目下載生成試 題試題初始化考生監(jiān)控試卷回收試卷批閱數(shù)據(jù)庫多用于大企業(yè)中,穩(wěn)定性最好,但價格也較高,且系統(tǒng)要求也較高,而 Access 數(shù)據(jù)庫不
30、支持網(wǎng)絡功能,一般只對個人或小型的系統(tǒng)適用,而對于本系統(tǒng)來說,采用 Msssql 那么是一個較為適宜的選擇,Mssql 是微軟網(wǎng)絡數(shù)據(jù)庫的主打產(chǎn)品,支持網(wǎng)絡功能,日志記錄等多種方便的效勞,并且有著較為穩(wěn)定的性能和可靠的管理。下面是數(shù)據(jù)庫表的設計:Students table:id, char, 10,notnull; password, char, 10,null; number, char, 10,notnull; sex, char, 1,null;(1=男,0=女) chooseans, char, 60,null; wordans, image,16,null; status, cha
31、r, 1,notnull;(1=在線,0=離線)choose table: QNUM, INT, 4,notnull; QCON, TEXT, 16, notnull;QANSA, TEXT, 50, notnull;QANSB, TEXT, 50,notnull;QANSC, TEXT, 50,notnull;QANSD, TEXT, 50,notnull;QANSE, TEXT, 50,notnull;QANS, TEXT, 1,notnull;Word table: TOPIC_NUMBER , nvarchar, 2,notnull; QUESTION_TITLE, text, 16,
32、notnull;QUESTION_CONTENT,image, 16,notnull;4 關鍵技術4.1 tomcat 數(shù)據(jù)庫連接池介紹與配置數(shù)據(jù)庫連接池概述:數(shù)據(jù)庫連接是一種關鍵的有限的昂貴的資源,這一點在多用戶的網(wǎng)頁應用程序中表達得尤為突出。對數(shù)據(jù)庫連接的管理能顯著影響到整個應用程序的伸縮性和健壯性,影響到程序的性能指標。數(shù)據(jù)庫連接池正是針對這個問題提出來的。數(shù)據(jù)庫連接池負責分配、管理和釋放數(shù)據(jù)庫連接,它允許應用程序重復使用一個現(xiàn)有的數(shù)據(jù)庫連接,而再不是重新建立一個;釋放空閑時間超過最大空閑時間的數(shù)據(jù)庫連接來防止因為沒有釋放數(shù)據(jù)庫連接而引起的數(shù)據(jù)庫連接遺漏。這項技術能明顯提高對數(shù)據(jù)庫操作的
33、性能。數(shù)據(jù)庫連接池在初始化時將創(chuàng)立一定數(shù)量的數(shù)據(jù)庫連接放到連接池中,這些數(shù)據(jù)庫連接的數(shù)量是由最小數(shù)據(jù)庫連接數(shù)來設定的。無論這些數(shù)據(jù)庫連接是否被使用,連接池都將一直保證至少擁有這么多的連接數(shù)量。連接池的最大數(shù)據(jù)庫連接數(shù)量限定了這個連接池能占有的最大連接數(shù),當應用程序向連接池請求的連接數(shù)超過最大連接數(shù)量時,這些請求將被參加到等待隊列中。數(shù)據(jù)庫連接池的最小連接數(shù)和最大連接數(shù)的設置要考慮到以下幾個因素:1) 最小連接數(shù)是連接池一直保持的數(shù)據(jù)庫連接,所以如果應用程序?qū)?shù)據(jù)庫連接的使用量不大,將會有大量的數(shù)據(jù)庫連接資源被浪費;2) 最大連接數(shù)是連接池能申請的最大連接數(shù),如果數(shù)據(jù)庫連接請求超過此數(shù),后面的數(shù)
34、據(jù)庫連接請求將被參加到等待隊列中,這會影響之后的數(shù)據(jù)庫操作。3) 如果最小連接數(shù)與最大連接數(shù)相差太大,那么最先的連接請求將會獲利,之后超過最小連接數(shù)量的連接請求等價于建立一個新的數(shù)據(jù)庫連接。不過,這些大于最小連接數(shù)的數(shù)據(jù)庫連接在使用完不會馬上被釋放,它將被放到連接池中等待重復使用或是空閑超時后被釋放。以下介紹一下連接池配置關鍵幾個環(huán)節(jié):1首先在中, 配置應用程序的路徑2然后配置資源名,用以在 jndi 中進行查詢 3定義各連接參數(shù),用戶名,密碼,數(shù)據(jù)庫驅(qū)動以及數(shù)據(jù)源的查找路徑 usernamejavauser passwordjavadude driverClassName url jdbc:
35、mysql:/localhost:3306/javatest?autoReconnect=true 4由于系統(tǒng)是一個 web 應用程序,被布署在 tomcat 容器中,所以需要在$CATALINA_HOME/webapps/quality/WEB-INF/web.xml 里設置被引用的資源:下面是配置代碼,必須放在和里。connectDB testjdbc/connectDBjavax.sql.DataSourceContainer5最后,將第 3 方的驅(qū)動都保存在$CATALINA_HOME/common/lib/*.jar 中,如我們這里連接的是 mssql,那么將 mssql 的驅(qū)動程序
36、,放入其中。4.2 applet 數(shù)字簽名技術實現(xiàn) applet 數(shù)字簽名,使得 applet 可以突破默認平安限制,讀取本地文件系統(tǒng)。在 Java2 的平安體系下,1 個 Applet 開發(fā)和運行的過程如下: 在代碼的分發(fā)端: 1開發(fā) Java 源程序并對其進行編譯。 2用 JAR 工具對類文件和資源文件進行封裝。 3用 keytool 創(chuàng)立公鑰和密鑰,生成 X。509V1 簽名證書,輸出證書。 4通過 jarsigner 工具用生成的密鑰對 JAR 文件進行數(shù)字簽名。 在代碼的接收端: 1用 keytool 輸入證書視其為可信任。 2用 policytool 創(chuàng)立和修改平安性策略配置文件,
37、授權請求的訪問權限。 3從網(wǎng)絡取得字節(jié)碼,用公鑰驗證數(shù)字簽名證書和文檔代碼的完整性。 4驗證字節(jié)碼的合法性,根據(jù)策略文件分配相應權限。 5執(zhí)行代碼,完成后被垃圾回收器回收內(nèi)存。 在用公鑰驗證數(shù)字簽名證書之前,接收方需要確認公鑰自身的可靠性,因此通常情況是提供一個包含公鑰的證書而不是公鑰自身。1 個證書包括: 11 個公鑰。 21 個唯一的名字實體個人或公司,它是證書的所有者,包含用戶名字、公司、組織、城市、地址、國家代碼、省份等信息。 3數(shù)字簽名:1 個證書被 1 個分發(fā)者的實體簽名,保證證書確實包含另 1 個實體所有者的公鑰。 4分發(fā)者的標識名信息。 對于接收者可以用分發(fā)者的公鑰來驗證他的數(shù)
38、字簽名,檢查證書的合法性。然而公鑰可能包含在另一個證書中,而數(shù)字簽名需要用另一個證書的分發(fā)者的公鑰來驗證,這樣嵌套下去,直到一個公鑰被接收者確認是可信任的。如果接收者不能建立信任鏈,例如:1個分發(fā)者的證書不合法,那么可以用 keytoolimport 命令來計算指紋,每個指紋是一個相關的短數(shù)字,它唯一可靠地標識證書指紋是一個用信息摘要算法計算的證書信息的哈希值,接收者可以呼叫證書的所有者,并比擬發(fā)出的證書和接收證書的指紋,如果指紋相同,那么證書不同。因此能夠保證證書在傳遞的過程中未被修改。另一個潛在的問題是發(fā)送者身份的標識,有時一個證書是自簽名的,即使用證書中的公鑰相對應的密鑰進行簽名,如果接
39、收者已經(jīng)知道或信任發(fā)送者,那么就沒有任何問題。否那么發(fā)送者需要從一個可信任的第 3 方得到證書,這個第 3 方通常是一個證書的授權機構(gòu) CA,那么首先發(fā)送一個自簽名的證書簽名請求 CSR 給 CA,由 CA 驗證 CSR 的簽名及發(fā)送 CSR 的身份、許可證以及其它信息。然后 CA 通過一個用 CA 的密鑰進行簽名的證書,授權 CSR 的發(fā)送者作為公鑰的所有者,任何人只要信任 CA 的公鑰,都可以用之來驗證證書的簽名,很多情況下CA 自身有一個來自更高一級的 CA 的證書,從而構(gòu)成證書鏈。所有信任的證書實體都可以作為信任證書被引入鑰匙庫,每個證書中的公鑰都可以用來驗證用相應的密鑰生成的簽名。
40、發(fā)送者在發(fā)送簽名的代碼和文檔時還相應提供包含與簽名的密鑰相應的公鑰證書。用keytoolexport 命令或 API 函數(shù)可以從鑰匙庫中輸出證書到文件中,然后將這個文件發(fā)送給需要的接收者,由接收者用 keytoolimport 命令或 API 函數(shù)將其引入鑰匙庫中。如果用jarsigner 工具為 JAR 文件生成簽名,他會從鑰匙庫中取出證書及證書鏈,并和簽名一起放入 JAR 文件。 密鑰和相應的公鑰證書存放在一個由口令保護的數(shù)據(jù)庫中,稱為鑰匙庫keystore。1 個鑰匙庫包含 2 種類型的條目,可信任的證書條目,鑰匙和證書條目,每個都包含 1 個密鑰和與密鑰相應的公鑰證書,在鑰匙庫中的每個
41、條目都有 1 個別名進行標識。1 個鑰匙庫的所有者在鑰匙庫中可以有多個鑰匙,可以通過不同的別名進行訪問,每個別名通常是用鑰匙庫的所有者使用的鑰匙的特定角色來命名,別名也可以標識鑰匙的目的。例如:SignPersonalEmail 可以被用來標識 1 個鑰匙庫的條目,它的密鑰用于簽名個人郵件,SignJarFiles 用于標識 1 個條目,它的密鑰用于簽名 JAR 文件。4.3 如何調(diào)用 java 外部程序在系統(tǒng)中,由于涉及到需要調(diào)用 word 程序進行 word 試題的考試,因此需要用到調(diào)用java 外部程序的功能,java.lang.Runtime 類提供了 exce()方法來完成對外部可執(zhí)
42、行程序的調(diào)用。注意:在這里 exce()方法調(diào)用的其實是 java 解釋器這個可執(zhí)行程序,外部類文件 Invoked.class 只不過是作為 java 解釋器的參數(shù)出現(xiàn)。事實上,exce()方法還可以直接調(diào)用其它的可執(zhí)行文件,而不僅僅是 java 解釋器。具體代碼見下: String path = C:; try Runtime.getRuntime().exec(cmd /c start winword + path + ); catch (IOException e) tStackTrace();5 總結(jié)與展望在傳統(tǒng)的兩層體系下,業(yè)務邏輯在客戶端和效勞器端都有分布,而且效勞器端的主要計算
43、任務都由數(shù)據(jù)庫承當。數(shù)據(jù)庫系統(tǒng)本身作為系統(tǒng)級軟件,它本身的優(yōu)勢在于提供高效率的數(shù)據(jù)訪問和處理而不是數(shù)值計算,利用數(shù)據(jù)庫系統(tǒng)處理大量的業(yè)務計算并沒有完全發(fā)揮出數(shù)據(jù)庫管理系統(tǒng)的特長,當請求并發(fā)量巨大時,數(shù)據(jù)庫性能下降很快。針對這一缺乏,基于 J2EE 架構(gòu)的處理方式是:業(yè)務邏輯分布到應用效勞器上,數(shù)據(jù)庫上不再具有業(yè)務邏輯處理單元,而只負責根底業(yè)務數(shù)據(jù)的管理,主要的計算任務由應用效勞器完成,從而充分利用了應用效勞器在并發(fā)處理和邏輯計算方面的優(yōu)勢。另外,應用效勞器還可以做集群的配制,即在物理上,統(tǒng)一應用管理多臺應用效勞器對外部請求的分配和并行處理。這樣,當計算請求并發(fā)量巨大時,集群的多臺應用效勞器之間
44、可以動態(tài)的進行任務分配,實現(xiàn)負載均衡,保證了系統(tǒng)性能不會因為大量并發(fā)用戶的訪問而急劇下降,另外系統(tǒng)也同時具備了很好的可擴展性和伸縮性,即在請求并發(fā)量增大或減少時,可根據(jù)實際情況增加或減少應用效勞器數(shù)量,以便保證性能的前提下,合理利用硬件資源。這些都是兩層結(jié)構(gòu)所不具備的優(yōu)點。 基于 J2EE 的四層架構(gòu)還具備很多特點。應用 J2EE 的四層架構(gòu)對于保存現(xiàn)存的 IT 資產(chǎn)有著重要意義。由于社保機構(gòu)在面對適應新的業(yè)務需求的同時,也要充分利用好已有的資產(chǎn),因此,在信息系統(tǒng)建設方面,做平滑的系統(tǒng)遷移方案,而不是重新制定全盤方案就變得很重要。這樣,一個以漸進的,而不是激進的、全盤否認的方式建立在已有系統(tǒng)之
45、上的效勞器端平臺機制,是所有社保經(jīng)辦機構(gòu)所力求的。J2EE 架構(gòu)可以充分利用用戶原有的投資,如一些公司使用的 BEA Tuxedo、IBM CICS、IBM Encina、Inprise VisiBroker。之所以成為可能,主要是因為 J2EE 擁有廣泛的業(yè)界支持。每一個供給商都對現(xiàn)有的客戶提供了不用廢棄已有投資,進入可移植的 J2EE 領域的升級途徑。另外,由于基于 J2EE 平臺的產(chǎn)品幾乎能夠在任何操作系統(tǒng)和硬件配置上運行,現(xiàn)有的操作系統(tǒng)和硬件也可以被完整地保存下來繼續(xù)使用。 J2EE 體系對大型系統(tǒng)的高效開發(fā)有著良好的支持者。J2EE 標準嚴格要求把一些通用的、很繁瑣的效勞端底層開發(fā)任
46、務交給中間件供給商去完成,而這些復雜的系統(tǒng)級功能是常規(guī)應用開發(fā)中難度最大、開發(fā)本錢最高的一局部工作。高級中間件供給商提供復雜的中間件效勞,如:狀態(tài)管理效勞、持續(xù)性效勞、分布式共享數(shù)據(jù)對象的緩沖效勞等,它對開發(fā)人員來說是很重要的,這樣開發(fā)人員可以集中精力在如何創(chuàng)立業(yè)務邏輯上,相應地縮短了開發(fā)時間。對于核心平臺來講,也就縮短了本地化開發(fā)的周期。 這篇論文拿在線考試系統(tǒng)作為實例,從中具體實現(xiàn)了最根本的 J2EE 架構(gòu)并表達了其優(yōu)勢。由于時間關系,設計還不算很完美,主要研究了關鍵技術,設計有待于改良。參考文獻2 Yuan Zhenming, Zhang Liang, Zhan Guohua ,A NO
47、VEL WEB-BASED ONLINE EXAMINATION SYSTEM FOR COMPUTE SCIENCE EDUCATION,3 Bruce Eckel ,?Thinking in Java (3rd Edition)?, December 6, 20025 Danny Ayers,?Java 數(shù)據(jù)編程指南?,電子工業(yè)出版社6 John Bell , ?,電子工業(yè)出版社7 Subrahmanyam Allamaraju,?J2EE 編程指南1.3 版?,電子工業(yè)出版社As Alexander went off duty he noticed the bobbing flicker
48、 of ships lights far to port and starboard. Sea Shepherd ploughed on towards Miami. 4. All ashoreSusan opened her arms, as if to greet a long-lost friend. The sun had returned-not the half-hearted, hide-and-seek sun of recent weeks. No, this was the real thing, pure gold pouring out of a perfect sky
49、. She felt the warmth seeping deep into her skin. Slowly the shore floated forward to meet them, or so it seemed. Miami! Without asking, she helped herself to the binoculars hanging round Garys neck. Fumbling, she adjusted the focus. She wanted to see everything. Susan gave a little grunt of pleasur
50、e: white sand, palm trees, high hotels whose reflecting windows signalled like lighthouses, elegant yachts leaning on the wind and combing creamily through the smooth blue water. Blue! The sea was so blue! Travel brochure-blue. Susan gazed in wonder. Could this be the same Atlantic whose grey-green
51、waves had made her stomach churn and driven her into her bunk? She handed back Garys binoculars. Both were shading their eyes. The sun shone everywhere, from above and from below, sparking silver on the water, teeming and gleaming like a shoal of surfacing fish . Warm enough for you? Ben Bellingham
52、stood between them. Temperatures in the nineties on the mainland. They chatted for a minute or two. Look, theres a pelican. Ben pointed. A brown pelican, quite common around the Florida coast. People love watching their antics. The big bird, which reminded Gary of a pterodactyl, was making a reconna
53、issance flight parallel to Sea Shepherd. Suddenly the pelican plunged. A splash, a quick gobbling movement, and another fat fish was stored away in the birds expandable throat pouch. Pelicans use their elastic bills as scoop-nets, Ben explained. And they vary the height of their dive depending on th
54、e depth of the fish. Eat two pounds a day, those fellas, a quarter of their body weight. The bird came in to land on an old jetty. Now it looked clumsy, swaying and teetering down invisible steps to alight on flat webbed feet. Soon after, a dishevelled chick was rummaging in the adults beak. Must ha
55、ve a nest nearby, commented Bellingham. He shook himself. Well, gotta be going. Ill see you again before we disembark. By the way, better alter your watches-its 9#10 local time, five hours behind England. The bear-like naturalist shambled away. To think Susan had once felt shy, almost frightened of
56、meeting him! She sensed, rather than saw, a new presence and peeked sideways. It was Yves. He was draped over the ships rail and looked about as happy as someone being seasick. Why so glum? Susans eyes took in the scene farther along the deck. Ah, that was it. Vanessa. Wearing a polka-dot sun-suit t
57、hat showed off her slender figure and shapely legs. Talking to Johnny Masterson, the handsome he-man security officer, in khaki shirt and shorts. Obviously enjoying themselves. Poor Yves! The pelican had resumed its patrol. Susan inched nearer to Yves. Hello, she said lightly. See the pelican? Betch
58、a it catches something in a minute? Yves lifted his head. Immediately the pelican obliged with a spectacular swoop. Told you, didnt I? Susan chirped. Yves feigned interest, but his face let him down. Susan switched her gaze from the bird to Yves, from Yves to Vanessa, and back to Yves. The pelican f
59、lapped off. Never mind, she murmured, there are plenty more fish in the sea. Yao: And I am Yao, king of the rock. And theres nothin you girls can do about it.Ling taking a fighting stance: Oh, yeah? Well, I think Ping elbowing Mulan and I could take you.Mulan wading away: I really dont want to take
60、him anywhere.Ling following Mulan: Ping, we have to fight!Mulan: No we dont. unnaturally We could just close our eyes and swim around.Ling: Cmon dont be such a g-Ouch! Something bit me.Mushu popping out of the water between Mulan and Ling: What a nasty flavor.Ling with fear and gusto: Snake! Chien-P
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年6人股東合作協(xié)議書模板
- 五年級上冊數(shù)學教案-4.4 探索活動:三角形的面積(8)-北師大版
- 五年級下冊數(shù)學教案-3.2 2和5的倍數(shù)的特征丨蘇教版
- 8-數(shù)學廣角-搭配(二)-人教版三年級下冊數(shù)學單元測試卷(含答案和解析)-
- 《木蘭詩》歷年中考古詩欣賞試題匯編(截至2024年)
- Unit Six《 Lesson 17 Happy Chinese New Year to Our Family!》(教學設計)-2024-2025學年北京版(2024)英語一年級上冊
- 2024年磁粉離合器項目資金需求報告代可行性研究報告
- 2025年度個人與環(huán)??萍脊经h(huán)保項目提成合同
- 2025年度便利店加盟店合作協(xié)議
- 2025年度離職員工解除勞動合同保密協(xié)議書及保密承諾書
- 2025年云南省昆明國家高新技術產(chǎn)業(yè)開發(fā)區(qū)招聘合同聘用制專業(yè)技術人員47人歷年高頻重點模擬試卷提升(共500題附帶答案詳解)
- 1.1青春的邀約 教學課件 2024-2025學年七年級道德與法治下冊(統(tǒng)編版2024)
- 《1億有多大》(說課稿)-2024-2025學年四年級上冊數(shù)學人教版001
- DeepSeek從入門到精通 -指導手冊
- 校長第一次全體教師會上發(fā)言:2025春季開學教師掌握這 6 詞教育之路暢通無阻
- 2025年蘇州經(jīng)貿(mào)職業(yè)技術學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 衰老細胞代謝重編程-洞察分析
- 化工開停車培訓
- 2024年財政部會計法律法規(guī)答題活動題目及答案一
- 2024年01月廣州期貨交易所2024年招考筆試歷年參考題庫附帶答案詳解
- 中小學教師家訪記錄表內(nèi)容(18張)8
評論
0/150
提交評論