網(wǎng)上選課系統(tǒng)畢業(yè)論文(含外文翻譯)_第1頁
已閱讀1頁,還剩60頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  隨著計(jì)算機(jī)及互聯(lián)網(wǎng)的普及,網(wǎng)絡(luò)選課系統(tǒng)作為高校信息化的一個(gè)重要組成部分,正逐漸改變著傳統(tǒng)的人工教務(wù)管理選課模式,逐步提高著教務(wù)管理人員以及師生的工作效率。應(yīng)用此系統(tǒng),學(xué)生可以通過網(wǎng)絡(luò)在任意地點(diǎn)、指定的時(shí)間進(jìn)行選課。網(wǎng)絡(luò)選課系統(tǒng)具有無可比擬的優(yōu)勢,如大量數(shù)據(jù)的存儲(chǔ)與查詢,信息的完全公開,而且通過計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)可以做到公平公正,

2、盡量減少錯(cuò)誤。在此背景下,充分利用現(xiàn)有網(wǎng)絡(luò)資源,建立網(wǎng)上選課系統(tǒng)勢在必行。目前的選課系統(tǒng)的實(shí)現(xiàn)方式有很多種,既有C/S結(jié)構(gòu)的,也有B/S結(jié)構(gòu)的,總體來說,基于Web的B/S結(jié)構(gòu)的選課系統(tǒng)是最適合當(dāng)前高校教務(wù)管理需要的,因此是目前的發(fā)展主流。</p><p>  本系統(tǒng)是基于JSP平臺(tái)進(jìn)行開發(fā)的,主要開發(fā)工具是Myeclipse和SQL Server 2008。本系統(tǒng)由學(xué)生選課模塊、教師信息管理模塊、學(xué)生信息管理模

3、塊、課程管理模塊、課程分配模塊、成績錄入模塊、留言板管理模塊等組成。本文通過分析B/S結(jié)構(gòu)的特點(diǎn)并結(jié)合選課的實(shí)際情況,提出了基于瀏覽器/服務(wù)器結(jié)構(gòu)網(wǎng)上選課系統(tǒng)的基本設(shè)計(jì)思想,簡要介紹了系統(tǒng)各功能模塊及數(shù)據(jù)庫的設(shè)計(jì),著重討論了用 MyEclipse技術(shù)和SQL Server 2008開發(fā)網(wǎng)上選課系統(tǒng)時(shí)的數(shù)據(jù)庫訪問技術(shù)和動(dòng)態(tài)網(wǎng)頁制作技術(shù),并給出了部分實(shí)現(xiàn)代碼。通過該系統(tǒng),使學(xué)生可以方便地在校園網(wǎng)上進(jìn)行網(wǎng)上選課。該B/S結(jié)構(gòu)的系統(tǒng)在Windo

4、ws XP系統(tǒng)和MyEclipse平臺(tái)下開發(fā)完成,使用JAVA作為MyEclipse的開發(fā)語言,SQL Server 2008作為數(shù)據(jù)庫。系統(tǒng)有較高的安全性和較好的性能。其中連接數(shù)據(jù)庫的字符串可以隨時(shí)在Hibernate里修改,并經(jīng)過編碼加密,增加了靈活性,保護(hù)了數(shù)據(jù)庫的安全。代碼盡量使用存儲(chǔ)過程和盡量減少數(shù)據(jù)庫連接的打開時(shí)間等手段來提高性能。</p><p>  本文中除了有對(duì)程序的系統(tǒng)分析、總體設(shè)計(jì)、數(shù)據(jù)庫設(shè)

5、計(jì)、功能實(shí)現(xiàn)等主體部分外,在這之前還介紹了與網(wǎng)上選課系統(tǒng)相關(guān)的信息、IIS介紹、IIS與JSP的結(jié)合等的基本內(nèi)容及發(fā)展情況。</p><p>  關(guān)鍵詞:網(wǎng)上選課,B/S結(jié)構(gòu),MyEclipse,數(shù)據(jù)庫管理系統(tǒng)</p><p><b>  ABSTRACT</b></p><p>  With the popularity of compute

6、rs and the Internet,online Network Elective system as a important part of college information.it is gradually changing the traditional of artificial Educational Administration Elective.And also gradually increase the eff

7、iciency of teachers and students.Students could choose courses anywhere anytime via internet by this system.The Network Elective system has an unparalleled advantage,for example,like large amounts of data storage and que

8、ry,disclosure of information,a</p><p>  This system is designed on the base of JSP platform, and I use MyEclipse as the exploit tool and use SQL Server 2008 as database. This system is made up of course sele

9、ction module, teachers info management module, courses info management module, course arrangement module, messages management module, etc.This paper gives the basic design idea of the B/S structure based online course el

10、ect system by analyzing the characteristic of the B/S structure and combining with the actual public elective cou</p><p>  This paper includes the system analysis ,the main designing ,the database designing,

11、 the function designing and , before this , some basic knowledge and present development of the programs mentioned above. </p><p>  Key words: online course elect, B/S structure, MyEclipse, SQL Server 2008,

12、Hibernate</p><p><b>  目錄</b></p><p><b>  引言6</b></p><p>  1.1 開發(fā)背景6</p><p>  1.2 系統(tǒng)構(gòu)架6</p><p>  1.3 系統(tǒng)目標(biāo)6</p><p> 

13、 第二章 選題的目的與意義7</p><p>  2.1國內(nèi)外研發(fā)現(xiàn)狀7</p><p>  2.2課題研究的目的8</p><p>  2.3課題研究的意義8</p><p>  第三章 課題的可行性分析9</p><p>  3.1 課題調(diào)研9</p><p>  3.2 需

14、求分析9</p><p>  3.2可行性分析9</p><p>  3.3系統(tǒng)配置需求10</p><p>  第四章 主要技術(shù)介紹11</p><p>  4.1 J2EE概述11</p><p>  4.2 J2EE的優(yōu)勢11</p><p>  4.3JavaScript介紹

15、12</p><p>  4.4 框架的選擇12</p><p>  4.4.1 Struts2簡介12</p><p>  4.4.2 Hibernate簡介13</p><p>  4.4.3 Spring簡介13</p><p>  第五章 系統(tǒng)開發(fā)工具及容器15</p><p&g

16、t;  5.1 開發(fā)工具15</p><p>  5.2 數(shù)據(jù)庫的選擇15</p><p>  5.2.1 SQL Server 2008 簡介15</p><p>  5.3 JDK版本的選擇16</p><p><b>  5.4 容器16</b></p><p>  5.4.1 T

17、omcat簡介16</p><p>  第六章 網(wǎng)絡(luò)選課系統(tǒng)總體設(shè)計(jì)17</p><p>  6.1 需求分析17</p><p>  6.1.2 系統(tǒng)流程17</p><p>  6.1.3 用UML用例圖描述19</p><p>  6.2系統(tǒng)的分層設(shè)計(jì)20</p><p>  

18、第七章 詳細(xì)設(shè)計(jì)21</p><p>  7.1 數(shù)據(jù)庫21</p><p>  7.1.1 數(shù)據(jù)庫設(shè)計(jì)21</p><p>  7.1.2 數(shù)據(jù)表21</p><p>  7.2 Web層的設(shè)計(jì)23</p><p>  7.2.1 JSP簡介23</p><p>  7.2.2 E

19、xtJS簡介24</p><p>  7.2.3 字符集編碼問題24</p><p>  7.3 EJB層的設(shè)計(jì)24</p><p>  7.3.1 實(shí)體Bean的設(shè)計(jì)24</p><p>  7.3.2 數(shù)據(jù)庫映射與連接26</p><p>  7.4 網(wǎng)絡(luò)選課系統(tǒng)的實(shí)現(xiàn)27</p><

20、;p>  7.4.1 用戶登錄27</p><p>  7.4.2 權(quán)限管理30</p><p>  7.4.3 管理員功能31</p><p>  7.4.4 學(xué)生功能38</p><p>  7.4.5 教師功能42</p><p>  第8章 網(wǎng)絡(luò)選課系統(tǒng)的性能優(yōu)化方案44</p>

21、<p>  8.1 基于軟件的優(yōu)化措施44</p><p>  8.1.1 Tomcat服務(wù)器性能調(diào)優(yōu)44</p><p>  8.1.2 Java虛擬機(jī)性能調(diào)優(yōu)45</p><p>  8.1.3 操作系統(tǒng)性能調(diào)優(yōu)46</p><p>  8.1.4 數(shù)據(jù)庫服務(wù)器性能調(diào)優(yōu)46</p><p> 

22、 8.2基于硬件的優(yōu)化措施47</p><p>  8.2.1服務(wù)器性能優(yōu)化47</p><p>  8.2.2 Web服務(wù)器集群技術(shù)48</p><p>  第9章 系統(tǒng)測試與維護(hù)49</p><p>  9.1 系統(tǒng)測試49</p><p>  9.2 系統(tǒng)實(shí)施中遇到的問題49</p>&

23、lt;p>  第10章 結(jié)論50</p><p><b>  致謝52</b></p><p><b>  附錄53</b></p><p><b>  外文資料原文59</b></p><p><b>  譯文61</b></p&g

24、t;<p><b>  引言</b></p><p>  1.1 開發(fā)背景 </p><p>  隨著計(jì)算機(jī)及互聯(lián)網(wǎng)的普及,傳統(tǒng)的教務(wù)人工管理已經(jīng)很難適應(yīng)新環(huán)境。傳統(tǒng)的選課方式是隨堂報(bào)名,無法預(yù)見上課人數(shù),浪費(fèi)教學(xué)資源。</p><p>  以現(xiàn)代網(wǎng)絡(luò)技術(shù)環(huán)境為依托,將傳統(tǒng)選課模式轉(zhuǎn)換為利用現(xiàn)代網(wǎng)絡(luò)技術(shù)進(jìn)行選課操作和管理的網(wǎng)上

25、選課系統(tǒng)已經(jīng)成為一項(xiàng)重要的改革。</p><p>  現(xiàn)有選課系統(tǒng)存在以下不足:</p><p><b>  系統(tǒng)運(yùn)行不夠穩(wěn)定</b></p><p>  選課系統(tǒng)時(shí)常無法登陸,這顯然是網(wǎng)絡(luò)服務(wù)器的不穩(wěn)定造成的。應(yīng)在發(fā)布前進(jìn)行充分的性能測試。</p><p>  操作復(fù)雜,不夠人性化</p><p&

26、gt;  網(wǎng)上選課應(yīng)滿足操作簡單方便,但現(xiàn)有系統(tǒng)忽略了操作的簡單性,從而導(dǎo)致選課要經(jīng)過多個(gè)步驟。系統(tǒng)界面不友好,不夠人性化。</p><p><b>  系統(tǒng)性能差</b></p><p>  沒有進(jìn)行充分的優(yōu)化,導(dǎo)致在選課高峰期的時(shí)候,大量學(xué)生同時(shí)選課時(shí)經(jīng)常出現(xiàn)登陸和選課速度極慢,甚至出現(xiàn)服務(wù)器死機(jī)癱瘓現(xiàn)象,導(dǎo)致某些學(xué)生不能選課</p><p&g

27、t;<b>  1.2 系統(tǒng)構(gòu)架</b></p><p>  本文重點(diǎn)研究基于J2EE的網(wǎng)絡(luò)選課系統(tǒng)。采用了J2EE技術(shù)作為系統(tǒng)構(gòu)架開發(fā)。本系統(tǒng)體現(xiàn)了較為先進(jìn)的設(shè)計(jì)思想,主要有以下幾點(diǎn):</p><p>  系統(tǒng)采用較為流行的J2EE技術(shù)體系,具有良好的可伸縮性和跨平臺(tái)性,為日后功能的擴(kuò)展提供了良好的升級(jí)空間。</p><p>  采用MVC模

28、式,將系統(tǒng)的表示層、邏輯層和web表示層分離,便于日后系統(tǒng)的開發(fā)與維護(hù)。</p><p>  應(yīng)用連接池和線程池,使系統(tǒng)可同時(shí)容納大量用戶。</p><p><b>  1.3 系統(tǒng)目標(biāo)</b></p><p>  本課題設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于網(wǎng)絡(luò)平臺(tái)的選課系統(tǒng),具體的實(shí)現(xiàn)目標(biāo)是:</p><p><b>  教

29、務(wù)管理模塊</b></p><p>  教務(wù)管理員通過該模塊,可以發(fā)布教學(xué)公告、發(fā)布選課信息、發(fā)布課程信息、制定系統(tǒng)開放時(shí)間、發(fā)放學(xué)生及教師密碼等。</p><p><b>  學(xué)生選課模塊</b></p><p>  學(xué)生通過該模塊,可以查詢開課信息、查看公告、選課、退課、修改密碼、修改個(gè)人信息等。</p><

30、p>  第二章 選題的目的與意義</p><p>  2.1國內(nèi)外研發(fā)現(xiàn)狀</p><p>  我國高校都實(shí)行了學(xué)分制,它的核心是允許學(xué)生自由選課,即把學(xué)習(xí)的自主權(quán)交給學(xué)生。在這里,學(xué)生選課時(shí)的制約因素比較復(fù)雜,工作量也很大,而且往往需要在較短的時(shí)間內(nèi)完成。運(yùn)用計(jì)算機(jī)輔助選課,即能實(shí)時(shí)地對(duì)大量選課數(shù)據(jù)進(jìn)行檢驗(yàn)和統(tǒng)計(jì),十分方便地輸出選課結(jié)果,同時(shí)也避免了人工處理時(shí)容易產(chǎn)生的錯(cuò)誤。在高

31、等學(xué)校的教務(wù)管理工作中,課程表的編排是一項(xiàng)十分復(fù)雜、棘手的工作。在排課過程中,除了滿足大量的制約條件以外,還必須解決許多沖突與矛盾,例如:兩位教師不能同一時(shí)間在同一班級(jí)上課、一位教師不能在同一時(shí)間上兩門課等等。利用計(jì)算機(jī)輔助進(jìn)行課表編排工作,既提高了排課工作的科學(xué)性,又可大大減輕管理人員的工作強(qiáng)度,提高工作效率,從而使學(xué)校教務(wù)管理現(xiàn)代化邁上了一個(gè)新臺(tái)階。</p><p>  國外的教學(xué)科研軟件與國內(nèi)相比開發(fā)的早而

32、且比較成熟。早在七十年代末,美國就建成了NSFNET(國家科學(xué)基金網(wǎng)),其課題的申報(bào)及課題的進(jìn)展情況匯報(bào)都在網(wǎng)上進(jìn)行。其網(wǎng)上教學(xué)教務(wù)管理系統(tǒng)也十分完善,世界各地的學(xué)生可以坐在家里通過互聯(lián)網(wǎng)完成入學(xué)報(bào)名、選課、考試、畢業(yè)論文、取得學(xué)位這一學(xué)習(xí)生活的全過程。目前,國際上已具規(guī)模的遠(yuǎn)程教育學(xué)校就有數(shù)百所之多,網(wǎng)上教育正在各地發(fā)揮著巨大的作用,為世界各國培養(yǎng)出大批人才。所有這些都表明,基于Internet的校園網(wǎng)的應(yīng)用已深入到校園內(nèi)的各個(gè)方面。

33、</p><p>  隨著教育產(chǎn)業(yè)化進(jìn)程的逐步推進(jìn),各大高校紛紛合并,走上了強(qiáng)強(qiáng)聯(lián)合、資源共享的路子。高校的規(guī)模不斷擴(kuò)大,如何合理利用教學(xué)資源,有效地加強(qiáng)教學(xué)管理工作,已成為各大高校十分關(guān)注的問題。目前,在教學(xué)管理方面,特別是學(xué)生學(xué)籍管理、成績管理等方面都普遍采用了網(wǎng)絡(luò)化管理技術(shù),而對(duì)于畢業(yè)設(shè)計(jì)這一重要的教學(xué)環(huán)節(jié),和其他教學(xué)課程一樣,普遍采用傳統(tǒng)的單機(jī)管理模式,主要進(jìn)行畢業(yè)設(shè)計(jì)基本信息和成績的輸入輸出工作,而對(duì)于

34、畢業(yè)設(shè)計(jì)的選題、畢業(yè)設(shè)計(jì)過程中管理,以及畢業(yè)設(shè)計(jì)效果的統(tǒng)計(jì)分析等工作還沒有納入管理系統(tǒng)中。目前隨著教學(xué)改革的不斷深入,學(xué)校辦學(xué)規(guī)模的不斷擴(kuò)大,如何有效地增強(qiáng)教學(xué)管理水平,充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性,提高畢業(yè)設(shè)計(jì)的教學(xué)質(zhì)量是各高校教學(xué)管理工作的重點(diǎn)之一。</p><p>  目前,畢業(yè)設(shè)計(jì)的雙向選擇和畢業(yè)設(shè)計(jì)過程的動(dòng)態(tài)跟蹤與交流己成為畢業(yè)設(shè)計(jì)環(huán)節(jié)教學(xué)改革的重要內(nèi)容仁,英國諾丁漢大學(xué)開發(fā)了專門的管理系統(tǒng)實(shí)現(xiàn)了畢業(yè)設(shè)計(jì)的

35、網(wǎng)上雙向選擇,國內(nèi)南開大學(xué)已開發(fā)了畢業(yè)設(shè)計(jì)網(wǎng)站,為畢業(yè)設(shè)計(jì)的選題、師生交流和畢業(yè)設(shè)計(jì)成績的管理提供了良好的環(huán)境,取得了良好的效果。</p><p>  2.2課題研究的目的</p><p>  (一)掌握采用Internet的TCP/IP協(xié)議,以B/S方式,JAVA編程技術(shù),多媒體技術(shù)。</p><p> ?。ǘ┱莆找环N多任務(wù)多用戶操作系統(tǒng)</p>

36、<p>  (三)JSP的動(dòng)態(tài)網(wǎng)頁和SQL Server 2008大型的數(shù)據(jù)庫。</p><p> ?。ㄋ模W(xué)會(huì)使用某種開發(fā)工具,如:MyEclipse等。</p><p> ?。ㄎ澹┡囵B(yǎng)相互合作的團(tuán)隊(duì)精神。</p><p>  2.3課題研究的意義 </p><p>  學(xué)生選課系統(tǒng)是一個(gè)學(xué)校不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校的決

37、策者和管理者來說都至關(guān)重要,所以學(xué)生選課系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來了不少的困難。</p><p>  隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。&

38、lt;/p><p>  作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)選課信息進(jìn)行管理,有著手工管理所無法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長、成本低等。這些優(yōu)點(diǎn)能夠極大地提高人事勞資管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。</p><p>  因此,開發(fā)這樣一套軟件成為很有必要的事情,在下面的各章中將以開發(fā)一套學(xué)生選課系統(tǒng)為例,談?wù)勂溟_發(fā)過

39、程和所涉及到的問題及解決方法。</p><p>  本文中所做的主要工作如下:</p><p>  (一)介紹了個(gè)性化頁面的背景及生氣了sql server 2008+MyEclipse+Hibernat系統(tǒng)的一般原理;(二) 闡述整個(gè)個(gè)性化頁面生成系統(tǒng)的系統(tǒng)結(jié)構(gòu)及工作原理;分析了系統(tǒng)實(shí)現(xiàn)中的特殊性、難點(diǎn)和重點(diǎn)。(三) 設(shè)計(jì)實(shí)現(xiàn)用戶管理、課程管理、選課信息錄入管理、新生信息錄入管理、課

40、程的瀏覽和查找、學(xué)生查找等JSP頁面 。(四) 分析并解決實(shí)現(xiàn)中的若干技術(shù)問題。 (五) 建立完整的網(wǎng)上選課,進(jìn)行測試并分析結(jié)果。</p><p>  第三章 課題的可行性分析</p><p><b>  3.1 課題調(diào)研</b></p><p> ?。?)與實(shí)踐活動(dòng)和相關(guān)的文件和資料由教師提供。</p><p>

41、 ?。?)本課題要求學(xué)生有熟練的ASP.NET開發(fā)能力,有較強(qiáng)的自學(xué)能力以及一定的關(guān)系數(shù)據(jù)庫理論開發(fā)功底。</p><p> ?。?)具有對(duì)復(fù)雜表進(jìn)行處理的能力。</p><p> ?。?)具體問題再做詳細(xì)調(diào)查研究并與指導(dǎo)老師面談。</p><p><b>  3.2 需求分析</b></p><p>  學(xué)生選課系統(tǒng)作

42、為一種現(xiàn)代化的教學(xué)技術(shù),以越來越受到人民的重視。是一個(gè)學(xué)校不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來說都至關(guān)重要,所 以學(xué)生選課系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄巍5恢币詠砣藗兪褂脗鹘y(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點(diǎn),如:效率 低、保密性差,另外時(shí)間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來了不少的困難。    </p>&l

43、t;p>  本系統(tǒng)具體有以下功能:</p><p>  ①個(gè)人信息:包括學(xué)生和學(xué)生的個(gè)人資料。</p><p>  ②課程計(jì)劃:計(jì)劃課程的開課時(shí)間,上課地點(diǎn),上課老師等信息。</p><p> ?、酃芾砉δ埽赫n程發(fā)布,修改,刪除。學(xué)生,老師用戶的添加刪除。新聞的發(fā)布和刪除和修改。</p><p> ?、芙處熡脩簦航處熆梢孕薷拿艽a,查看課

44、程和選修自己課程的學(xué)生列表以及查看新聞。</p><p> ?、輰W(xué)生用戶:選修課程,可以取消選擇。</p><p> ?、迼l件查詢:用戶可以查詢自己所需的資料。</p><p><b> ?、?#160;退出系統(tǒng)。</b></p><p><b>  3.2可行性分析</b></p>

45、<p><b>  (一)經(jīng)濟(jì)性</b></p><p>  系統(tǒng)界面友好,操作簡單,系統(tǒng)的配置要求不高,實(shí)現(xiàn)可行,因此經(jīng)濟(jì)可行。該系統(tǒng)可以容易實(shí)現(xiàn)學(xué)生,老師與學(xué)校之間的聯(lián)系,在Internet上實(shí)現(xiàn)完成部分教務(wù)工作,提高辦事效率,和周期。</p><p><b> ?。ǘ┘夹g(shù)性</b></p><p>  隨

46、著互聯(lián)網(wǎng)的蓬勃發(fā)展,越來越多的機(jī)構(gòu)將科研管理與Internet融合到一起,以方便個(gè)高校管理。在這樣一個(gè)社會(huì)背景下,基于Windows和 SQL Server 2008,運(yùn)用先進(jìn)的JSP技術(shù),采用B/S模式開發(fā)的學(xué)生網(wǎng)上選課系統(tǒng),將學(xué)生、老師、管理員、有機(jī)地結(jié)合在一起,有效地提高管理水平和效率。隨著科學(xué)技術(shù)的不 斷提高,計(jì)算機(jī)科學(xué)日漸成熟,基于以上的技術(shù)在現(xiàn)今比較容易實(shí)現(xiàn)。</p><p><b> ?。?/p>

47、三)操作性</b></p><p>  界面設(shè)計(jì)時(shí)充分考慮管理人員的習(xí)慣,使得操作簡單;數(shù)據(jù)錄入迅速、規(guī)范、可靠;統(tǒng)計(jì)準(zhǔn)確;制表靈活;適應(yīng)力強(qiáng);容易擴(kuò)充。</p><p><b>  3.3系統(tǒng)配置需求</b></p><p><b> ?。?)服務(wù)器配置</b></p><p><

48、;b>  硬件平臺(tái):</b></p><p>  CPU:P4 1.8GHz以上;</p><p>  內(nèi)存:256MB以上。</p><p><b>  軟件平臺(tái):</b></p><p>  操作系統(tǒng):Windows 2008 Server;</p><p>  數(shù)據(jù)庫:SQ

49、L Server 2008;</p><p>  開發(fā)工具包:JDK Version 1.6.0_10;</p><p>  JSP 服務(wù)器:Tomcat 6.0;</p><p>  第四章 主要技術(shù)介紹</p><p>  4.1 J2EE概述</p><p>  J2EE(Java 2 Platform Ente

50、rprise Edition)是SUN公司定義的一個(gè)開發(fā)分布式企業(yè)級(jí)應(yīng)用的規(guī)范。它提供了一個(gè)多層次的分布式應(yīng)用模型和一系列開</p><p>  發(fā)技術(shù)規(guī)范,與傳統(tǒng)的互聯(lián)網(wǎng)應(yīng)用程序模型相比有著不可比擬的優(yōu)勢。J2EE技術(shù)是一個(gè)開放的、基于標(biāo)準(zhǔn)的開發(fā)和部署的平臺(tái),用于構(gòu)建N層、基于Web、以服務(wù)端計(jì)算為核心、模塊化的企業(yè)應(yīng)用。J2EE同時(shí)也是所有兼容J2EE標(biāo)準(zhǔn)的應(yīng)用服務(wù)器產(chǎn)品的統(tǒng)一標(biāo)識(shí)。</p>&

51、lt;p>  J2EE是一種利用Java 2平臺(tái)來簡化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復(fù)雜問題的體系結(jié)構(gòu)。J2EE技術(shù)的基礎(chǔ)就是核心Java平臺(tái)或Java 2平臺(tái)的標(biāo)準(zhǔn)版,J2EE不僅鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn),例如"編寫一次、隨處運(yùn)行"的特性,同時(shí)還提供了對(duì) EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技術(shù)的全

52、面支持。其最終目的就是成為一個(gè)能夠使企業(yè)開發(fā)者大幅縮短投放市場時(shí)間的體系結(jié)構(gòu)。</p><p>  J2EE體系結(jié)構(gòu)提供中間層集成框架用來滿足無需太多費(fèi)用而又需要高可用性、高可靠性以及可擴(kuò)展性的應(yīng)用的需求。通過提供統(tǒng)一的開發(fā)平臺(tái),J2EE降低了開發(fā)多層應(yīng)用的費(fèi)用和復(fù)雜性,同時(shí)提供對(duì)現(xiàn)有應(yīng)用程序集成強(qiáng)有力支持,完全支持Enterprise JavaBeans,有良好的向?qū)еС执虬筒渴饝?yīng)用,添加目錄支持,增強(qiáng)了安全

53、機(jī)制,提高了性能。</p><p>  4.2 J2EE的優(yōu)勢</p><p>  J2EE為搭建具有可伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的機(jī)制:</p><p>  保留現(xiàn)存的IT資產(chǎn): 由于企業(yè)必須適應(yīng)新的商業(yè)需求,利用已有的企業(yè)信息系統(tǒng)方面的投資,而不是重新制定全盤方案就變得很重要。由于基于J2EE平臺(tái)的產(chǎn)品幾乎能夠在任何操作系統(tǒng)和硬件配置上運(yùn)行,現(xiàn)

54、有的操作系統(tǒng)和硬件也能被保留使用。 </p><p>  高效的開發(fā): J2EE允許公司把一些通用的、很繁瑣的服務(wù)端任務(wù)交給中間件供應(yīng)商去完成。這樣開發(fā)人員可以集中精力在如何創(chuàng)建商業(yè)邏輯上,相應(yīng)地縮短了開發(fā)時(shí)間。 </p><p>  支持異構(gòu)環(huán)境: J2EE能夠開發(fā)部署在異構(gòu)環(huán)境中的可移植程序?;贘2EE的應(yīng)用程序不依賴任何特定操作系統(tǒng)、中間件、硬件。因此設(shè)計(jì)合理的基于J2EE的程序只

55、需開發(fā)一次就可部署到各種平臺(tái)。這在典型的異構(gòu)企業(yè)計(jì)算環(huán)境中是十分關(guān)鍵的。</p><p>  可伸縮性: 企業(yè)必須要選擇一種服務(wù)器端平臺(tái),這種平臺(tái)應(yīng)能提供極佳的可伸縮性去滿足那些在他們系統(tǒng)上進(jìn)行商業(yè)運(yùn)作的大批新客戶?;贘2EE平臺(tái)的應(yīng)用程序可被部署到各種操作系統(tǒng)上。</p><p>  穩(wěn)定的可用性: 一個(gè)服務(wù)器端平臺(tái)必須能全天候運(yùn)轉(zhuǎn)以滿足公司客戶、合作伙伴的需要。</p>

56、<p>  4.3JavaScript介紹</p><p>  JavaScript 是一種新的描述語言,此語言可以被嵌入 HTML或JSP 的文件之中。通過 JavaScript 可以做到回應(yīng)使用者的需求事件 (如: form 的輸入) 而不用任何的網(wǎng)絡(luò)來回傳輸資料,所以當(dāng)一位使用者輸入一項(xiàng)資料時(shí),它不用經(jīng)過傳給服務(wù)端 (server)處理,再傳回來的過程,而直接可以被客戶端 (client) 的應(yīng)

57、用程序所處理。可以想像成有一個(gè)可執(zhí)行程序在客端上執(zhí)行一樣。</p><p><b>  4.4 框架的選擇</b></p><p>  本系統(tǒng)選用的是當(dāng)下最流行的SSH框架整合搭建,采用Struts2 2.0,Hibernate3.2??梢愿玫耐瓿珊腕w現(xiàn)MVC模式,也可以更好的體現(xiàn)java的面向?qū)ο笏枷爰敖涌诰幊塘?xí)慣。</p><p>  4

58、.4.1 Struts2簡介</p><p>  Struts2 是一個(gè)web應(yīng)用框架。它不是一個(gè)Struts的新的發(fā)布版本,而是一個(gè)全新的框架。Struts2 是第二代基于Model-View-Controller (MVC)模型的web應(yīng)用框架。 Struts2是java企業(yè)級(jí)web應(yīng)用的可擴(kuò)展性的框架。</p><p>  Struts2的體系結(jié)構(gòu)與Struts1的體系結(jié)構(gòu)的差別巨大

59、。Struts2以WebWork為核心,采用攔截器的機(jī)制來處理用戶的請(qǐng)求,這樣的設(shè)計(jì)也使得業(yè)務(wù)邏輯控制器能夠與Servlet API完全脫離開,所以Struts 2可以理解為WebWork的更新產(chǎn)品。</p><p>  4.4.1.1 Struts2結(jié)構(gòu)</p><p>  Struts2的體系與Struts1體系的差別非常大,因?yàn)镾truts2使用了WebWork的設(shè)計(jì)核心,而不是St

60、ruts1的設(shè)計(jì)核心。Struts2中大量使用攔截器來處理用戶的請(qǐng)求,從而允許用戶的業(yè)務(wù)邏輯控制器與Servlet API分離。圖4-2是Struts2的體系結(jié)構(gòu)簡圖。</p><p>  圖4-2 Struts2的體系結(jié)構(gòu)簡圖</p><p>  Struts2框架的大概處理流程如下:</p><p>  (一)瀏覽器發(fā)送一個(gè)請(qǐng)求。 </p><

61、;p> ?。ǘ┖诵目刂破鱂ilterDispatcher根據(jù)請(qǐng)求決定調(diào)用合適的Action。 </p><p> ?。ㄈ¦ebWork的攔截器鏈自動(dòng)對(duì)請(qǐng)求應(yīng)用通用功能,如驗(yàn)證等。 </p><p> ?。ㄋ模┗卣{(diào)Action的execute方法,該execute方法根據(jù)請(qǐng)求的參數(shù)來執(zhí)行一定的操作。 </p><p> ?。ㄎ澹〢ction的execute方

62、法處理結(jié)果信息將被輸出到瀏覽器中,支持多種形式的視圖。</p><p>  4.4.2 Hibernate簡介</p><p>  Hibernate是一種Java語言下的對(duì)象關(guān)系映射解決方案。 它是使用GNU寬通用公共許可證發(fā)行的自由、開源的軟件。它為面向?qū)ο蟮念I(lǐng)域模型到傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的映射,提供了一個(gè)使用方便的框架。</p><p>  它的設(shè)計(jì)目標(biāo)是將軟件

63、開發(fā)人員從大量相同的數(shù)據(jù)持久層相關(guān)編程工作中解放出來。無論是從設(shè)計(jì)草案還是從一個(gè)遺留數(shù)據(jù)庫開始,開發(fā)人員都可以采用Hibernate。</p><p>  Hibernate不僅負(fù)責(zé)從Java類到數(shù)據(jù)庫表的映射(還包括從Java數(shù)據(jù)類型到SQL數(shù)據(jù)類型的映射),還提供了面向?qū)ο蟮臄?shù)據(jù)查詢檢索機(jī)制,從而極大地縮短的手動(dòng)處理SQL和JDBC上的開發(fā)時(shí)間。</p><p>  4.4.3 Spr

64、ing簡介</p><p>  Spring Framework 是一個(gè)開源的Java/Java EE全功能棧(full-stack)的應(yīng)用程序框架。Spring Framework 提供了一個(gè)簡易的開發(fā)方式,這種開發(fā)方式,將避免那些可能致使底層代碼變得繁雜混亂的大量的屬性文件和幫助類。</p><p>  Spring包含的關(guān)鍵特性如下:</p><p>  (一

65、)非侵入式:所謂非侵入式是指Spring框架的API不會(huì)在業(yè)務(wù)邏輯上出現(xiàn),也就是說我們的業(yè)務(wù)邏輯應(yīng)該是純凈的,不能出現(xiàn)與業(yè)務(wù)邏輯無關(guān)的代碼。首先針對(duì)應(yīng)用而言,這樣我們才能將業(yè)務(wù)邏輯從當(dāng)前應(yīng)用中剝離出來,從而在其他的應(yīng)用中實(shí)現(xiàn)復(fù)用;其次針對(duì)框架而言,由于業(yè)務(wù)邏輯中沒有Spring的API,所以業(yè)務(wù)邏輯也可以從Spring框架快速的移植到其他框架。</p><p> ?。ǘ?容器:Spring提供容器功能,容器可

66、以管理對(duì)象的生命周期,對(duì)象與對(duì)象之間的依賴關(guān)系。可以寫一個(gè)配置文件(通常是xml文件),在上面定義對(duì)象的名字,是否是單例,以及設(shè)置與其他對(duì)象的依賴關(guān)系。那么在容器啟動(dòng)之后,這些對(duì)象就被實(shí)例化好了,直接去用就好了,而且依賴關(guān)系也建立好了。</p><p> ?。ㄈ?IOC:控制反轉(zhuǎn),如果以前都是依賴于實(shí)現(xiàn),那么現(xiàn)在反轉(zhuǎn)為依賴于抽象,它的核心思想就是要面向接口編程。</p><p> ?。ㄋ?/p>

67、)依賴注入:建立對(duì)象與對(duì)象之間依賴關(guān)系的實(shí)現(xiàn),包括接口注入、構(gòu)造注入、set注入,在Spring中只支持后兩種</p><p>  (五)AOP:面向方面編程,我們可以把日志、安全、事務(wù)管理等服務(wù)(或功能)理解成一個(gè)“方面”,那么以前這些服務(wù)一直是直接寫在業(yè)務(wù)邏輯的代碼當(dāng)中的,這有兩點(diǎn)不好;首先業(yè)務(wù)邏輯不純凈,其次這些服務(wù)被很多業(yè)務(wù)邏輯反復(fù)使用,完全可以剝離出來做到復(fù)用。那么AOP就是這些問題的解決方案,我們可以

68、把這些服務(wù)剝離出來形成一個(gè)“方面”,以期做到復(fù)用;然后將“方面”動(dòng)態(tài)的插入到業(yè)務(wù)邏輯中讓業(yè)務(wù)邏輯能夠享受到此“方面”的服務(wù)</p><p>  第五章 系統(tǒng)開發(fā)工具及容器</p><p><b>  5.1 開發(fā)工具</b></p><p>  本系統(tǒng)使用的開發(fā)工具,后臺(tái)java代碼編寫使用MyEclipse Europa workbench

69、6.5,前臺(tái)頁面編輯使用DreamWaver 8。</p><p>  5.1.1 MyEclipse簡介</p><p>  MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench ,簡稱MyEclipse)是對(duì)Eclipse IDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐

70、富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。</p><p>  5.1.2 DreamWaver簡介</p><p>  Dreamwaver是美國MACROMEDIA公司(現(xiàn)為Adobe收購)開發(fā)的集網(wǎng)頁制作和管理網(wǎng)站于一身的所見即所得網(wǎng)頁編輯器,它是

71、第一套針對(duì)專業(yè)網(wǎng)頁設(shè)計(jì)師特別發(fā)展的視覺化網(wǎng)頁開發(fā)工具。</p><p>  5.2 數(shù)據(jù)庫的選擇</p><p>  本系統(tǒng)采用 SQL Server 2008版本。</p><p>  5.2.1 SQL Server 2008 簡介</p><p>  SQL Server 2008是至今為止最強(qiáng)大和最全面的SQL Server版本,它的

72、可信任、智能性,高效性,已經(jīng)得到很多用戶的認(rèn)可,應(yīng)用也越來越廣泛。</p><p>  SQL Server 2008的可信任,使得公司可以以很高的安全性、可靠性和可擴(kuò)展性來運(yùn)行他們最關(guān)鍵任務(wù)的應(yīng)用程序。</p><p>  SQL Server 2008的智能性,使得公司可以降低開發(fā)和管理他們的數(shù)據(jù)基礎(chǔ)設(shè)施的時(shí)間和成本。</p><p>  SQL Server

73、2008的高效性,提供了一個(gè)全面的平臺(tái),可以在你的用戶需要的時(shí)候給他發(fā)送觀察和信息。</p><p>  5.3 JDK版本的選擇</p><p>  Java Development Kit (JDK) 是Sun公司針對(duì)Java開發(fā)員的軟件開發(fā)工具包。自從Java推出以來,JDK已經(jīng)成為使用最廣泛的Java SDK(Software development kit)。</p>

74、<p>  本系統(tǒng)采用JDK Version 1.6.0_10版本。</p><p><b>  5.4 容器</b></p><p>  本系統(tǒng)頁面采用JSP,所以對(duì)應(yīng)的容器采用Apache Tomcat 6.0。</p><p>  既然JSP/Servlet,那么它當(dāng)然是不能直接運(yùn)行的,必須把它放到某種運(yùn)行環(huán)境當(dāng)中,它才能發(fā)

75、揮它的作用。這個(gè)環(huán)境就是我們講的"容器"。容器也是 java 程序,它的主要功能除了為Servlet 提供運(yùn)行環(huán)境,還有更重要的,就是提供網(wǎng)絡(luò)傳輸協(xié)議與java 程序?qū)嶓w的相互轉(zhuǎn)換??蛻舳讼蚍?wù)器發(fā)送數(shù)據(jù),遵循的是HTTP 協(xié)議的數(shù)據(jù)格式,服務(wù)器向客戶端發(fā)送數(shù)據(jù)也是遵循HTTP協(xié)議的。在客戶端和服務(wù)器端,可能存在著不同的編程語言編寫的程序,比如java,C++等等。各種語言都有自己用于處理HTTP協(xié)議數(shù)據(jù)的方法(類)

76、,為了使用java提供的各種HTTP處理相關(guān)的類,必須將HTTP協(xié)議下的數(shù)據(jù)做一定的轉(zhuǎn)換,轉(zhuǎn)換成一些java object,這樣才能使用java的方法進(jìn)行數(shù)據(jù)處理。同理,當(dāng)這些處理完成,又需要將這些java object轉(zhuǎn)換回HTTP協(xié)議下的數(shù)據(jù),反饋給客戶端(JSP/Servlet當(dāng)然存在與服務(wù)器端)。JSP/Servlet容器就扮演了完成這個(gè)雙向轉(zhuǎn)換的角色。</p><p>  5.4.1 Tomcat簡介&

77、lt;/p><p>  Tomcat是由Apache軟件基金會(huì)下屬的Jakarta項(xiàng)目開發(fā)的一個(gè)Servlet容器,按照Sun Microsystems提供的技術(shù)規(guī)范,實(shí)現(xiàn)了對(duì)Servlet和JavaServer Page(JSP)的支持,并提供了作為Web服務(wù)器的一些特有功能,如Tomcat管理和控制平臺(tái)、安全域管理和Tomcat閥等。由于Tomcat本身也內(nèi)含了一個(gè)HTTP服務(wù)器,它也可以被視作一個(gè)單獨(dú)的Web服

78、務(wù)器。但是,不能將 Tomcat 和 Apache Web 服務(wù)器混淆,Apache Web Server 是一個(gè)用 C 語言實(shí)現(xiàn)的 HTTP web server;這兩個(gè) HTTP web server 不是捆綁在一起的。Apache Tomcat 包含了一個(gè)配置管理工具,也可以通過編輯 XML 格式的配置文件來進(jìn)行配置。</p><p>  第六章 網(wǎng)絡(luò)選課系統(tǒng)總體設(shè)計(jì)</p><p>

79、;<b>  6.1 需求分析</b></p><p>  6.1.1 系統(tǒng)概要設(shè)計(jì)</p><p><b>  系統(tǒng)概要設(shè)計(jì):</b></p><p><b>  (1)功能模塊設(shè)計(jì)</b></p><p>  管理員模塊:可以發(fā)布公告、發(fā)布選課信息、管理和分配學(xué)生和教師賬號(hào)

80、、審核選課情況、指定系統(tǒng)開放時(shí)間。</p><p>  選課模塊:可以選課、退課。</p><p>  學(xué)生管理模塊:可以查看已選課程、查看課程列表、查看個(gè)人信息等。</p><p>  教師管理模塊:查看自己相關(guān)課程、查看個(gè)人信息。</p><p>  登陸模塊:可以判斷賬號(hào)的合法性和角色/權(quán)限。</p><p>&

81、lt;b>  (2)數(shù)據(jù)庫設(shè)計(jì)</b></p><p>  學(xué)生信息表:包含學(xué)號(hào)、姓名、性別、、昵稱、密碼等基本信息。</p><p>  課程信息表:包含課程號(hào)、課程名等基本信息。</p><p>  教師信息表:包含教師昵稱、真實(shí)姓名、密碼等基本信息。</p><p>  管理員信息表:包含管理員昵稱等其他信息。<

82、/p><p>  權(quán)限表:包含3鐘角色的權(quán)限。</p><p>  選課表:包含選擇的課程號(hào),課程名,任課教師等。</p><p>  關(guān)系表:包含課程與教師之間的多對(duì)多關(guān)系。</p><p>  6.1.2 系統(tǒng)流程</p><p>  本系統(tǒng)的流程用流程圖表示如圖6-1所示:</p><p> 

83、 圖6-1 系統(tǒng)流程圖</p><p>  6.1.3 用UML用例圖描述</p><p>  用例圖用來描述系統(tǒng)與參與者之間的相互作用,也可以說它是從用戶角度出發(fā)對(duì)如何使用系統(tǒng)的描述。</p><p>  角色:角色代表了某一事件發(fā)生的參與者,他用一個(gè)小人表示。在通常的網(wǎng)絡(luò)項(xiàng)目中,角色常被用來代表使用網(wǎng)站的用戶(管理員、用戶等),但角色的作用并不是限于此,它也可以

84、用來代表與系統(tǒng)交互的其他實(shí)體。</p><p>  用例:用例代表系統(tǒng)可以實(shí)現(xiàn)的功能,通常一個(gè)用例代表一組功能,它實(shí)質(zhì)上規(guī)定了系統(tǒng)實(shí)現(xiàn)功能的范圍。在實(shí)現(xiàn)項(xiàng)目開發(fā)過程中,一個(gè)項(xiàng)目中往往涉及很多個(gè)用例,此時(shí)需要將其分解成若干個(gè)子系統(tǒng)實(shí)現(xiàn),以便于理解。在UML中,用例用一個(gè)橢圓表示。</p><p>  用例圖:當(dāng)角色與用例發(fā)生某種關(guān)系時(shí),就可以用一個(gè)圖將它們關(guān)聯(lián)起來,這就是用例圖,角色與用例之

85、間使用一個(gè)帶箭頭的實(shí)線連接,箭頭方向代表使用者與被使用者關(guān)系。</p><p>  本系統(tǒng)有三種身份的用戶,一是管理員,二是學(xué)生,三是教師。用例圖如圖3-2所示:</p><p>  圖3-2 網(wǎng)絡(luò)選課系統(tǒng)UML用例圖</p><p>  6.2系統(tǒng)的分層設(shè)計(jì)</p><p>  本系統(tǒng)編碼采用MVC分層結(jié)構(gòu)設(shè)計(jì)。工程主要分為action包,

86、Dao包和bean包。</p><p>  Sevlect包:主要從JSP中獲取客戶的請(qǐng)求,并且向Hibernate發(fā)送請(qǐng)求,最終獲取數(shù)據(jù)時(shí),在把數(shù)據(jù)返回到JSP頁面上。</p><p>  Dao包:主要放置負(fù)責(zé)與數(shù)據(jù)庫打交道的java類,所有類皆繼承自一個(gè)HibernateDao。該層封裝了數(shù)據(jù)的增、刪、查、改操作。</p><p>  Bean包:主要放置實(shí)體

87、javaBean類,用來表示實(shí)體,并且映射至數(shù)據(jù)庫對(duì)應(yīng)的表,負(fù)責(zé)向view層提供數(shù)據(jù)。</p><p>  另外,所有JSP頁面均放在工程WebRoot下。</p><p><b>  第七章 詳細(xì)設(shè)計(jì)</b></p><p><b>  7.1 數(shù)據(jù)庫</b></p><p>  7.1.1 數(shù)據(jù)

88、庫設(shè)計(jì)</p><p>  一個(gè)軟件產(chǎn)品,數(shù)據(jù)庫設(shè)計(jì)的好壞決定著軟件的開發(fā)維護(hù)和運(yùn)行容易程度。如果把企業(yè)的數(shù)據(jù)比做生命所必需的血液,那么數(shù)據(jù)庫的設(shè)計(jì)就是應(yīng)用中最重要的一部分。整個(gè)系統(tǒng)的操作實(shí)際上就是操作數(shù)據(jù)庫,所以,數(shù)據(jù)庫的設(shè)計(jì)方式?jīng)Q定著系統(tǒng)的好壞。</p><p>  本系統(tǒng)采用SQL Server 2008版本,數(shù)據(jù)庫建表滿足第三范式。</p><p><

89、b>  7.1.2 數(shù)據(jù)表</b></p><p>  本系統(tǒng)一共建立了如表6-1的7張表。</p><p><b>  表6-1</b></p><p>  下面是對(duì)數(shù)據(jù)表字段的設(shè)計(jì):</p><p>  圖6-2 admin表及字段說明圖</p><p>  圖6-3 stu

90、dent表及字段說明</p><p>  圖6-4 teacher表及字段說明</p><p>  圖6-5 course表及字段說明</p><p>  圖6-6 score表及字段說明</p><p>  圖6-7 teacher_course表及字段說明</p><p>  圖6-8 studnet_course

91、表及字段說明</p><p>  7.2 Web層的設(shè)計(jì)</p><p>  這一層主要是作為用戶訪問系統(tǒng)的界面,提供Web網(wǎng)頁服務(wù)器,同時(shí)與后</p><p>  臺(tái)的EJB服務(wù)器連接,將客戶端的請(qǐng)求信息傳遞到業(yè)務(wù)層,同時(shí)將后臺(tái)反饋的信息傳送到客戶端。本系統(tǒng)的表示層采用第2章中介紹的體現(xiàn)MVC設(shè)計(jì)模式的Struts2框架實(shí)現(xiàn)Web層的設(shè)計(jì)。</p>

92、<p>  視圖部分采用JSP頁面顯示,控制器部分交由Struts2的action直接和實(shí)體Bean交互以操作數(shù)據(jù)。</p><p>  7.2.1 JSP簡介</p><p>  JSP(全稱JavaServer Pages)是由Sun Microsystems公司倡導(dǎo)和許多公司參與共同建立的一種使軟件開發(fā)者可以響應(yīng)客戶端請(qǐng)求,而動(dòng)態(tài)生成HTML、XML或其他格式文檔的Web網(wǎng)

93、頁的技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)是以Java語言作為腳本語言的,JSP網(wǎng)頁為整個(gè)服務(wù)器端的Java庫單元提供了一個(gè)接口來服務(wù)于HTTP的應(yīng)用程序。</p><p>  JSP使Java代碼和特定的預(yù)定義動(dòng)作可以嵌入到靜態(tài)頁面中。JSP句法增加了被稱為JSP動(dòng)作的XML標(biāo)簽,它們用來調(diào)用內(nèi)建功能。另外,可以創(chuàng)建JSP標(biāo)簽庫,然后像使用標(biāo)準(zhǔn)HTML或XML標(biāo)簽一樣使用它們。標(biāo)簽庫提供了一種和平臺(tái)無關(guān)的擴(kuò)展服務(wù)器性能的方法。&

94、lt;/p><p>  JSP被JSP編譯器編譯成Java Servlets。一個(gè)JSP編譯器可以把JSP編譯成JAVA代碼寫的servlet然后再由JAVA編譯器來編譯成機(jī)器碼,也可以直接編譯成二進(jìn)制碼。</p><p>  7.2.2 ExtJS簡介</p><p>  ExtJS是一個(gè)Ajax框架,是一個(gè)用javascript寫的,主要用于創(chuàng)建前端用戶界面,是一個(gè)

95、與后臺(tái)技術(shù)無關(guān)的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各種開發(fā)語言開發(fā)的應(yīng)用中。</p><p>  7.2.3 字符集編碼問題</p><p>  由于國際上通用的字符編碼為ISO 8859-1,而本系統(tǒng)卻要大量設(shè)計(jì)中文字符,如果不加以處理,中文字符就會(huì)以亂碼顯示。所以在寫程序的時(shí)候,要統(tǒng)一編碼。在本系統(tǒng)中采用的是GB2312標(biāo)準(zhǔn)。這就涉及到JSP的頁面

96、PageEncoding屬性設(shè)定,后臺(tái)java字符串的處理,容器Tomcat的配置文件Server.XML URIEncoding 屬性設(shè)定,以及SQL Server 2008的字符集設(shè)定等等。</p><p>  7.3 EJB層的設(shè)計(jì)</p><p>  EJB層的功能是由各種EJB組件完成的,具體實(shí)現(xiàn)了業(yè)務(wù)邏輯和實(shí)體數(shù)據(jù),也就是MVC模型的model(模型)部分。在本系統(tǒng)中是由數(shù)據(jù)

97、庫服務(wù)器中的數(shù)據(jù)映象一實(shí)體Bean完成的。</p><p>  7.3.1 實(shí)體Bean的設(shè)計(jì)</p><p>  實(shí)體Bean是根據(jù)數(shù)據(jù)庫之中的表來建立的,其中的相關(guān)屬性/成員變量對(duì)應(yīng)數(shù)據(jù)庫表中的各種字段。以本工程的一個(gè)實(shí)體Bean Student為例,各種操作需要調(diào)用到Student實(shí)體Bean,Student實(shí)體Bean的代碼如下:</p><p>  pac

98、kage com.student.manage.entity;</p><p>  import java.util.HashSet;</p><p>  import java.util.Set;</p><p>  public class Student {</p><p>  private int id;</p>&l

99、t;p>  private String stuNumber;</p><p>  private String name;</p><p>  private String department;</p><p>  private String sex;</p><p>  private String userName;</

100、p><p>  private String password;</p><p>  privaite int version;</p><p>  private Set<Course> courses = new HashSet<Course>();</p><p>  public String getUserNam

101、e() {</p><p>  return userName;</p><p><b>  }</b></p><p>  public void setUserName(String userName) {</p><p>  this.userName = userName;</p><p>

102、;<b>  }</b></p><p>  public String getPassword() {</p><p>  retiurn password;</p><p><b>  }</b></p><p>  public void setPassword(String password

103、) {</p><p>  this.password = password;</p><p><b>  }</b></p><p>  public int getVersion() {</p><p>  return version;</p><p><b>  }</b

104、></p><p>  public void setVersion(int version) {</p><p>  this.version = version;</p><p><b>  }</b></p><p>  puiblici Set<Course> getCourses() {<

105、;/p><p>  return courses;i</p><p><b>  }</b></p><p>  public void setCourses(Set<Course> courses) {</p><p>  this.courses = courses;</p><p>

106、<b>  }</b></p><p>  public int gietId() {</p><p>  return id;</p><p><b>  }</b></p><p>  public void setId(int id) {</p><p>  this.

107、id = id;</p><p><b>  }</b></p><p>  public String getStuNumber() {</p><p>  return stuNumber;</p><p><b>  }</b></p><p>  public voi

108、d setStuNumber(String stuNumber) {</p><p>  this.stuNumber = stuNumber;</p><p><b>  }</b></p><p>  public String getName() {</p><p>  return name;</p>

109、<p><b>  }</b></p><p>  public void setName(String name) {</p><p>  this.name = name;</p><p><b>  }</b></p><p>  ipublic String getDepart

110、ment() {</p><p>  return department;</p><p><b>  }</b></p><p>  public void setDepartment(String department) {</p><p>  this.department = department;</p&

111、gt;<p><b>  }i</b></p><p>  public String getSex() {</p><p>  return sex;</p><p><b>  }</b></p><p>  public void setSex(String sex) {<

112、/p><p>  this.sex = sex;</p><p><b>  }</b></p><p><b>  }</b></p><p>  這是一個(gè)標(biāo)準(zhǔn)的JavaBean,Student類是一個(gè)公共類,屬性為public,有默認(rèn)的空的構(gòu)造方法,成員變量屬性為private的,提供了訪問成員變量

113、的public的get和set方法。由于該類經(jīng)常被用到,所以設(shè)定一個(gè)串行化的值,使該類實(shí)現(xiàn)java.io. Serializable接口。</p><p>  7.3.2 數(shù)據(jù)庫映射與連接</p><p>  傳統(tǒng)的java數(shù)據(jù)庫編程是用JDBC直連數(shù)據(jù)庫,直接操作數(shù)據(jù)與數(shù)據(jù)庫打交道。這種編程方式有一定的局限性,比如課重用性不高,維護(hù)不方便,如果需求需要改變,那整個(gè)代碼也要隨之而改動(dòng)。&l

114、t;/p><p>  本系統(tǒng)使用的是Hibernate將對(duì)象持久化,讓傳統(tǒng)的關(guān)系型數(shù)據(jù)庫與實(shí)體映射成為符合面向?qū)ο缶幊趟枷氲臄?shù)據(jù)處理方式。采用Hibernate,實(shí)體與數(shù)據(jù)庫映射只需要配置相應(yīng)的XML文件即可,方便了許多。</p><p>  現(xiàn)在以本系統(tǒng)采用的連接方式舉例。</p><p>  以下是采用傳統(tǒng)的hibernate.cfg.xml,而不是與Spring整

115、合,配置見附錄4。</p><p>  雖然數(shù)據(jù)庫使用的是SQL Server2008,這里也需要JDBC驅(qū)動(dòng),本系統(tǒng)采用sqljdbc4.jar,登入數(shù)據(jù)庫后建一個(gè)名為StudentManage的數(shù)據(jù)庫,這樣就完成了數(shù)據(jù)庫的連接。</p><p>  下面開始介紹映射。本工程采用傳統(tǒng)的Bean.hbm.xml文件配置,只要配置XML文件,這樣做比較麻煩,要是用到Spring就容易多的。&

116、lt;/p><p>  以下就是用bean.hbm.xml寫下來的對(duì)應(yīng)代碼段(其中之一):</p><p>  <!DOCTYPE hibernate-mapping PUBLIC</p><p>  "-//Hibernate/Hibernate Mapping DTD 3.0//EN"</p><p>  "

溫馨提示

  • 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)論