2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩42頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  本科畢業(yè)論文(設(shè)計(jì))</p><p><b> ?。ā?01  屆)</b></p><p>  A大學(xué)結(jié)業(yè)換證考試管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  所在學(xué)院 </p><p>  專業(yè)班級(jí) 信息與計(jì)算科學(xué) &

2、lt;/p><p>  學(xué)生姓名 學(xué)號(hào) </p><p>  指導(dǎo)教師 職稱 </p><p>  完成日期 年 月 </p><p>  摘要:本文首先綜述了目前國(guó)內(nèi)外教學(xué)管理系統(tǒng)研究現(xiàn)狀,以及闡述A大學(xué)結(jié)業(yè)換

3、證考試管理系統(tǒng)開發(fā)的目的與意義。其次介紹了開發(fā)本系統(tǒng)架構(gòu)方法,并對(duì)優(yōu)劣勢(shì)進(jìn)行了一下分析,并介紹了一些主要用到的技術(shù)。再其次進(jìn)行了需求分析,系統(tǒng)設(shè)計(jì)和數(shù)據(jù)庫設(shè)計(jì)。最后演示了登陸模塊,學(xué)生功能的聯(lián)系方式查看和修改模塊,考試報(bào)名模塊,查看通知模塊,成績(jī)查詢模塊,考試查詢模塊,管理員功能的學(xué)生管理模塊,學(xué)院專業(yè)管理模塊,考試信息管理模塊,通知管理模塊,信息統(tǒng)計(jì)模塊的完成情況.</p><p>  關(guān)鍵詞:結(jié)業(yè)換證;管理系

4、統(tǒng);JSP;MVC</p><p>  Certificate Renewal Exam Management System Of Jiaxing University Design and Implementation</p><p>  Abstract:This paper firstly summarizes the teaching management system at ho

5、me and abroad at present research situation,and describe the Jiaxing college certificate renewal exam management system development purpose and meaning.Secondly introduces the development of the structure of the system a

6、nd methods, and the disadvantages of the analysis, and introduces some of the main use of technology. Then the requirement analysis, system design and database design. Finally demonstrates login module, st</p><

7、;p>  Key words:Certificate Renewal;Management System;JSP;MVC</p><p><b>  目 錄</b></p><p><b>  1 緒論1</b></p><p>  1.1 A大學(xué)結(jié)業(yè)換證考試管理系統(tǒng)的研制背景1</p>&l

8、t;p>  1.1.1 國(guó)內(nèi)外教學(xué)管理系統(tǒng)研究現(xiàn)狀1</p><p>  1.1.2 目的與意義2</p><p>  1.2 結(jié)業(yè)換證考試管理系統(tǒng)概述4</p><p>  2 相關(guān)理論與技術(shù)簡(jiǎn)介6</p><p>  2.1 B/S結(jié)構(gòu)6</p><p>  2.1.1 B/S三層結(jié)構(gòu)

9、6</p><p>  2.1.2 B/S模式的優(yōu)點(diǎn)和缺點(diǎn)6</p><p>  2.1.3 B/S結(jié)構(gòu)軟件的優(yōu)勢(shì)與劣勢(shì)6</p><p>  2.2 MVC架構(gòu)7</p><p>  2.2.1 MVC簡(jiǎn)介8</p><p>  2.2.2 MVC設(shè)計(jì)思想8</p><p>

10、;  2.3.3 MVC的優(yōu)點(diǎn)10</p><p>  2.3.4 MVC的不足10</p><p>  2.4 主要技術(shù)簡(jiǎn)介11</p><p>  2.4.1 JSP 簡(jiǎn)介11</p><p>  2.4.2 JavaBean12</p><p>  2.4.3 JDBC13</p&g

11、t;<p>  2.5 ORACLE數(shù)據(jù)庫13</p><p>  3 需求分析15</p><p>  3.1 需求分析15</p><p>  3.1.1 結(jié)業(yè)換證考試管理系統(tǒng)的基本情況和特點(diǎn)15</p><p>  3.1.2 用戶需求分析:15</p><p>  3.1.3

12、 功能需求分析15</p><p>  4 系統(tǒng)設(shè)計(jì)17</p><p>  4.1 系統(tǒng)功能設(shè)計(jì)17</p><p>  4.1.1 學(xué)生頁面功能設(shè)計(jì)17</p><p>  4.1.2 錄入管理員頁面功能設(shè)計(jì)17</p><p>  4.1.3 管理員頁面功能設(shè)計(jì)17</p>&

13、lt;p>  4.1.4 表格組件的設(shè)計(jì)思路17</p><p>  4.2 數(shù)據(jù)庫設(shè)計(jì)18</p><p>  5 A大學(xué)結(jié)業(yè)換證考試管理系統(tǒng)的實(shí)現(xiàn)21</p><p>  5.1 啟動(dòng)A大學(xué)結(jié)業(yè)換證考試管理系統(tǒng)21</p><p>  5.1.1 學(xué)生功能21</p><p>  5.1.

14、1.1 個(gè)人信息21</p><p>  5.1.1.2 考試報(bào)名功能22</p><p>  5.1.1.3 考試信息查詢22</p><p>  5.1.1.4 成績(jī)查詢功能22</p><p>  5.1.2 錄入管理員22</p><p>  5.1.3 管理員界面22</p>

15、;<p>  5.1.3.1 學(xué)生管理23</p><p>  5.1.3.2 學(xué)院專業(yè)管理23</p><p>  5.1.3.3 考試信息設(shè)置24</p><p>  5.1,3,4 信息統(tǒng)計(jì)功能24</p><p><b>  6 結(jié)論25</b></p><p

16、>  致謝錯(cuò)誤!未定義書簽。</p><p><b>  參考文獻(xiàn)26</b></p><p><b>  1 緒論</b></p><p>  1.1 A大學(xué)結(jié)業(yè)換證考試管理系統(tǒng)的研制背景</p><p>  1.1.1 國(guó)內(nèi)外教學(xué)管理系統(tǒng)研究現(xiàn)狀</p><p

17、>  目前國(guó)外在教學(xué)管理軟件的設(shè)計(jì)和開發(fā)方面處于領(lǐng)先地位,不論是在開發(fā)的方法上還的使用率上都很成功。雖然我們的教育改革正與國(guó)際化接軌,但我們的教育制度與國(guó)外有著很大差別。直接拿來是不適用的。國(guó)內(nèi)類似的教學(xué)管理軟件很多,例如科利華公司發(fā)行的csc教學(xué)管理軟件(中小學(xué))、國(guó)家教委推薦發(fā)行的全國(guó)成人高校學(xué)籍管理軟件、還有一些計(jì)算機(jī)公司開發(fā)的管理軟件等等。這些軟件也都存在一些問題,一是它們從通用的角度來出發(fā),不一定完全適用于某些單位的特殊

18、性,二是針對(duì)性不強(qiáng)而且軟件維護(hù)不好,出現(xiàn)錯(cuò)誤不能及時(shí)修復(fù)等。</p><p>  1948年美國(guó)數(shù)學(xué)家諾伯特·維納(N·Wiener)創(chuàng)立了“關(guān)于在動(dòng)物和機(jī)器中控制和通訊的科學(xué)”,他將其命名為“控制論”。在控制論產(chǎn)生后的幾十年時(shí)間里,它迅速發(fā)展</p><p>  并滲透到了人類活動(dòng)的各個(gè)領(lǐng)域。所謂控制,就是指在一定環(huán)境中,一個(gè)系統(tǒng)通過一定方式駕馭或支配另一個(gè)系統(tǒng)做合目

19、的運(yùn)動(dòng)的行為及過程。翻控制作為科學(xué)的概念,它也指人們根據(jù)給定的條件和預(yù)訂的目的,改變和創(chuàng)造條件,使事物沿著可能性空間內(nèi)確定的方向或狀態(tài)發(fā)展。由各種控制要素構(gòu)成的整體,我們稱之為控制系統(tǒng),如圖1.1.1-1。</p><p><b>  圖1.1.1-1。</b></p><p>  施控系統(tǒng)、受控系統(tǒng)和控制環(huán)境以及它們之間的輸入、輸出和反饋等要素是控制系統(tǒng)的重要組成部

20、分,也是控制論的重要概念。具體到高校學(xué)生管理系統(tǒng)中,施控系統(tǒng)是指上級(jí)學(xué)生管理者(部門);受控系統(tǒng)是指下級(jí)學(xué)生管理者(部門)和全體學(xué)生;施控系統(tǒng)向受控系統(tǒng)輸入各種控制信息,而受控系統(tǒng)則據(jù)此產(chǎn)生輸出;同時(shí)各控制要素都受到學(xué)生管理環(huán)境的干擾。</p><p>  根據(jù)輸入、輸出和反饋的不同,我們一般可以將控制系統(tǒng)分為開環(huán)控制系統(tǒng)、閉環(huán)控制系統(tǒng)和混合控制系統(tǒng),各種控制系統(tǒng)有著各自不同的特色和功能,圈對(duì)控制系統(tǒng)的類型學(xué)劃分

21、可以為我們考察和評(píng)價(jià)各種管理模式提供依據(jù)和參考。</p><p>  要實(shí)現(xiàn)信息傳遞的通暢和實(shí)施控制的有效,就必須具備以下條件:</p><p>  (1)要有切實(shí)可行的管理計(jì)劃。在管理學(xué)中,管理被定義為:計(jì)劃、組織、指揮、協(xié)調(diào)和控制。計(jì)劃是管理的首要因素,因此,在運(yùn)用控制技術(shù)或設(shè)計(jì)控制系統(tǒng)之前,必須要有計(jì)劃。這個(gè)條件在實(shí)際操作中有兩層意思。首先,控制是以計(jì)劃為根據(jù)的。計(jì)劃越明確、全面和周

22、密,控制工作的效果也就越好;其次,一切控制方法首先就是計(jì)劃工作的方法。在制定高校學(xué)生管理計(jì)劃時(shí),除了要考慮學(xué)生管理的目的、任務(wù)和內(nèi)容,還要考慮作為管理對(duì)象的學(xué)生的生活經(jīng)歷、社會(huì)背景和性格心理的差異性。因此,高校學(xué)生管理計(jì)劃的制訂應(yīng)以培養(yǎng)學(xué)生成才為目標(biāo),從實(shí)際出發(fā),根據(jù)不同層次學(xué)生的需要設(shè)計(jì)不同的管理方式,強(qiáng)調(diào)“以生為本”的服務(wù)型管理理念。</p><p>  (2)要有專門的監(jiān)督、評(píng)估和反饋機(jī)構(gòu)??刂七^程是信息轉(zhuǎn)

23、換與反饋的過程??刂频哪康氖且獙?duì)實(shí)施目標(biāo)或計(jì)劃的活動(dòng)進(jìn)行計(jì)量,發(fā)現(xiàn)偏差并采取糾正措施,確保被控對(duì)象保持正常的運(yùn)行狀態(tài)。由于控制活動(dòng)由人來執(zhí)行,因此,在控制過程中必須明確目標(biāo)發(fā)生的偏差及其責(zé)任人或單位。如果沒有專門的監(jiān)督、評(píng)估和反饋機(jī)構(gòu),就可能會(huì)發(fā)生過程失控。在實(shí)際操作中,監(jiān)督機(jī)構(gòu)越是健全,控制工作的效果就越好。</p><p>  (3)保證管理過程的客觀性和靈活性。在控制過程中,無論是施控還是受控,最終的完成者

24、都是人本身,控制者往往會(huì)帶有主觀的因素。但是,如果控制者能夠定期地檢查過去擬定的標(biāo)準(zhǔn),并且根據(jù)現(xiàn)實(shí)變化的要求對(duì)其進(jìn)行及時(shí)整改,那么控制者就能夠客觀地去執(zhí)行。因此,有效的控制必須建立在客觀、準(zhǔn)確和適當(dāng)?shù)臉?biāo)準(zhǔn)之上,其中客觀的控制標(biāo)準(zhǔn)可以是定量的也可以是定性的。在管理控制過程中除了要有客觀的控制標(biāo)準(zhǔn),還要具備一定的靈活性,以便在出現(xiàn)失常的情況下都能保持對(duì)控制對(duì)象的有效控制。</p><p>  (4)及時(shí)糾正管理過程中

25、出現(xiàn)的偏差。要對(duì)一個(gè)系統(tǒng)進(jìn)行有效的控制,及時(shí)的反饋是非常重要的。在管理的控制過程中,應(yīng)該及時(shí)、準(zhǔn)確地揭示偏差出現(xiàn)的原因,并且采取有效措施給予糾正。因此,各層次管理人員都應(yīng)通過觀察、調(diào)查、談話等方式,了解管理中出現(xiàn)的問題,對(duì)問題認(rèn)真分析并及時(shí)提出有針對(duì)性的整改方案,采取多種方式及時(shí)準(zhǔn)確地反饋給管理決策者。</p><p>  1.1.2 目的與意義</p><p>  目前我國(guó)高校教學(xué)管理

26、信息系統(tǒng)的建設(shè)開始向網(wǎng)絡(luò)化發(fā)展,但與發(fā)達(dá)國(guó)家相比、與信息化的進(jìn)程相比還存在很大差距。我國(guó)高校教學(xué)管理系統(tǒng)雖然很普遍,但發(fā)展很不平衡。我國(guó)高校教學(xué)管理軟件大多數(shù)處于單機(jī)應(yīng)用水平,沒有形成網(wǎng)絡(luò),從總體上講,目前我國(guó)高校教學(xué)管理發(fā)展處于初級(jí)階段。我們開發(fā)的高校教學(xué)管理信息系統(tǒng)實(shí)現(xiàn)了信息資源的共享,提高了辦公效率。當(dāng)然網(wǎng)站還需進(jìn)一步完善,在條件成熟時(shí)可進(jìn)一步改進(jìn)成動(dòng)態(tài)、交互式、高效率的網(wǎng)站。</p><p>  數(shù)字網(wǎng)絡(luò)

27、技術(shù)作為一種新型的信息傳播和人際交往的工具,正日益改變高校學(xué)生的生活、學(xué)習(xí)、交往方式和娛樂方式等。目前高校輔導(dǎo)員、班主任等學(xué)生管理工作者的管理工作,大部分是采用手工方式或是OFFICE組件完成,管理的效率較低,學(xué)生的信息也不便與更新、查詢和分析。長(zhǎng)期以來,學(xué)校的學(xué)生管理工作都是繁重的,隨著學(xué)校建設(shè)的發(fā)展,學(xué)生信息不斷增多,管理這些龐大的信息非常困難,這些巨大的工作量給老師和學(xué)校工作人員形成了一定的壓力。有時(shí)不得不靠增加人力、物力來進(jìn)行學(xué)

28、生管理工作。</p><p>  通過WEB實(shí)現(xiàn)教學(xué)管理的網(wǎng)絡(luò)化是教學(xué)管理辦公自動(dòng)化的發(fā)展趨勢(shì),基于B/S結(jié)構(gòu)的教務(wù)辦公自動(dòng)化系統(tǒng)利用INTERNET實(shí)現(xiàn)教師、學(xué)生和教務(wù)管理員的交互,實(shí)現(xiàn)數(shù)據(jù)的收集、處理和發(fā)布,從而讓學(xué)生方便的從網(wǎng)上選課。</p><p>  JSP技術(shù)使網(wǎng)頁開發(fā)設(shè)計(jì)者能夠快速開發(fā)出基于現(xiàn)有商務(wù)系統(tǒng)的動(dòng)態(tài)網(wǎng)頁,作為Java的一部分,JSP技術(shù)使得在獨(dú)立的平臺(tái)上那些基于We

29、b的應(yīng)用軟件能夠得到迅速發(fā)展,為創(chuàng)建顯示動(dòng)態(tài)生成內(nèi)容的web頁面提供了一個(gè)簡(jiǎn)潔而快速的方法。JSP技術(shù)的設(shè)計(jì)目的使得構(gòu)造基于Web的應(yīng)用程序更加容易和快捷,而這些應(yīng)用程序能夠與各種web服務(wù)器、應(yīng)用服務(wù)器、瀏覽器和開發(fā)工具共同工作。它在代碼執(zhí)行效率、代碼可移植性及組件的應(yīng)用上均優(yōu)越于它</p><p>  的動(dòng)態(tài)頁面技術(shù),因此發(fā)展前景十分寬廣。</p><p>  目前,Web應(yīng)用程序開發(fā)

30、一般采用微軟的.NET架構(gòu)和SUN的J2EE架構(gòu),這兩種架構(gòu)各有其優(yōu)缺點(diǎn)。綜合考慮系統(tǒng)結(jié)構(gòu)、開發(fā)周期、可擴(kuò)充性、可重用性和可維護(hù)性等方面的因素,采用符合MVC(Model—ViewController)的開發(fā)模式,用J2EE構(gòu)建通用Web信息系統(tǒng)框架是較為合適的選擇。</p><p>  自從web2.0的誕生以來,JavaScript一直炙手可熱,加之AJAX的大行其道,時(shí)至今日,JavaScript技術(shù)已被推

31、到極致。它被應(yīng)用在各種B/S架構(gòu)的項(xiàng)目中、網(wǎng)站開發(fā)中,甚至一些嵌入式設(shè)備中。當(dāng)服務(wù)器需要重新繪制整個(gè)屏幕時(shí),通常需要等待很長(zhǎng)的時(shí)間看結(jié)果,更不用說Web應(yīng)用中發(fā)生了多少次視覺重繪閃爍或其他情況。這些通常都是用戶不喜歡的。他們也不喜歡看到出問題的時(shí)候,輸入的所有東西都丟了,而這是經(jīng)典模型的常見問題。而AJAX正好可以解決這個(gè)問題。</p><p>  由于目前越來越多的大學(xué)生因?yàn)楦鞣N原因不能及時(shí)畢業(yè),急需一個(gè)系統(tǒng)來

32、管理那些需要換證考試的學(xué)生。因?yàn)楫厴I(yè)后學(xué)生聯(lián)系方式可能經(jīng)常會(huì)發(fā)生變動(dòng),學(xué)校需實(shí)時(shí)掌握學(xué)生聯(lián)系方式,而且為了方便學(xué)生補(bǔ)考報(bào)名,最便捷的方式是采用網(wǎng)上報(bào)名,考試即使在家里也可以準(zhǔn)時(shí)報(bào)名。學(xué)校需要經(jīng)常發(fā)布一些信息,也不必每次挨個(gè)通知所有學(xué)生。結(jié)業(yè)換證考試管理系統(tǒng)開發(fā)使用面向?qū)ο蟮能浖こ谭椒?。面向?qū)ο筌浖こ谭椒ǖ某霭l(fā)點(diǎn)和基本原則,是盡可能模擬人類習(xí)慣的思維方式,使開發(fā)軟件的方法與過程盡可能接近人類認(rèn)識(shí)世界解決問題的方法與過程,也就是使描述問

33、題的問題空間(也稱為問題域)與實(shí)現(xiàn)解法的空間(也稱為求解域)在結(jié)構(gòu)上盡可能一致,因此,這樣的程序易于理解和維護(hù)。</p><p>  1.2 結(jié)業(yè)換證考試管理系統(tǒng)概述</p><p>  MIS(管理信息系統(tǒng),Management Information System)是一個(gè)由人、計(jì)算機(jī)及其他外圍設(shè)備等組成的能進(jìn)行信息的收集、傳遞、存貯、加工、維護(hù)和使用的系統(tǒng)。它是一門新興的科學(xué),其主要

34、任務(wù)是最大限度地利用現(xiàn)代計(jì)算機(jī)及網(wǎng)絡(luò)通訊技術(shù)加強(qiáng)企業(yè)的信息管理,通過對(duì)企業(yè)擁有的人力、物力、財(cái)力、設(shè)備、技術(shù)等資源的調(diào)查了解,建立正確的數(shù)據(jù),對(duì)其進(jìn)行加工處理并編制成各種信息資料及時(shí)提供給管理人員,以便其進(jìn)行正確的決策,不斷提高企業(yè)的管理水平和經(jīng)濟(jì)效益。高校教務(wù)管理系統(tǒng)區(qū)別于其他MIS系統(tǒng)的幾個(gè)主要特點(diǎn)有:</p><p> ?。?)目標(biāo)性:教務(wù)管理活動(dòng)負(fù)有組織教學(xué)、培養(yǎng)人才的責(zé)任,其培養(yǎng)目標(biāo)是教務(wù)管理的首要問題

35、。</p><p>  (2)科學(xué)性:教務(wù)管理工作是一項(xiàng)科學(xué)性很強(qiáng)的工作,必須以科學(xué)的理論為指導(dǎo)。</p><p> ?。?)民主性:教務(wù)管理工作是一項(xiàng)集體創(chuàng)造性勞動(dòng),靠少數(shù)人的努力是不可能做好的, 必須充分調(diào)動(dòng)廣大教職工的積極性、主動(dòng)性和創(chuàng)造性。</p><p> ?。?)規(guī)范性:建立健全各項(xiàng)規(guī)章制度,是教務(wù)工作的一項(xiàng)基本建設(shè),是教學(xué)工作有序開展的前提條件。<

36、;/p><p> ?。?)效益性:即是教育效益,包括社會(huì)效益和經(jīng)濟(jì)效益兩個(gè)方面。</p><p> ?。?)多序列性:高校已形成多層次、多渠道、多規(guī)格的辦學(xué)模式。</p><p>  正是因?yàn)榫哂辛艘陨蠋讉€(gè)特點(diǎn),高校的教務(wù)管理系統(tǒng)增加了開發(fā)適合普通高校的教務(wù)管理系統(tǒng)的難度。真正完善的教務(wù)管理系統(tǒng)不僅要在開發(fā)中考慮到以上幾個(gè)特點(diǎn),還要加入本校的辦學(xué)風(fēng)格和特色,使其能體現(xiàn)優(yōu)

37、良的教務(wù)管理水平和方式以及教學(xué)制度。</p><p>  高校教務(wù)管理系統(tǒng)要實(shí)現(xiàn)教學(xué)科研進(jìn)度的同步管理、學(xué)生成績(jī)管理、教師管理、課程管理、教學(xué)質(zhì)量評(píng)估管理,還有重要信息發(fā)布管理以便充分發(fā)揮系統(tǒng)集成化功效。</p><p>  結(jié)業(yè)換證考試管理系統(tǒng)同樣以目標(biāo)性、科學(xué)性、民主性、規(guī)范性、效益性、多序列性為特點(diǎn),開發(fā)參照高校教務(wù)管理系統(tǒng)的開發(fā),主要實(shí)現(xiàn)學(xué)生的信息、成績(jī)、課程管理,重要信息發(fā)布管理

38、等.</p><p>  2 相關(guān)理論與技術(shù)簡(jiǎn)介</p><p>  2.1 B/S結(jié)構(gòu)</p><p>  B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。</p><p>  2.1.1 B/S三層結(jié)構(gòu)</p><p>

39、<b>  1.表示層</b></p><p>  即用戶界面層,它處理所有的信息表現(xiàn)和用戶的交互行為。</p><p><b>  業(yè)務(wù)邏輯層</b></p><p>  控制所有應(yīng)用處理過程和業(yè)務(wù)規(guī)則。它封裟了對(duì)數(shù)據(jù)庫對(duì)象(表、視圖、存儲(chǔ)過程)的操作,通過.NET的OLEDBNET數(shù)據(jù)庫提供程序與數(shù)據(jù)源連接。接收客戶端

40、請(qǐng)求,調(diào)用業(yè)務(wù)對(duì)象的方法進(jìn)行業(yè)務(wù)邏輯處理。業(yè)務(wù)對(duì)象與數(shù)據(jù)源交互,進(jìn)行查詢和存取。</p><p><b>  數(shù)據(jù)源層</b></p><p>  為業(yè)務(wù)邏輯層數(shù)據(jù)訪問提供數(shù)據(jù)源。</p><p>  2.1.2 B/S模式的優(yōu)點(diǎn)和缺點(diǎn)</p><p><b>  B/S結(jié)構(gòu)的優(yōu)點(diǎn):</b><

41、;/p><p>  1.具有分布性特點(diǎn),可以隨時(shí)隨地進(jìn)行查詢、瀏覽等業(yè)務(wù)處理。</p><p>  2.業(yè)務(wù)擴(kuò)展簡(jiǎn)單方便,通過增加網(wǎng)頁即可增加服務(wù)器功能。</p><p>  3.維護(hù)簡(jiǎn)單方便,只需要改變網(wǎng)頁,即可實(shí)現(xiàn)所有用戶的同步更新。</p><p>  4.開發(fā)簡(jiǎn)單,共享性強(qiáng)</p><p>  B/S 模式的缺點(diǎn):

42、</p><p>  1.個(gè)性化特點(diǎn)明顯降低,無法實(shí)現(xiàn)具有個(gè)性化的功能要求。</p><p>  2.操作是以鼠標(biāo)為最基本的操作方式,無法滿足快速操作的要求。</p><p>  3.頁面動(dòng)態(tài)刷新,響應(yīng)速度明顯降低。</p><p>  4.功能弱化,難以實(shí)現(xiàn)傳統(tǒng)模式下的特殊功能要求。</p><p>  2.1.3

43、 B/S結(jié)構(gòu)軟件的優(yōu)勢(shì)與劣勢(shì)</p><p><b>  1.維護(hù)和升級(jí)方式</b></p><p>  目前,軟件系統(tǒng)的改進(jìn)和升級(jí)越來越頻繁,C/S系統(tǒng)的各部分模塊中有一部分改變,就要關(guān)聯(lián)到其它模塊的變動(dòng),使系統(tǒng)升級(jí)成本比較大。B/S與C/S處理模式相比,則大大簡(jiǎn)化了客戶端,只要客戶端機(jī)器能上網(wǎng)就可以。對(duì)于B/S而言,開發(fā)、維護(hù)等幾乎所有工作也都集中在服務(wù)器端,當(dāng)企

44、業(yè)對(duì)網(wǎng)絡(luò)應(yīng)用進(jìn)行升級(jí)時(shí),只需更新服務(wù)器端的軟件就可以,這減輕了異地用戶系統(tǒng)維護(hù)與升級(jí)的成本。如果客戶端的軟件系統(tǒng)升級(jí)比較頻繁,那么B/S架構(gòu)的產(chǎn)品優(yōu)勢(shì)明顯——所有的 升級(jí)操作只需要針對(duì)服務(wù)器進(jìn)行,這對(duì)那些點(diǎn)多面廣的應(yīng)用是很有價(jià)值的,例如一些招聘網(wǎng)站就需要采用B/S模式,客戶端分散,且應(yīng)用簡(jiǎn)單,只需要進(jìn)行簡(jiǎn)單的瀏覽和少量信息的錄入。</p><p><b>  2.系統(tǒng)的性能 </b><

45、/p><p>  在系統(tǒng)的性能方面,B/S占有優(yōu)勢(shì)的是其異地瀏覽和信息采集的靈活性。任何時(shí)間、任何地點(diǎn)、任何系統(tǒng),只要可以使用瀏覽器上網(wǎng),就可以使用B/S系統(tǒng)的終端。不過,采用B/S結(jié)構(gòu),客戶端只能完成瀏覽、查詢、數(shù)據(jù)輸入等簡(jiǎn)單功能,絕大部分工作由服務(wù)器承擔(dān),這使得服務(wù)器的負(fù)擔(dān)很重。采用C/S結(jié)構(gòu)時(shí),客戶端和服務(wù)器端都能夠處理任務(wù),這雖然對(duì)客戶機(jī)的要求較高,但因此可以減輕服務(wù)器的壓力。而且,由于客戶端使用瀏覽器,使得

46、網(wǎng)上發(fā)布的信息必須是以HTML格式為主,其它格式文件多半是以附件的形式存放。而HTML格式文件(也就是Web頁面)不便于編輯修改,給文件管理帶來了許多不便。比如說很多人每天上“新浪”網(wǎng),只要安裝了瀏覽器就可以了,并不需要了解“新浪”的服務(wù)器用的是什么操作系統(tǒng),而事實(shí)上大部分網(wǎng)站確實(shí)沒有使用windows操作系統(tǒng),但用戶的電腦本身安裝的大部分是windows操作系統(tǒng)。</p><p><b>  3.系統(tǒng)

47、的開發(fā)</b></p><p>  C/S結(jié)構(gòu)是建立在中間件產(chǎn)品基礎(chǔ)之上的,要求應(yīng)用開發(fā)者自己去處理事務(wù)管理、消息隊(duì)列、數(shù)據(jù)的復(fù)制和同步、通信安全等系統(tǒng)級(jí)的問題。這對(duì)應(yīng)用開發(fā)者提出了較高的要求,而且迫使應(yīng)用開發(fā)者投入很多精力來解決應(yīng)用程序以外的問題。這使得應(yīng)用程序的維護(hù)、移植和互操作變得復(fù)雜。如果客戶端是在不同的操作系統(tǒng)上,C/S結(jié)構(gòu)的軟件需要開發(fā)不同版本的客戶端軟件。但是,與B/S結(jié)構(gòu)相比,C/S技

48、術(shù)發(fā)展歷史更為“悠久”。從技術(shù)成熟度及軟件設(shè)計(jì)、開發(fā)人員的掌握水平來看,C/S技術(shù)應(yīng)是更成熟、更可靠的。</p><p>  學(xué)生管理系統(tǒng)作為一個(gè)多部門、多用戶、需要常常升級(jí)的系統(tǒng)采用B/S三層結(jié)構(gòu)有著C/S二層結(jié)構(gòu)無法比擬的優(yōu)勢(shì)。三層結(jié)構(gòu)通過將整個(gè)系統(tǒng)分為不同的邏輯塊,大大降低了系統(tǒng)開發(fā)和維護(hù)的成本,大大提高了系統(tǒng)模塊的復(fù)用性,縮短了開發(fā)周期,降低了維護(hù)費(fèi)用。其次,系統(tǒng)的擴(kuò)展性大大增強(qiáng)。</p>

49、<p>  2.2 MVC架構(gòu)</p><p>  MVC架構(gòu)是"Model-View-Controller"的縮寫,中文翻譯為"模型-視圖-控制器"。MVC應(yīng)用程序總是由這三個(gè)部分組成。Event(事件)導(dǎo)致Controller改變Model或View,或者同時(shí)改變兩者。只要Controller改變了Models的數(shù)據(jù)或者屬性,所有依賴的View都會(huì)自動(dòng)更新。

50、類似的,只要Controller改變了View,View會(huì)從潛在的Model中獲取數(shù)據(jù)來刷新自己。</p><p>  2.2.1 MVC簡(jiǎn)介</p><p>  MVC架構(gòu)是一個(gè)復(fù)雜的架構(gòu),其實(shí)現(xiàn)也顯得非常復(fù)雜。但是,我們已經(jīng)總結(jié)出了很多可靠的設(shè)計(jì)模式,多種設(shè)計(jì)模式結(jié)合在一起,使MVC架構(gòu)的實(shí)現(xiàn)變得相對(duì)簡(jiǎn)單易行。Views可以看作一棵樹,顯然可以用Composite Pattern來實(shí)

51、現(xiàn)。Views和Models之間的關(guān)系可以用Observer Pattern體現(xiàn)。Controller控制Views的顯示,可以用Strategy Pattern實(shí)現(xiàn)。Model通常是一個(gè)調(diào)停者,可采用Mediator Pattern來實(shí)現(xiàn)?,F(xiàn)在讓我們來了解一下MVC三個(gè)部分在J2EE架構(gòu)中處于什么位置,這樣有助于我們理解MVC架構(gòu)的實(shí)現(xiàn)。MVC與J2EE架構(gòu)的對(duì)應(yīng)關(guān)系是:View處于Web Tier或者說是Client Tier,通常

52、是JSP/Servlet,即頁面顯示部分。Controller也處于Web Tier,通常用Servlet來實(shí)現(xiàn),即頁面顯示的邏輯部分實(shí)現(xiàn)。Model處于Middle Tier,通常用服務(wù)端的javaBean或者EJB實(shí)現(xiàn)。</p><p>  2.2.2 MVC設(shè)計(jì)思想</p><p>  MVC英文即Model-View-Controller,即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照M

53、odel、View、Controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成三個(gè)層——模型層、視圖層、控制層。</p><p>  視圖(View)代表用戶交互界面,對(duì)于Web應(yīng)用來說,可以概括為HTML界面,但有可能為XHTML、XML和MVC模式</p><p>  Applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。一個(gè)應(yīng)用可能有很多不同的視圖,MVC設(shè)計(jì)模式對(duì)于視圖的

54、處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請(qǐng)求,而不包括在視圖上的業(yè)務(wù)流程的處理。業(yè)務(wù)流程的處理交予模型(Model)處理。比如一個(gè)訂單的視圖只接受來自模型的數(shù)據(jù)并顯示給用戶,以及將用戶界面的輸入數(shù)據(jù)和請(qǐng)求傳遞給控制和模型。</p><p>  模型(Model):就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過程對(duì)其它層來說是黑箱操作,模型接受視圖請(qǐng)求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)可

55、以說是MVC最主要的核心。目前流行的EJB模型就是一個(gè)典型的應(yīng)用例子,它從應(yīng)用技術(shù)實(shí)現(xiàn)的角度對(duì)模型做了進(jìn)一步的劃分,以便充分利用現(xiàn)有的組件,但它不能作為應(yīng)用設(shè)計(jì)模型的框架。它僅僅告訴你按這種模型設(shè)計(jì)就可以利用某些技術(shù)組件,從而減少了技術(shù)上的困難。對(duì)一個(gè)開發(fā)者來說,就可以專注于業(yè)務(wù)模型的設(shè)計(jì)。MVC設(shè)計(jì)模式告訴我們,把應(yīng)用的模型按一定的規(guī)則抽取出來,抽取的層次很重要,這也是判斷開發(fā)人員是否優(yōu)秀的設(shè)計(jì)依據(jù)。抽象與具體不能隔得太遠(yuǎn),也不能太近

56、。MVC并沒有提供模型的設(shè)計(jì)方法,而只告訴你應(yīng)該組織管理這些模型,以便于模型的重構(gòu)和提高重用性。我們可以用對(duì)象編程來做比喻,MVC定義了一個(gè)頂級(jí)類,告訴它的子類你只能做這些,但沒法限制你能做這些。這點(diǎn)對(duì)編程的開發(fā)人員非常重要。業(yè)務(wù)模型還有一個(gè)很重要的模型那就是數(shù)據(jù)模型。數(shù)據(jù)模型主要指實(shí)體對(duì)象的數(shù)據(jù)保存(持續(xù)化)。比如將一張訂單保存到數(shù)據(jù)庫,從數(shù)據(jù)庫獲取訂單。我們可以將這個(gè)模型單獨(dú)列出,所有</p><p>  控

57、制(Controller)可以理解為從用戶接收請(qǐng)求, 將模型與視圖匹配在一起,共同完成用戶的請(qǐng)求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個(gè)分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請(qǐng)求??刂茖硬⒉蛔鋈魏蔚臄?shù)據(jù)處理。例如,用戶點(diǎn)擊一個(gè)連接,控制層接受請(qǐng)求后, 并不處理業(yè)務(wù)信息,它只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶。因此,一個(gè)模型可能對(duì)應(yīng)多個(gè)視圖,一個(gè)視圖可能對(duì)應(yīng)多個(gè)模型

58、。模型、視圖與控制器的分離,使得一個(gè)模型可以具有多個(gè)顯示視圖。如果用戶通過某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此,無論何時(shí)發(fā)生了何種數(shù)據(jù)變化,控制器都會(huì)將變化通知所有的視圖,導(dǎo)致顯示的更新。這實(shí)際上是一種模型的變化-傳播機(jī)制。模型、視圖、控制器三者之間的關(guān)系和各自的主要功能,如圖2.2.2-1所示。</p><p><b>  圖2.2.2-1</b

59、></p><p>  2.3.3 MVC的優(yōu)點(diǎn)</p><p>  大部分用過程語言比如ASP、PHP開發(fā)出來的Web應(yīng)用,初始的開發(fā)模板就是混合層的數(shù)據(jù)編程。例如,直接向數(shù)據(jù)庫發(fā)送請(qǐng)求并用HTML顯示,開發(fā)速度往往比較快,但由于數(shù)據(jù)頁面的分離不是很直接,因而很難體現(xiàn)出業(yè)務(wù)模型的樣子或者模型的重用性。產(chǎn)品設(shè)計(jì)彈性力度很小,很難滿足用戶的變化性需求。MVC要求對(duì)應(yīng)用分層,雖然要花費(fèi)

60、額外的工作,但產(chǎn)品的結(jié)構(gòu)清晰,產(chǎn)品的應(yīng)用通過模型可以得到更好地體現(xiàn)。</p><p>  首先,最重要的是應(yīng)該有多個(gè)視圖對(duì)應(yīng)一個(gè)模型的能力。在目前用戶需求的快速變化下,可能有多種方式訪問應(yīng)用的要求。例如,訂單模型可能有本系統(tǒng)的訂單,也有網(wǎng)上訂單,或者其他系統(tǒng)的訂單,但對(duì)于訂單的處理都是一樣,也就是說訂單的處理是一致的。按MVC設(shè)計(jì)模式,一個(gè)訂單模型以及多個(gè)視圖即可解決問題。這樣減少了代碼的復(fù)制,即減少了代碼的維護(hù)

61、量,一旦模型發(fā)生改變,也易于維護(hù)。其次,由于模型返回的數(shù)據(jù)不帶任何顯示格式,因而這些模型也可直接應(yīng)用于接口的使用。</p><p>  再次,由于一個(gè)應(yīng)用被分離為三層,因此有時(shí)改變其中的一層就能滿足應(yīng)用的改變。一個(gè)應(yīng)用的業(yè)務(wù)流程或者業(yè)務(wù)規(guī)則的改變只需改動(dòng)MVC的模型層。</p><p>  控制層的概念也很有效,由于它把不同的模型和不同的視圖組合在一起完成不同的請(qǐng)求,因此,控制層可以說是包

62、含了用戶請(qǐng)求權(quán)限的概念。</p><p>  最后,它還有利于軟件工程化管理。由于不同的層各司其職,每一層不同的應(yīng)用具有某些相同的特征,有利于通過工程化、工具化產(chǎn)生管理程序代碼。</p><p>  2.3.4 MVC的不足</p><p>  MVC的不足體現(xiàn)在以下幾個(gè)方面:</p><p>  增加了系統(tǒng)結(jié)構(gòu)和實(shí)現(xiàn)的復(fù)雜性。對(duì)于簡(jiǎn)單的界

63、面,嚴(yán)格遵循MVC,使模型、視圖與控制器分離,會(huì)增加結(jié)構(gòu)的復(fù)雜性,并可能產(chǎn)生過多的更新操作,降低運(yùn)行效率。</p><p>  (2)視圖與控制器間的過于緊密的連接。視圖與控制器是相互分離,但確實(shí)聯(lián)系緊密的部件,視圖沒有控制器的存在,其應(yīng)用是很有限的,反之亦然,這樣就妨礙了他們的獨(dú)立重用。</p><p>  (3)視圖對(duì)模型數(shù)據(jù)的低效率訪問。依據(jù)模型操作接口的不同,視圖可能需要多次調(diào)用才

64、能獲得足夠的顯示數(shù)據(jù)。對(duì)未變化數(shù)據(jù)的不必要的頻繁訪問,也將損害操作性能。</p><p>  (4)目前,一般高級(jí)的界面工具或構(gòu)造器不支持MVC架構(gòu)。改造這些工具以適應(yīng)MVC需要和建立分離的部件的代價(jià)是很高的,從而造成使用MVC的困難。</p><p>  2.4 主要技術(shù)簡(jiǎn)介</p><p>  2.4.1 JSP 簡(jiǎn)介</p><p>

65、;  JSP的全稱是Java Server Page,是由Sun公司推出的動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。它也提供了在HTML代碼中混合程序代碼,由語言引擎進(jìn)行解釋執(zhí)行的能力。嵌入JSP中的是成熟強(qiáng)大的Java代碼,客戶端請(qǐng)求JSP頁面時(shí),代碼被首先轉(zhuǎn)換成Java源文件,再編譯成支持HTTP,F(xiàn)TP等網(wǎng)絡(luò)協(xié)議的CIass文件(即ServIet),并由Java虛擬機(jī)執(zhí)行。這種編譯操作僅在對(duì)JSP頁面的第一次請(qǐng)求時(shí)發(fā)生,雖然首次調(diào)用需要幾秒的編譯加載時(shí)間

66、,但后續(xù)請(qǐng)求只需調(diào)用服務(wù)器端緩存的Servlet就可以了,比每次請(qǐng)求都要解釋執(zhí)行的ASP代碼要快。</p><p>  JSP的執(zhí)行過程如圖2.4.1-1所示。</p><p><b>  圖2.4.1-1</b></p><p>  JSP技術(shù)可以讓W(xué)eb開發(fā)人員和設(shè)計(jì)人員非常容易地創(chuàng)建和維護(hù)動(dòng)態(tài)網(wǎng)頁,特別是目前的商業(yè)系統(tǒng)。作為Java技術(shù)的

67、一部分,JSP能夠快速開發(fā)出基于Web,獨(dú)立于平臺(tái)的應(yīng)用程序。JSP把用戶界面從系統(tǒng)內(nèi)容中分離開來,使得設(shè)計(jì)人員能夠在不改變底層動(dòng)態(tài)內(nèi)容的酊提下改變整個(gè)網(wǎng)頁布局。</p><p>  一個(gè)JSP網(wǎng)頁就是在HTML網(wǎng)頁中包含了能夠生成動(dòng)態(tài)內(nèi)容的可執(zhí)行應(yīng)用程序代碼。此應(yīng)用程序可能包含JavaBean,JDBC對(duì)象、Enterprice JavaBean(EJB)和Remote Method Invocation(RM

68、l)對(duì)象,所有的部分都可以非常容易的從JSP網(wǎng)頁上訪問到。使用JSP技術(shù),Web頁面設(shè)計(jì)人員可以使用HTML或者XML標(biāo)識(shí)來設(shè)計(jì)和格式化最終頁面。使用JSP標(biāo)識(shí)(tag)或者小腳本(Scriptlet)來生成頁面上的動(dòng)態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。</p><p>  在JSP網(wǎng)頁中,要把用戶界面和應(yīng)用程序分開可以考慮在網(wǎng)頁設(shè)計(jì)人員和開

69、發(fā)人員之間執(zhí)行一個(gè)非常方便的授權(quán)任務(wù)。它也允許開發(fā)人員去建立靈活的代碼,從而非常容易的進(jìn)行更新和重復(fù)利用。由于JSP網(wǎng)頁能夠根據(jù)需要自動(dòng)進(jìn)行編譯,Web設(shè)計(jì)人員無須重新編譯應(yīng)用程序邏輯就可以改變表述代碼。這也使得JSP與Java Servlet(它是JavaseverPages功能的擴(kuò)展)相比成為一種可以更靈活生成動(dòng)態(tài)Web內(nèi)容的方法。</p><p>  JSP的優(yōu)缺點(diǎn)優(yōu)點(diǎn):</p><p&

70、gt;  ①write once,Run any where(一次編寫,隨處運(yùn)行):</p><p> ?、谙到y(tǒng)的多平臺(tái)支持;</p><p><b>  ③強(qiáng)大的可伸縮性;</b></p><p> ?、芏鄻踊凸δ軓?qiáng)大的開發(fā)工具支持;</p><p> ?、菘梢愿鶕?jù)工程的需要,從兩種模型中挑選合適的模型。</p

71、><p><b>  缺點(diǎn):</b></p><p> ?、贋榱丝缙脚_(tái)、極度的伸縮能力,增加了產(chǎn)品的復(fù)雜性;</p><p> ?、诘谝淮尉幾g運(yùn)行對(duì)于使用者來說真是一場(chǎng)噩夢(mèng),速度太慢;</p><p> ?、嵋?yàn)閷ⅰ邦悺背qv內(nèi)存,內(nèi)存消耗大,同時(shí)還要存儲(chǔ)一系列的.Java和.cIass文件及對(duì)應(yīng)的版本文件;</p>

72、;<p> ?、芎?jiǎn)單的任務(wù)很難,非Java設(shè)計(jì)者無法執(zhí)行這些任務(wù);</p><p> ?、莺苋菀子捎诓渴鹨粋€(gè)帶有錯(cuò)誤的JSP頁面而無意中破壞網(wǎng)站中的某個(gè)頁面(或多個(gè)頁面)。</p><p>  2.4.2 JavaBean</p><p>  在Java中間件的體系結(jié)構(gòu)中,JavaBeans是圍繞著業(yè)務(wù)邏輯而設(shè)計(jì)的。一組業(yè)務(wù)邏輯被封裝在一個(gè)JavaB

73、ean中,它的對(duì)外接口供JSP調(diào)用。</p><p>  (1)什么是真正的JavaBean? 在很多軟件開發(fā)人員看來,JavaBean是一些相關(guān)類的集合,類與類之間調(diào)用方法,對(duì)外在方法調(diào)用接口,這種集合就是JavaBean。其實(shí)這只是表面化的理解。JavaBean是描述Java的軟件組件模型,類似于Microsoft的COM組件概念。在Java模型中,通過JavaBean可以無限擴(kuò)充Java程序的功能,通過Ja

74、vaBean的組合可以快速的生成新的應(yīng)用程序。對(duì)于程序員來說,最好的一點(diǎn)就是Javagean可以實(shí)現(xiàn)代碼的重復(fù)利用,另外對(duì)于</p><p>  程序的易維護(hù)性等等也具有很重大的意義。</p><p>  JavaBean是~個(gè)滿足JavaBeans規(guī)范的Java類,通常定義了一個(gè)現(xiàn)實(shí)世界的事物或者概念。一個(gè)JavaBean的主要特征包括屬性,方法和事件。通常,在一個(gè)支持JavaBeans

75、規(guī)范的開發(fā)環(huán)境中,可以可視地操作JavaBean,也可以使用JavaBean構(gòu)造出新的JavaBean。另外,JavaBean的優(yōu)勢(shì)還在于Java帶來的可移植性。</p><p>  JavaBean傳統(tǒng)的應(yīng)用在于可視化的領(lǐng)域,如圳T下的應(yīng)用。自從JSP誕生后,JavaBean更多的應(yīng)用在了非可視化領(lǐng)域,在服務(wù)器端應(yīng)用方面表現(xiàn)出來越來越強(qiáng)的生命力。我們主要討論的是非可視化的JavaBean。由上述論述可知,Jav

76、aBean具有以下特點(diǎn):可以實(shí)現(xiàn)代碼的重復(fù)利用;易于編寫、易于維護(hù)、易于使用;可以在任何安裝了Java運(yùn)行環(huán)境的平臺(tái)上使用,</p><p><b>  而不需要重新編譯。</b></p><p>  (2)非可視化的JavaBean JavaBean分為可視組件和非可視組件。在JSP第2蘋相關(guān)理論和技術(shù)簡(jiǎn)介中圭要使用的是非可視組件。對(duì)于非可視組件,我們不必去設(shè)計(jì)它的

77、外觀,主要關(guān)心它的屬性和方法。非可視化的JavaBean,顧名思義就是沒有GUI界面的JavaBean。在JSP程序中常用來封閉事務(wù)邏輯,數(shù)據(jù)庫操作等等,可以很好地實(shí)現(xiàn)業(yè)務(wù)邏輯和前臺(tái)程序(如dSP文件)的分離,使得系統(tǒng)具有更多的健壯性和靈活性。</p><p>  2.4.3 JDBC</p><p>  JDBC是Java DataBase Connectivity的縮寫。JDBC規(guī)范

78、使Java程序可以通過統(tǒng)一標(biāo)準(zhǔn)規(guī)范的JDBC API來與不同的數(shù)據(jù)庫通信。JDBC規(guī)范一經(jīng)發(fā)布,很快就成為Java訪問數(shù)據(jù)庫的標(biāo)準(zhǔn)。JDBC是JAVA訪問數(shù)據(jù)庫的基石,其它持久化技術(shù)如JDO,hibernate等都是以JDBC為基礎(chǔ),提供更為上層的接口。</p><p>  JDBO的接口包括兩個(gè)層次。一個(gè)是面向程序開發(fā)人員的JDBC API。另外一個(gè)是底層的JDBC Dr iver API。JDBC API是一

79、組支持SQL語句的抽象的Java接口,在JDBC API中使用SOL語句可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的連接和相關(guān)的操作。這組API中最重要的接口包括:java.sql.DriverManager,java.sql.Connection,java.sqlStatement,java.sql.ResultSet。JDBC Driver API則是提供給數(shù)據(jù)庫驅(qū)動(dòng)程序開發(fā)商的一組接口。目前,所有的主流數(shù)據(jù)庫產(chǎn)品都推出了符合JDBC規(guī)范的數(shù)據(jù)庫驅(qū)動(dòng)程序。&

80、lt;/p><p>  在數(shù)據(jù)持久層中,直接調(diào)用JDBC API來實(shí)現(xiàn)數(shù)據(jù)持久層在一些規(guī)模較小、業(yè)務(wù)邏輯較簡(jiǎn)單的應(yīng)用中的確比較方便,但在企業(yè)級(jí)的應(yīng)用中,直接使用JDBC來實(shí)現(xiàn)對(duì)象持久化會(huì)產(chǎn)生許多問題:①直接調(diào)用JDBC API會(huì)使JSP或者Servlet中混雜大量的SOL語句,代碼可讀性差且難以維護(hù)。②由于代碼中無法使用面向?qū)ο笤瓌t來存儲(chǔ)數(shù)據(jù),開發(fā)人員必須將對(duì)象屬性映射為數(shù)據(jù)庫表中的某個(gè)字段或某些字段,這會(huì)帶來很大的

81、工作量。</p><p>  考慮到結(jié)業(yè)換證考試管理系統(tǒng)的規(guī)模,該系統(tǒng)還是選擇直接調(diào)用JDBC API來實(shí)現(xiàn)數(shù)據(jù)持久層。</p><p>  2.5 ORACLE數(shù)據(jù)庫</p><p>  ORACLE數(shù)據(jù)庫環(huán)境是世界上最流行的數(shù)據(jù)庫平臺(tái)之一,它可在100多種硬件平臺(tái)上運(yùn)行(包括微機(jī)、工作站、小型機(jī)、中型機(jī)和大型機(jī)),支持很多種操作系統(tǒng)。用戶的ORACLE應(yīng)用可方

82、便地從一種計(jì)算機(jī)配置移至另一種計(jì)算機(jī)配置上。ORACLE的分布式結(jié)構(gòu)可將數(shù)據(jù)和應(yīng)用駐留在多臺(tái)計(jì)算機(jī)上,而相互間的通信是透明的。2001年8月ORACLE又推出了新一代Internet電子商務(wù)基礎(chǔ)架構(gòu)ORACLE9i,這個(gè)由ORACLE9i數(shù)據(jù)庫、ORACLE9i應(yīng)用服務(wù)器和ORACLE9i開發(fā)工具包組成的新一代電子商務(wù)基礎(chǔ)架構(gòu),具有完整性、集成性和簡(jiǎn)單性等顯著特點(diǎn),為用戶能夠以最經(jīng)濟(jì)有效的方式開發(fā)和部署Internet電子商務(wù)應(yīng)用提供了

83、包括數(shù)據(jù)庫、應(yīng)用服務(wù)器、開發(fā)工具、內(nèi)容工具和管理工具等最完整的功能支持。ORACLE數(shù)據(jù)庫技術(shù)具有以下五個(gè)突出的特點(diǎn):</p><p>  支持大數(shù)據(jù)庫、多用戶的高性能的事務(wù)處理。</p><p>  ORACLE支持最大數(shù)據(jù)庫,其大小可到幾百千兆,可充分利用硬件設(shè)備。ORACLE支持大量用戶同時(shí)在同一數(shù)據(jù)上執(zhí)行各種數(shù)據(jù)應(yīng)用,并使數(shù)據(jù)爭(zhēng)用最小,保證數(shù)據(jù)一致性。系統(tǒng)維護(hù)具有高的性能,ORAC

84、LE每天可連續(xù)24小時(shí)工作,正常的系統(tǒng)操作(后備或個(gè)別計(jì)算機(jī)系統(tǒng)故障)不會(huì)中斷數(shù)據(jù)庫的使用。ORACLE可控制數(shù)據(jù)庫數(shù)據(jù)的可用性,可在數(shù)據(jù)庫級(jí)或在子數(shù)據(jù)庫級(jí)上控制。</p><p>  遵守?cái)?shù)據(jù)存取語言、操作系統(tǒng)、用戶接口和網(wǎng)絡(luò)通信協(xié)議的工業(yè)標(biāo)準(zhǔn)。</p><p>  ORACLE是一個(gè)開放系統(tǒng),保護(hù)了用戶的投資。美國(guó)標(biāo)準(zhǔn)化和技術(shù)研究所(KIST)對(duì)ORACLE7 SERVER進(jìn)行檢驗(yàn),1

85、00%與ANSI/ISO SOL89標(biāo)準(zhǔn)的二級(jí)相兼容。</p><p>  實(shí)施安全性控制和完整性控制。</p><p>  ORACLE為限制各監(jiān)控?cái)?shù)據(jù)存取提供系統(tǒng)可靠的安全性。ORACLE實(shí)施數(shù)據(jù)完整性,為可接受的數(shù)據(jù)指定標(biāo)準(zhǔn)。</p><p>  (4)支持分布式數(shù)據(jù)庫和分布處理。</p><p>  ORACLE為了充分利用計(jì)算機(jī)系統(tǒng)

86、和網(wǎng)絡(luò),允許將處理分為數(shù)據(jù)庫服務(wù)器和客戶應(yīng)用程序,所有共享的數(shù)據(jù)管理由數(shù)據(jù)庫管理系統(tǒng)的計(jì)算機(jī)處理,而運(yùn)行數(shù)據(jù)庫應(yīng)用的工作站集中于解釋和顯示數(shù)據(jù)。通過網(wǎng)絡(luò)連接的計(jì)算機(jī)環(huán)境,ORACLE將存放在多臺(tái)計(jì)算機(jī)上的數(shù)據(jù)組合成一個(gè)邏輯數(shù)據(jù)庫,可被全部網(wǎng)絡(luò)用戶存取。分布式系統(tǒng)像集中式數(shù)據(jù)庫一樣具有透明性和數(shù)據(jù)一致性。</p><p>  (5)具有可移植性,可兼容性和可連接性。</p><p>  由于

87、ORACLE軟件可在許多不同的操作系統(tǒng)上運(yùn)行,以致0RAcLE上所開發(fā)的應(yīng)用可移植到任何操作系統(tǒng),只需很少修改或不需修改。ORACLE軟件同工業(yè)標(biāo)準(zhǔn)相兼容,包括許多工業(yè)標(biāo)準(zhǔn)的操作系統(tǒng),所開發(fā)應(yīng)用系統(tǒng)可在任何操作系統(tǒng)上運(yùn)行。</p><p><b>  3 需求分析</b></p><p><b>  3.1 需求分析</b></p>

88、;<p>  3.1.1 結(jié)業(yè)換證考試管理系統(tǒng)的基本情況和特點(diǎn)</p><p>  設(shè)計(jì)與實(shí)現(xiàn)結(jié)業(yè)換證考試管理系統(tǒng)主要目的是:</p><p>  方便未能準(zhǔn)時(shí)畢業(yè)的學(xué)生能夠了解到結(jié)業(yè)換證考試的相關(guān)信息。如(考試報(bào)名時(shí)間,考試時(shí)間、地點(diǎn),考試成績(jī),歷史成績(jī)等等)</p><p>  方便這些學(xué)生提供最新的聯(lián)系方式。</p><p&

89、gt;  方便補(bǔ)考報(bào)名的手續(xù),不用親自回學(xué)校。</p><p>  3.1.2 用戶需求分析:</p><p>  結(jié)業(yè)換證考試管理系統(tǒng)主要用戶分三種:</p><p>  學(xué)生(專指未及時(shí)畢業(yè),需要換證考試的學(xué)生)</p><p>  錄入管理員(專門為補(bǔ)考學(xué)生錄入成績(jī)的管理員)</p><p>  系統(tǒng)管理員(后

90、臺(tái)管理結(jié)業(yè)換證考試管理系統(tǒng)基本信息的管理員)</p><p>  3.1.3 功能需求分析</p><p>  根據(jù)用戶需求分析,為個(gè)用戶設(shè)計(jì)功能模塊。</p><p><b>  學(xué)生功能如下:</b></p><p><b>  管理員功能如下:</b></p><p>

91、;<b>  4 系統(tǒng)設(shè)計(jì)</b></p><p>  4.1 系統(tǒng)功能設(shè)計(jì)</p><p>  4.1.1 學(xué)生頁面功能設(shè)計(jì)</p><p><b>  聯(lián)系方式查看模塊。</b></p><p>  聯(lián)系方式修改模塊:從未修改過--------登陸時(shí)提醒修改;已修改過---------需提

92、交申請(qǐng),經(jīng)過審核才能修改。顯示未通過的申請(qǐng)。</p><p>  考試報(bào)名:選擇未過考試科目(補(bǔ)考)或?qū)W位科目(績(jī)點(diǎn)重修),報(bào)名,交費(fèi),報(bào)名成功。</p><p>  查看通知模塊:顯示在登陸首頁,可查看全部。</p><p>  成績(jī)查詢模塊:查詢未過科目、專業(yè)課、補(bǔ)考成績(jī)(歷史成績(jī)、補(bǔ)考成績(jī)的績(jī)點(diǎn)、學(xué)分以及平均績(jī)點(diǎn))。</p><p> 

93、 考試查詢模塊:查詢已報(bào)科目考試信息(考試科目,考試時(shí)間,考試地點(diǎn),座位號(hào))。</p><p>  4.1.2 錄入管理員頁面功能設(shè)計(jì)</p><p>  成績(jī)錄入模塊:選擇錄入的科目,顯示參加該科目所有人名單,錄入,或修改。</p><p>  發(fā)布通知:發(fā)布通知。</p><p>  4.1.3 管理員頁面功能設(shè)計(jì)</p>

94、<p>  學(xué)生管理模塊:查詢(姓名,學(xué)號(hào),專業(yè),聯(lián)系電話,郵箱,QQ,聯(lián)系地址,所有成績(jī)),審批(學(xué)生提交修改的聯(lián)系方式)。</p><p>  學(xué)院專業(yè)管理模塊:設(shè)定專業(yè)及專業(yè)所屬學(xué)院。</p><p>  考試信息管理模塊:考試報(bào)名時(shí)間設(shè)置,課程信息設(shè)置,座位表設(shè)置,考試信息設(shè)置。</p><p>  通知管理模塊:發(fā)布編輯、修改、刪除通知<

95、;/p><p>  信息統(tǒng)計(jì)模塊:考試報(bào)名名單,統(tǒng)計(jì)可換證名單。</p><p>  4.1.4 表格組件的設(shè)計(jì)思路</p><p>  本系統(tǒng)中,在查詢數(shù)據(jù)庫之后,查詢結(jié)果被存入java.sql包中定義的借口ResultSet的實(shí)例對(duì)象中。也就是說,ResultSet借口包含符合查詢條件記錄的</p><p>  結(jié)果集,這個(gè)結(jié)果集可以看成是

96、一個(gè)二維表格,它由若干行組成,其中有查詢所</p><p>  返回的列標(biāo)題及相應(yīng)的值。通過ResultSet接口提供的一套getXXX方法(XXX表</p><p>  示數(shù)據(jù)類型)就可以訪問當(dāng)前行中不同列的值。</p><p>  現(xiàn)構(gòu)造一個(gè)JavaBean類,定義了一個(gè)方法接收這個(gè)ResultSet對(duì)象,取出二維表格的列名和屬性,對(duì)他們進(jìn)行加工,加上html標(biāo)

97、簽,改裝成html中顯示的格式,并把內(nèi)容封裝在這個(gè)類中的成員中,使html頁面可以用getXXX()方法或得內(nèi)容,直接顯示表格。</p><p>  又根據(jù)了接受對(duì)象的不同,重寫了這個(gè)方法,可以直接獲得表格格式及內(nèi)容,封裝到成員中,html中可以調(diào)用相同的方法或得表格內(nèi)容。</p><p>  同時(shí)在該類中封裝了一些可能伴隨表格一起發(fā)送到頁面的成員,比如本系統(tǒng)中在table外獨(dú)立顯示的信息

98、--平均績(jī)點(diǎn),以及總共需繳費(fèi)用等。</p><p>  4.2 數(shù)據(jù)庫設(shè)計(jì)</p><p>  數(shù)據(jù)庫所有涉及表清單:</p><p>  表名:account(賬號(hào)表)</p><p>  表名:college(學(xué)院表)</p><p>  表名:major(專業(yè)表)</p><p>  表

99、名:student(學(xué)生表)</p><p>  表名:course(課程信息表)</p><p>  表名:score(成績(jī)表)</p><p>  表名notice(通知表)</p><p>  表名:Apply(聯(lián)系方式修改申請(qǐng))</p><p>  表名:Exam_Time(考試時(shí)間表)</p>

100、<p>  表名:exam(考試列表)</p><p>  表名:exam_Seat(考試座位表)</p><p>  表名:Exam_Apply(報(bào)名表)</p><p>  5 A大學(xué)結(jié)業(yè)換證考試管理系統(tǒng)的實(shí)現(xiàn)</p><p>  5.1 啟動(dòng)A大學(xué)結(jié)業(yè)換證考試管理系統(tǒng)</p><p>  打開IE,

101、在地址欄中輸入http://localhost:8080/JXXY56/,出現(xiàn)如下界面</p><p>  本系統(tǒng)在進(jìn)入之前,需要進(jìn)行身份驗(yàn)證,以及選擇登陸身份,以保證數(shù)據(jù)庫的安全性。身分驗(yàn)證之后,進(jìn)入系統(tǒng)。(系統(tǒng)所有代碼見附件)</p><p>  5.1.1 學(xué)生功能</p><p>  當(dāng)在登陸界面選擇學(xué)生身份并登陸成功,會(huì)跳轉(zhuǎn)頁面到如下</p>

102、<p>  登陸后可以看見所有發(fā)布的通知,了解最近動(dòng)態(tài)。以及看到權(quán)限之內(nèi)的功能菜單。</p><p>  5.1.1.1 個(gè)人信息</p><p>  點(diǎn)擊左上角功能菜單個(gè)人信息可以查看及更改自己的聯(lián)系方式,效果如下</p><p>  可以查看到自己的學(xué)號(hào),姓名,專業(yè),email,電話,QQ,地址信息。</p><p>  

103、5.1.1.2 考試報(bào)名功能</p><p>  報(bào)名功能可選擇自己未過課程或者學(xué)位課進(jìn)行報(bào)名,如下圖</p><p>  5.1.1.3 考試信息查詢</p><p>  可以查詢考試時(shí)間,考試地點(diǎn),座位號(hào)等信息,如下圖</p><p>  5.1.1.4 成績(jī)查詢功能</p><p>  可以查詢未過課程成績(jī)

104、,學(xué)位課程成績(jī),以及補(bǔ)考成績(jī)</p><p>  5.1.2 錄入管理員</p><p>  登陸時(shí)選擇錄入管理員身份登陸并成功,將進(jìn)入錄入管理員頁面,圖略</p><p>  錄入管理員只有一個(gè)功能,從所有課程中選擇需要錄入的課程,查詢處所有參加該課程的學(xué)生名單,錄入成績(jī)。</p><p>  5.1.3 管理員界面</p>

105、<p>  登陸時(shí)選擇管理員身分并成功登陸,將跳轉(zhuǎn)以下頁面</p><p>  該界面會(huì)顯示有幾個(gè)學(xué)生在提交過聯(lián)系方式后又更改過聯(lián)系方式,方便獲取學(xué)生最新聯(lián)系方式。</p><p>  5.1.3.1 學(xué)生管理</p><p>  審批功能:能審批通過學(xué)生的聯(lián)系方式修改申請(qǐng),在此之前可以先記錄下來</p><p>  查詢功能

106、 可以按照學(xué)院,專業(yè),或者輸入學(xué)生名(模糊查找)學(xué)生信息</p><p>  點(diǎn)擊學(xué)號(hào)可以查看該學(xué)生全部成績(jī),及平均績(jī)點(diǎn)</p><p>  5.1.3.2 學(xué)院專業(yè)管理</p><p>  學(xué)院管理:可以查看修改全部學(xué)院的信息</p><p>  專業(yè)管理:可以查看修改全部專業(yè)的信息包括所屬學(xué)院</p><p> 

107、 5.1.3.3 考試信息設(shè)置</p><p>  考試報(bào)名時(shí)間設(shè)置:可以新增,更改報(bào)名時(shí)間段</p><p>  還包括課程信息設(shè)置,考試信息設(shè)置(考試時(shí)間,地點(diǎn)),考試座位設(shè)置等功能,圖略</p><p>  5.1,3,4 信息統(tǒng)計(jì)功能</p><p>  考試報(bào)名名單查詢:可以查看各個(gè)考試階段各門課程報(bào)名學(xué)生名單圖略</p&

108、gt;<p>  統(tǒng)計(jì)可換證名單:統(tǒng)計(jì)出所有課程都已通過的名單,點(diǎn)擊學(xué)號(hào)可以查看全部成績(jī),圖如下</p><p><b>  6 結(jié)論</b></p><p>  經(jīng)過一段較長(zhǎng)時(shí)間的設(shè)計(jì)與開發(fā),本系統(tǒng)在多次修改后,基本完成。本系統(tǒng)以B/S結(jié)構(gòu),按照J(rèn)SP+JavaBean+Servlet實(shí)現(xiàn)MVC三層框架技術(shù)架構(gòu),oracle數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ),用ec

109、lipse作為開發(fā)工具進(jìn)行開發(fā)。</p><p>  學(xué)生用戶主要實(shí)現(xiàn)登陸,聯(lián)系方式查看、修改,考試報(bào)名,查看通知,成績(jī)查詢,考試查詢功能;錄入管理員主要實(shí)現(xiàn)登陸,成績(jī)錄入,發(fā)布通知功能;管理員主要實(shí)現(xiàn)學(xué)生管理,</p><p>  學(xué)院專業(yè)管理,考試信息管理,通知管理,信息統(tǒng)計(jì)功能。</p><p>  在完成結(jié)業(yè)換證考試系統(tǒng)過程中遇到過許多問題,比如在頁面中輸入

110、中文存入數(shù)據(jù)庫會(huì)變成亂碼。從網(wǎng)上查詢資料中得出大概的結(jié)論,應(yīng)該是信息傳遞過程中編碼方式不一致,導(dǎo)致存入數(shù)據(jù)庫編程亂碼。而解決方案各不相同,在查閱了眾多信息后,最終找到了解決方法,在servlet中加了個(gè)監(jiān)聽器(Filter),為request和response設(shè)定了編碼方式,成功解決了這個(gè)問題。由于是初次一個(gè)人完成一個(gè)教學(xué)管理系統(tǒng)設(shè)計(jì)與開發(fā),雖然走過很多彎路,但是得到的經(jīng)驗(yàn)卻相當(dāng)寶貴,對(duì)以后的工作有很大幫助。但不得不說的是,由于知識(shí)面有

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論