版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 在線選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b> 摘 要</b></p><p> 由于學(xué)校教學(xué)制度的改革,現(xiàn)在大部分高等院校開(kāi)始實(shí)行的是學(xué)生的自主選課模式,傳統(tǒng)的教學(xué)模式(學(xué)生按照學(xué)校安排好的課程上課)已經(jīng)不能適應(yīng)新型的教學(xué)手段,如果仍然通過(guò)紙上的方式選課,一方面浪費(fèi)的大量的人力、物力資源,另一方面浪費(fèi)時(shí)間以及在人為的統(tǒng)計(jì)過(guò)程中不可避免
2、出現(xiàn)的差錯(cuò)等情況。隨著高校人數(shù)的增多,這種弊端會(huì)越來(lái)越多的暴露出來(lái)。在線選課系統(tǒng)的實(shí)現(xiàn)顯得尤為必要。針對(duì)學(xué)生選課這一環(huán)節(jié),本系統(tǒng)從學(xué)生網(wǎng)上自主選課以及教師的課程發(fā)布和管理員信息管理三個(gè)大方面進(jìn)行了設(shè)計(jì),基本實(shí)現(xiàn)了學(xué)生的在線信息查詢、選課功能以及教師對(duì)課程信息發(fā)布的管理和管理員對(duì)學(xué)生和教師信息的管理等功能。</p><p> 關(guān)鍵詞:在線選課;B/S 結(jié)構(gòu);JSP;J2EE;MySQL; </p>
3、<p> Online Course Selection System Design and Implementation</p><p><b> Abstract</b></p><p> As the reform of school education, most colleges and universities are now begi
4、nning to implement the student's own course selection patterns, the traditional teaching model (the students arranged in accordance with school curriculum classes) can not adapt to new teaching methods, if they remai
5、n on paper on the way to course selection, on the one hand and waste a lot of manpower, material resources, on the other hand a waste of time and in the process of artificial statistical errors inevitably o</p>&l
6、t;p> Key Words: Online course selection; B / S structure; JSP; J2EE; MySQL; </p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p> AbstractII</p>
7、<p><b> 前 言1</b></p><p><b> 1設(shè)計(jì)的可行性2</b></p><p> 1.1系統(tǒng)的產(chǎn)生和發(fā)展情況2</p><p> 1.2網(wǎng)上選課系統(tǒng)的產(chǎn)生和可行性分析3</p><p> 1.2.1 網(wǎng)上選課系統(tǒng)的產(chǎn)生3</p>
8、<p> 1.2.2 網(wǎng)上選課系統(tǒng)的可行性3</p><p> 2 相關(guān)軟件及技術(shù)介紹4</p><p> 2.1 Myeclipse 6.54</p><p> 2.2 MySQL 5.04</p><p> 2.3 Tomcat 5.55</p><p> 2.4 HTML 語(yǔ)言介紹
9、6</p><p> 2.5 JSP 介紹6</p><p> 2.6 J2EE 技術(shù)介紹7</p><p> 2.7 Struts 框架8</p><p> 2.8 Hibernate 框架9</p><p><b> 3系統(tǒng)概述9</b></p><
10、p> 3.1 項(xiàng)目范圍9</p><p> 3.2 設(shè)計(jì)策略10</p><p> 4系統(tǒng)總體設(shè)計(jì)10</p><p> 4.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)10</p><p> 4.1.2 模塊間的調(diào)用關(guān)系11</p><p> 4.1.3系統(tǒng)功能結(jié)構(gòu)14</p><p>
11、5 數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明15</p><p> 5.1數(shù)據(jù)庫(kù)系統(tǒng)分析15</p><p> 5.2 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)19</p><p> 5.3 數(shù)據(jù)庫(kù)設(shè)計(jì)20</p><p><b> 6 詳細(xì)設(shè)計(jì)23</b></p><p> 6.1 教師/學(xué)生/管理員登錄功能23</p
12、><p> 6.2 學(xué)生選課功能28</p><p> 6.3 教師添加課程:30</p><p> 6.4 管理員操作32</p><p> 7 設(shè)計(jì)過(guò)程中的問(wèn)題及解決34</p><p> 7.1 數(shù)據(jù)庫(kù)的連接34</p><p> 7.2 參數(shù)的傳遞34</p&g
13、t;<p> 7.3 公共數(shù)據(jù)34</p><p><b> 8 總結(jié)35</b></p><p> 參 考 文 獻(xiàn)36</p><p><b> 致 謝37</b></p><p><b> 前 言 </b></p><
14、;p> 隨著網(wǎng)絡(luò)時(shí)代的到來(lái)B/S結(jié)構(gòu)的管理系統(tǒng)已經(jīng)成熟的運(yùn)用在學(xué)校、企業(yè)、銀行、科研機(jī)構(gòu)、政府等各行各業(yè)并扮演著不可或缺的角色。</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)。在這種結(jié)構(gòu)下,用戶工作界面是通過(guò)WWW瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)
15、器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。相對(duì)于C/S結(jié)構(gòu)屬于“胖”客戶端,需要在使用者電腦上安裝相應(yīng)的操作軟件來(lái)說(shuō),B/S結(jié)構(gòu)是屬于一種“瘦”客戶端,大多數(shù)或主要的業(yè)務(wù)邏輯都存在在服務(wù)器端,因此,B/S結(jié)構(gòu)的系統(tǒng)不需要安裝客戶端軟件,它運(yùn)行在客戶端的瀏覽器之上,系統(tǒng)升級(jí)或維護(hù)時(shí)只需更新服務(wù)器端軟件即可,這樣就大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本(TCO)。 B/S結(jié)構(gòu)系統(tǒng)的產(chǎn)
16、生為系統(tǒng)面對(duì)無(wú)限未知用戶提供了可能。當(dāng)然,與C/S結(jié)構(gòu)相比,B/S結(jié)構(gòu)也存在著系統(tǒng)運(yùn)行速度較慢,訪問(wèn)系統(tǒng)的用戶不可控的弱點(diǎn)。</p><p> 以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過(guò)Internet/Intranet模式下數(shù)據(jù)庫(kù)應(yīng)用,相對(duì)易于把握、成本也是較低的。它是一次性到位的開(kāi)發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN,WAN,Internet/Intranet等)訪問(wèn)
17、和操作共同的數(shù)據(jù)庫(kù);它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問(wèn)權(quán)限,服務(wù)器數(shù)據(jù)庫(kù)也很安全。特別是在JAVA這樣的跨平臺(tái)語(yǔ)言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、快捷、高效。數(shù)據(jù)庫(kù)是從60年代初發(fā)展起來(lái)的計(jì)算機(jī)技術(shù)。經(jīng)過(guò)四十來(lái)年的發(fā)展,數(shù)據(jù)庫(kù)技術(shù)己經(jīng)趨于成熟。Web數(shù)據(jù)庫(kù)在新的Internet環(huán)境中發(fā)生了很大的變化。就數(shù)據(jù)應(yīng)用而言呈現(xiàn)出多樣化的空間,如數(shù)字圖書館、電子出版物、電子商務(wù)、遠(yuǎn)程教育系統(tǒng)等的出現(xiàn),給web數(shù)據(jù)庫(kù)技術(shù)提出了更多、更高的要求。
18、同時(shí),隨著國(guó)內(nèi)高校校園網(wǎng)的建設(shè),基于互聯(lián)網(wǎng)的應(yīng)用系統(tǒng)的開(kāi)發(fā)正在蓬勃發(fā)展并發(fā)揮著較大的作用。例如,我國(guó)許多高校的網(wǎng)上招生系統(tǒng),學(xué)校的各種管理信息系統(tǒng),學(xué)校選課系統(tǒng),還有一些醫(yī)學(xué)院校開(kāi)發(fā)出的網(wǎng)上診所、遠(yuǎn)程診斷系統(tǒng)等等,都是基于校園網(wǎng)的應(yīng)用系統(tǒng)。</p><p> 網(wǎng)上選課系統(tǒng)是針對(duì)在校學(xué)生和教師使用,從學(xué)生的角度來(lái)說(shuō),由于學(xué)校教學(xué)制度的改革,現(xiàn)在大部分高等院校開(kāi)始實(shí)行的是學(xué)生的自主選課模式,傳統(tǒng)的教學(xué)模式(學(xué)生按照
19、學(xué)校安排好的課程上課)已經(jīng)不能適應(yīng)新型的教學(xué)手段,如果仍然通過(guò)紙上的方式選課,一方面浪費(fèi)的大量的人力、物力資源,另一方面浪費(fèi)時(shí)間以及在人為的統(tǒng)計(jì)過(guò)程中不可避免出現(xiàn)的差錯(cuò)等情況。隨著高校人數(shù)的增多,這種弊端會(huì)越來(lái)越多的暴露出來(lái)。因此,利用網(wǎng)絡(luò),使學(xué)生只要在計(jì)算機(jī)前輸入自己的個(gè)人選課信息即可完成原來(lái)幾倍的作業(yè)量。從教師的角度來(lái)說(shuō),同樣是節(jié)省了大量的工作量,由于教師提出代課申請(qǐng)完成課程發(fā)布的工作較學(xué)生選課而言更加的復(fù)雜,因此通過(guò)網(wǎng)上進(jìn)行課程發(fā)
20、布能大幅度的減少教師的工作量,減少錯(cuò)誤的發(fā)生幾率。作為教師,也只要通過(guò)自己的電腦來(lái)操作即可,不用再奔波于教務(wù)處和辦公室之間。</p><p><b> 1設(shè)計(jì)的可行性</b></p><p> 1.1系統(tǒng)的產(chǎn)生和發(fā)展情況</p><p> 所謂MIS(管理信息系統(tǒng)--Management Information System)系統(tǒng) ,是一
21、個(gè)由人、計(jì)算機(jī)及其他外圍設(shè)備等組成的能進(jìn)行信息的收集、傳遞、存貯、加工、維護(hù)和使用的系統(tǒng),是一門新興的科學(xué),其主要任務(wù)是最大限度的利用現(xiàn)代計(jì)算機(jī)及網(wǎng)絡(luò)通訊技術(shù)加強(qiáng)企業(yè)的信息管理,通過(guò)對(duì)企業(yè)擁有的人力、物力、財(cái)力、設(shè)備、技術(shù)等資源的調(diào)查了解,建立正確的數(shù)據(jù),加工處理并編制成各種信息資料及時(shí)提供給管理人員,以便進(jìn)行正確的決策,不斷提高企業(yè)的管理水平和經(jīng)濟(jì)效益。目前,企業(yè)的計(jì)算機(jī)網(wǎng)絡(luò)已成為企業(yè)進(jìn)行技術(shù)改造及提高企業(yè)管理水平的重要手段。隨著我國(guó)
22、與世界信息高速公路的接軌,企業(yè)通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)獲得信息必將為企業(yè)帶來(lái)巨大的經(jīng)濟(jì)效益和社會(huì)效益,企業(yè)的辦公及管理都將朝著高效、快速、無(wú)紙化的方向發(fā)展。MIS系統(tǒng)通常用于系統(tǒng)決策,例如,可以利用MIS系統(tǒng)找出目前迫切需要解決的問(wèn)題,并將信息及時(shí)反饋給上層管理人員,使他們了解當(dāng)前工作發(fā)展的進(jìn)展或不足。換句話說(shuō),MIS系統(tǒng)的最終目的是使管理人員及時(shí)了解公司現(xiàn)狀,把握將來(lái)的發(fā)展路徑。與傳統(tǒng)的管理系統(tǒng)相比,在MIS中,處理的對(duì)象是抽象成數(shù)據(jù)的信息,因
23、此,MIS有著自己的</p><p> 1、解決結(jié)構(gòu)化問(wèn)題。 2、以高速度低成本完成數(shù)據(jù)的處理業(yè)務(wù),追求系統(tǒng)處理問(wèn)題的效率。3、實(shí)現(xiàn)一個(gè)相對(duì)穩(wěn)定的、協(xié)調(diào)的工作環(huán)境。4、應(yīng)用科學(xué)的、客觀的處理方法,符合實(shí)際情況。</p><p> 傳統(tǒng)的MIS系統(tǒng)的核心是CS(Client/Server——客戶端/服務(wù)器)架構(gòu),而基于Internet的MIS系統(tǒng)的核心是BS(Browser/Ser
24、ver——瀏覽器/服務(wù)器)架構(gòu)。BS架構(gòu)比起CS架構(gòu)有著很大的優(yōu)越性,傳統(tǒng)的MIS系統(tǒng)依賴于專門的操作環(huán)境,這意味著操作者的活動(dòng)空間受到極大限制;而BS架構(gòu)則不需要專門的操作環(huán)境,在任何地方,只要能上網(wǎng),就能夠操作MIS系統(tǒng)。這也就給交互式信息的產(chǎn)生創(chuàng)造了先決條件。使得通過(guò)互聯(lián)網(wǎng)的信息傳遞更加的便捷。</p><p> 1.2網(wǎng)上選課系統(tǒng)的產(chǎn)生和可行性分析</p><p> 1.2.1
25、 網(wǎng)上選課系統(tǒng)的產(chǎn)生</p><p> MIS系統(tǒng)的飛速發(fā)展,技術(shù)的成熟以及應(yīng)用領(lǐng)域的不斷擴(kuò)大,為網(wǎng)上信息的交互提供了一個(gè)良好的平臺(tái)和方便的操作界面。由于MIS系統(tǒng)基于用戶需求的設(shè)計(jì)方法,使得該系統(tǒng)的使用更加的人性化、個(gè)人化、更貼近用戶。網(wǎng)上選課系統(tǒng)是針對(duì)在校學(xué)生和教師使用,從學(xué)生的角度來(lái)說(shuō),由于學(xué)校教學(xué)制度的改革,現(xiàn)在大部分高等院校開(kāi)始實(shí)行的是學(xué)生的自主選課模式,傳統(tǒng)的教學(xué)模式——學(xué)生按照學(xué)校安排好的課程上課
26、——已經(jīng)不能適應(yīng)新型的教學(xué)手段,如果仍然通過(guò)紙上的方式選課,一方面浪費(fèi)的大量的人力、物力資源,另一方面浪費(fèi)時(shí)間以及在人為的統(tǒng)計(jì)過(guò)程中不可避免出現(xiàn)的差錯(cuò)等情況。隨著高校人數(shù)的增多,這種弊端會(huì)越來(lái)越多的暴露出來(lái)。因此,利用網(wǎng)絡(luò),使學(xué)生只要在計(jì)算機(jī)前輸入自己的個(gè)人選課信息即可完成原來(lái)幾倍的作業(yè)量。從教師的角度來(lái)說(shuō),同樣是節(jié)省了大量的工作量,由于教師提出代課申請(qǐng)完成課程發(fā)布的工作較學(xué)生選課而言更加的復(fù)雜,因此通過(guò)網(wǎng)上進(jìn)行課程發(fā)布能大幅度的減少教
27、師的工作量,減少錯(cuò)誤的發(fā)生幾率。作為教師,也只要通過(guò)自己的電腦來(lái)操作即可,不用再奔波于教務(wù)處和辦公室之間。以MIS系統(tǒng)的構(gòu)建思想來(lái)實(shí)現(xiàn)網(wǎng)上選課系統(tǒng)可以最大程度的做到實(shí)用性,可擴(kuò)展性和可維</p><p> 技術(shù)可行性:以MIS技術(shù)為開(kāi)發(fā)基礎(chǔ)。</p><p> 1.2.2 網(wǎng)上選課系統(tǒng)的可行性</p><p> ?。?)技術(shù)可行性-----本系統(tǒng)需要掌握J(rèn)ava
28、Script語(yǔ)言、HTML語(yǔ)言、Jsp語(yǔ)言、MVC編程結(jié)構(gòu)思想、Struts框架應(yīng)用、Hibernate 框架應(yīng)用、MySQl數(shù)據(jù)庫(kù)設(shè)計(jì)的一般原理和使用方法。這些知識(shí)在大學(xué)專業(yè)課的學(xué)習(xí)中大部分都已學(xué)習(xí)加上自學(xué)的一些技術(shù)知識(shí)和勇于專研不斷努力學(xué)習(xí)的精神完全能做到技術(shù)可行。</p><p> ?。ǎ玻?經(jīng)濟(jì)可行性-----由于本系統(tǒng)是為方便大學(xué)生選課的在線選課系統(tǒng),安裝服務(wù)軟件后,即可使用系統(tǒng),系統(tǒng)成本主要集中在系統(tǒng)
29、軟件的開(kāi)發(fā)上,當(dāng)系統(tǒng)投入運(yùn)行后可以為學(xué)校節(jié)約大量的人力,物力。所帶來(lái)的效益遠(yuǎn)遠(yuǎn)大于系統(tǒng)軟件的開(kāi)發(fā)成本。在經(jīng)濟(jì)上完全可行。</p><p> ?。ǎ常?操作可行性-----界面設(shè)計(jì)時(shí)充分考慮管理人員的習(xí)慣,使得操作簡(jiǎn)單;數(shù)據(jù)錄入迅速、規(guī)范、可靠;統(tǒng)計(jì)準(zhǔn)確;適應(yīng)力強(qiáng);容易擴(kuò)充。</p><p> (4)硬件軟件設(shè)施可行性------現(xiàn)有一臺(tái)筆記本電腦,以及大量相關(guān)方面知識(shí)的書籍。對(duì)于軟件技術(shù)
30、要求,現(xiàn)在的Jsp以及J2EE平臺(tái)、數(shù)據(jù)庫(kù)程序設(shè)計(jì)語(yǔ)言已非常成熟完全可以做到硬件軟件設(shè)施可行。</p><p> 2 相關(guān)軟件及技術(shù)介紹</p><p> 2.1 Myeclipse 6.5</p><p> MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench ,簡(jiǎn)稱MyEclipse)是對(duì)Eclipse IDE的擴(kuò)
31、展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開(kāi)發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。</p><p> 在結(jié)構(gòu)上,MyEclipse的特征可以被分為7類:</p><p> 1.
32、JavaEE模型</p><p> 2. WEB開(kāi)發(fā)工具</p><p> 3. EJB開(kāi)發(fā)工具</p><p> 4. 應(yīng)用程序服務(wù)器的連接器</p><p> 5. JavaEE項(xiàng)目部署服務(wù)</p><p><b> 6. 數(shù)據(jù)庫(kù)服務(wù)</b></p><p>
33、 7. MyEclipse整合幫助</p><p> 對(duì)于以上每一種功能上的類別,在Eclipse中都有相應(yīng)的功能部件,并通過(guò)一系列的插件來(lái)實(shí)現(xiàn)它們。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們?cè)诓挥绊懫渌K的情況下,對(duì)任一模塊進(jìn)行單獨(dú)的擴(kuò)展和升級(jí)。</p><p> 簡(jiǎn)單而言,MyEclipse是Eclipse的插件,也是一款功能強(qiáng)大的JavaEE集成開(kāi)發(fā)環(huán)境,支持代碼編寫、
34、配置、測(cè)試以及除錯(cuò),MyEclipse6.0以前版本需先安裝Eclipse。MyEclipse6.0以后版本安裝時(shí)不需安裝Eclipse。</p><p> 2.2 MySQL 5.0</p><p> MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQL AB公司。在2008年1月16號(hào)被Sun公司收購(gòu)。而2009年,SUN又被Oracle收購(gòu).對(duì)于Mysql的前途,沒(méi)有
35、任何人抱樂(lè)觀的態(tài)度.目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。MySQL的官方網(wǎng)站的網(wǎng)址是:www.mysql.com</p><p> 與其他的大型數(shù)據(jù)庫(kù)例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(M
36、ySQL Cluster的功能和效率都相對(duì)比較差)等,但是這絲毫也沒(méi)有減少它受歡迎的程度。對(duì)于一般的個(gè)人使用者和中小型企業(yè)來(lái)說(shuō),MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開(kāi)放源碼軟件,因此可以大大降低總體擁有成本。</p><p> 目前Internet上流行的網(wǎng)站構(gòu)架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作為操作系統(tǒng),Apache作為Web服務(wù)器,MySQ
37、L作為數(shù)據(jù)庫(kù),PHP作為服務(wù)器端腳本解釋器。由于這四個(gè)軟件都是自由或開(kāi)放源碼軟件(FLOSS),因此使用這種方式不用花一分錢就可以建立起一個(gè)穩(wěn)定、免費(fèi)的網(wǎng)站系統(tǒng)。</p><p> 2.3 Tomcat 5.5</p><p> Tomcat是Apache 軟件基金會(huì)(Apache Software Foundation)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun
38、和其他一些公司及個(gè)人共同開(kāi)發(fā)而成。由于有了Sun 的參與和支持,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 規(guī)范。因?yàn)門omcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛(ài)好者的喜愛(ài)并得到了部分軟件開(kāi)發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。目前最新版本是6.0。</p><p> Tomcat 很
39、受廣大程序員的喜歡,因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開(kāi)發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的 </p><p> 改進(jìn)和完善中,任何一個(gè)感興趣的程序員都可以更改它或在其中加入新的功能。</p><p> Tomcat 是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶不是很多的場(chǎng)合下被普遍使用,是開(kāi)發(fā)和調(diào)試JSP 程序的首選。對(duì)于一個(gè)初學(xué)者來(lái)說(shuō),可
40、以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)對(duì)HTML 頁(yè)面的訪問(wèn)請(qǐng)求。實(shí)際上Tomcat 部分是Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat 時(shí),它實(shí)際上作為一個(gè)與Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。 </p><p> 這里的訣竅是,當(dāng)配置正確時(shí),Apache 為HTML頁(yè)面服務(wù),而Tomcat 實(shí)際上運(yùn)行JSP 頁(yè)面和Servlet。另外,Tomcat和II
41、S、Apache等Web服務(wù)器一樣,具有處理HTML頁(yè)面的功能,另外它還是一個(gè)Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。不過(guò),Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。</p><p> 2.4 HTML 語(yǔ)言介紹</p><p> HTML(HyperText Mark-up Language)即超文本標(biāo)記語(yǔ)言或超文本鏈接標(biāo)示語(yǔ)言,
42、是目前網(wǎng)絡(luò)上應(yīng)用最為廣泛的語(yǔ)言,也是構(gòu)成網(wǎng)頁(yè)文檔的主要語(yǔ)言。HTML文本是由HTML命令組成的描述性文本,HTML命令可以說(shuō)明文字、圖形、動(dòng)畫、聲音、表格、鏈接等。HTML的結(jié)構(gòu)包括頭部(Head)、主體(Body)兩大部分,其中頭部描述瀏覽器所需的信息,而主體則包含所要說(shuō)明的具體內(nèi)容。</p><p> HTML文檔制作不是很復(fù)雜,且功能強(qiáng)大,支持不同數(shù)據(jù)格式的文件鑲?cè)耄@也是WWW盛行的原因之一,其主要特點(diǎn)
43、如下:</p><p> 1 簡(jiǎn)易性,HTML版本升級(jí)采用超集方式,從而更加靈活方便。</p><p> 2 可擴(kuò)展性,HTML語(yǔ)言的廣泛應(yīng)用帶來(lái)了加強(qiáng)功能,增加標(biāo)識(shí)符等要求,HTML采取子類元素的方式,為系統(tǒng)擴(kuò)展帶來(lái)保證。</p><p> 3 平臺(tái)無(wú)關(guān)性。雖然PC機(jī)大行其道,但使用MAC等其他機(jī)器的大有人在,HTML可以使用在廣泛的平臺(tái)上,這也是WWW盛行
44、的另一個(gè)原因。用什么可以編輯HTML?</p><p> HTML其實(shí)是文本,它需要瀏覽器的解釋,HTML的編輯器大體可以分為三種,</p><p> 1 基本編輯軟件,使用WINDOWS自帶的記事本或?qū)懽职娑伎梢跃帉懀?dāng)然,如果你用WPS來(lái)編寫,也可以。不過(guò)存盤是請(qǐng)使用.htm或.html作為擴(kuò)展名,這樣瀏覽器就可以解釋執(zhí)行了。</p><p> 2 半所見(jiàn)
45、即所得軟件,這種軟件能大大提高開(kāi)發(fā)效率,它可以使你在很短的時(shí)間內(nèi)做出HOMEPAGE,且可以學(xué)習(xí)HTML,這種類型的軟件主要有HOTDOG,還有國(guó)產(chǎn)的軟件網(wǎng)頁(yè)作坊。</p><p> 3 所見(jiàn)即所得軟件,使用最廣泛的編輯器,完全可以一點(diǎn)不懂HTML的知識(shí)就可以做出網(wǎng)頁(yè),這類軟件主要有FRONTPAGE98,DREAMWEAVER。</p><p> 2.5 JSP 介紹</p&
46、gt;<p> JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。 用JSP開(kāi)發(fā)的Web應(yīng)用是跨平臺(tái)的,既能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。
47、</p><p> JSP技術(shù)使用Java編程語(yǔ)言編寫類XML的tags和scriptlets,來(lái)封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁(yè)的處理邏輯。網(wǎng)頁(yè)還能通過(guò)tags和scriptlets訪問(wèn)存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開(kāi)發(fā)變得迅速和容易。 </p><p> Web服務(wù)器在遇到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中
48、的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁(yè)所需要的功能。 </p><p> JSP與Java Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。 </p><p> JSP的1.0規(guī)范的最后版本是1999年9月推出的,12月又
49、推出了1.1規(guī)范。目前較新的是JSP1.2規(guī)范,JSP2.0規(guī)范的征求意見(jiàn)稿也已出臺(tái)。</p><p> JSP頁(yè)面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁(yè)面被客戶端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁(yè)面返回給客戶端的瀏覽器。Java Servlet 是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開(kāi)發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)
50、的簡(jiǎn)單易用,完全的面向?qū)ο?,具有平臺(tái)無(wú)關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。 </p><p> 自JSP推出后,眾多大公司都支持JSP技術(shù)的服務(wù)器,如IBM、Oracle、Bea公司等,所以JSP迅速成為商業(yè)應(yīng)用的服務(wù)器端語(yǔ)言。</p><p> JSP可用一種簡(jiǎn)單易懂的等式表示為:HTML+Java=JSP。</p><p> 2.6 J2EE 技術(shù)介
51、紹</p><p> J2EE Java2平臺(tái)企業(yè)版(Java 2 Platform,Enterprise Edition) </p><p> J2EE是一套全然不同于傳統(tǒng)應(yīng)用開(kāi)發(fā)的技術(shù)架構(gòu),包含許多組件,主要可簡(jiǎn)化且規(guī)范應(yīng)用系統(tǒng)的開(kāi)發(fā)與部署,進(jìn)而提高可移植性、安全與再用價(jià)值。 </p><p> J2EE核心是一組技術(shù)規(guī)范與指南,其中所包含的各類組件、服務(wù)
52、架構(gòu)及技術(shù)層次,均有共通的標(biāo)準(zhǔn)及規(guī)格,讓各種依循J2EE架構(gòu)的不同平臺(tái)之間,存在良好的兼容性,解決過(guò)去企業(yè)后端使用的信息產(chǎn)品彼此之間無(wú)法兼容,,企業(yè)內(nèi)部或外部難以互通的窘境。</p><p><b> 一、J2EE的概念</b></p><p> 目前,Java 2平臺(tái)有3個(gè)版本,它們是適用于小型設(shè)備和智能卡的Java 2平臺(tái)Micro版(Java 2 Platf
53、orm Micro Edition,J2ME)、適用于桌面系統(tǒng)的Java 2平臺(tái)標(biāo)準(zhǔn)版(Java 2 Platform Standard Edition,J2SE)、適用于創(chuàng)建服務(wù)器應(yīng)用程序和服務(wù)的Java 2平臺(tái)企業(yè)版(Java 2 Platform Enterprise Edition,J2EE)。J2EE是一種利用Java 2平臺(tái)來(lái)簡(jiǎn)化企業(yè)解決方案的開(kāi)發(fā)、部署和管理相關(guān)的復(fù)雜問(wèn)題的體系結(jié)構(gòu)。J2EE技術(shù)的基礎(chǔ)就是核心Java平臺(tái)或
54、Java 2平臺(tái)的標(biāo)準(zhǔn)版,J2EE不僅鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn),例如"編寫一次、隨處運(yùn)行"的特性、方便存取數(shù)據(jù)庫(kù)的JDBC API、CORBA技術(shù)以及能夠在Internet應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等等,同時(shí)還提供了對(duì) EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技術(shù)的全面支持。其最終目的就是成為一個(gè)能夠使企業(yè)開(kāi)發(fā)者大幅縮
55、短投放市場(chǎng)時(shí)間的體系結(jié)</p><p> J2體系結(jié)構(gòu)提供中間層集成框架用來(lái)滿足無(wú)需太多費(fèi)用而又需要高可用性、高可靠性以及可擴(kuò)展性的應(yīng)用的需求。通過(guò)提供統(tǒng)一的開(kāi)發(fā)平臺(tái),J2EE降低了開(kāi)發(fā)多層應(yīng)用的費(fèi)用和復(fù)雜性,同時(shí)提供對(duì)現(xiàn)有應(yīng)用程序集成強(qiáng)有力支持,完全支持Enterprise JavaBeans,有良好的向?qū)еС执虬筒渴饝?yīng)用,添加目錄支持,增強(qiáng)了安全機(jī)制,提高了性能。</p><p>
56、 2.7 Struts 框架</p><p> Struts最早是作為Apache Jakarta項(xiàng)目的組成部分,項(xiàng)目的創(chuàng)立者希望通過(guò)對(duì)該項(xiàng)目的研究,改進(jìn)和提高JavaServer Pages 、Servlet、標(biāo)簽庫(kù)以及面向?qū)ο蟮募夹g(shù)水準(zhǔn)。Struts這個(gè)名字來(lái)源于在建筑和舊式飛機(jī)中使用的支持金屬架。這個(gè)框架之所以叫"Struts",是為了提醒我們記住那些支撐我們房屋,建筑,橋梁,甚至我
57、們踩高蹺時(shí)候的基礎(chǔ)支撐。這也是一個(gè)解釋Struts在開(kāi)發(fā)Web應(yīng)用程序中所扮演的角色的精彩描述。當(dāng)建立一個(gè)物理建筑時(shí),建筑工程師使用支柱為建筑的每一層提供支持。同樣,軟件工程師使用Struts為業(yè)務(wù)應(yīng)用的每一層提供支持。它的目的是為了幫助我們減少在運(yùn)用MVC設(shè)計(jì)模型來(lái)開(kāi)發(fā)Web應(yīng)用的時(shí)間。我們?nèi)匀恍枰獙W(xué)習(xí)和應(yīng)用該架構(gòu),不過(guò)它將可以完成其中一些繁重的工作。如果想混合使用Servlets和JSP的優(yōu)點(diǎn)來(lái)建立可擴(kuò)展的應(yīng)用,Struts是一個(gè)不
58、錯(cuò)的選擇。</p><p> 早期Smalltalk 程序語(yǔ)言便采用了MVC(Model-View -Controller) 模式( Patterns ) 以增加程序代碼彈性,MVC模式將程序代碼整理切割為三部份,Model 部分是業(yè)務(wù)與應(yīng)用領(lǐng)域( Business domain) 相關(guān)邏輯、管理狀態(tài)之對(duì)象,Controller 部分接收來(lái)自View 所輸入的資料并與Model 部分互動(dòng),是業(yè)務(wù)流程控制( Fl
59、ow Control) 之處,View 部分則負(fù)責(zé)展現(xiàn)資料、接收使用者輸入資料。在Java 應(yīng)用中,JFC/Swing、AWT、JSP 皆是可用作View 之技術(shù)規(guī)格,而JavaBean 與Enterprise JavaBean 規(guī)格則可用于Model 程序代碼,一旦應(yīng)用程序以MVC 模式加以適當(dāng)(的)分割,Model 部分程序代碼可在不同使用者接口外觀(的)應(yīng)用程序中重復(fù)使用。</p><p> 2.8 Hi
60、bernate 框架</p><p> Hibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。 Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,
61、完成數(shù)據(jù)持久化的重任。</p><p><b> 3系統(tǒng)概述</b></p><p><b> 3.1 項(xiàng)目范圍</b></p><p> 網(wǎng)上選課系統(tǒng)從功能上劃分一共有4個(gè)主模塊,其中信息管理部分包含了4個(gè)子模快,具體的結(jié)構(gòu)示意如下列所示: </p><p><b> ·
62、;身份驗(yàn)證</b></p><p><b> ·選課</b></p><p><b> ·信息管理</b></p><p><b> ·信息瀏覽</b></p><p><b> ·信息查詢</b>
63、;</p><p><b> ·信息修改</b></p><p><b> ·修改</b></p><p><b> ·刪除</b></p><p><b> ·信息添加</b></p><
64、;p><b> ·課程發(fā)布</b></p><p> 從對(duì)象上劃分一共有教師、學(xué)生、管理員三部分,主要操作為課程發(fā)布和選課。</p><p><b> 3.2 設(shè)計(jì)策略</b></p><p><b> 硬件環(huán)境:</b></p><p><b&
65、gt; 服務(wù)器端/客戶端:</b></p><p> 處理器:Intel Core </p><p><b> 內(nèi)存: 1G</b></p><p><b> 硬盤空間:160G</b></p><p><b> 軟件環(huán)境:</b></p>
66、<p><b> 服務(wù)器端/客戶端:</b></p><p> 操作系統(tǒng):Windows XP</p><p> 網(wǎng)絡(luò)協(xié)議:TCP/IP</p><p> 瀏覽器:Internet Explore 6.0</p><p> 制作工具:Myeclipse 6.5、MySQL5.5 、Tomcat 5.
67、5、Dreamweave 8、Jsp、 HTML(Hyper Text Markup Language)</p><p> 用MyEclipse6.5 集成開(kāi)發(fā)工具完成網(wǎng)上選課系統(tǒng)的業(yè)務(wù)邏輯、持久化層代碼的編寫,用HTML、jsp語(yǔ)言設(shè)計(jì)網(wǎng)頁(yè)的外觀構(gòu)架和輸出輸入功能實(shí)現(xiàn),在網(wǎng)頁(yè)編輯器中嵌入JavaScript語(yǔ)言對(duì)網(wǎng)頁(yè)中提交的數(shù)據(jù)進(jìn)行驗(yàn)證處理,在系統(tǒng)的后臺(tái),用MysQL 5.5作為數(shù)據(jù)庫(kù)支持,提供基本的表信息,
68、使用時(shí),啟動(dòng)Tomcat 5.5 打開(kāi)瀏覽器(Internet Explore),在地址欄中輸入“http://localhost:8080/OnlineChoose”(由于服務(wù)器和客戶端都在同一臺(tái)計(jì)算機(jī)上所以使用http://localost:8080 訪問(wèn)本地),回車后,即可進(jìn)入網(wǎng)上選課系統(tǒng)的主頁(yè),進(jìn)行操作。</p><p><b> 4系統(tǒng)總體設(shè)計(jì)</b></p>&l
69、t;p> 4.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)</p><p> 身份驗(yàn)證:通過(guò)登錄才可進(jìn)入選課系統(tǒng),登錄信息提交后檢驗(yàn)登錄者的身份是否合法,合法,則轉(zhuǎn)入對(duì)應(yīng)的操作界面。在本系統(tǒng)中,只有三種身份:學(xué)生、老師、管理員。</p><p> 選課:用于學(xué)生的網(wǎng)上選課,查看被選專業(yè)的課程,完成該學(xué)期的選課任務(wù)。</p><p><b> 信息管理:</b>
70、;</p><p> 信息瀏覽:信息瀏覽包括</p><p> 學(xué)生:已選課程瀏覽、備選課程瀏覽 。教師:已發(fā)布課程信息瀏覽。已選課程瀏覽是為學(xué)生提供的查看自己已經(jīng)選擇的課程信息。被選課程瀏覽用于學(xué)生修改、重新選擇課程。已發(fā)布課程信息瀏覽用于各老師查詢自己已經(jīng)發(fā)布的課程信息,主要用于瀏覽、核對(duì)。</p><p> 信息查詢:信息查詢包括教師個(gè)人信息查詢、課程查
71、詢、選課名單查詢。課程查詢即通過(guò) 課程編碼(唯一)來(lái)查詢?cè)撜n程的相關(guān)介紹,包括課程名稱、所屬院系、上課時(shí)間、上課地點(diǎn)、選課人數(shù)、總?cè)藬?shù)、學(xué)時(shí)、學(xué)分、任課教師等內(nèi)容。教師個(gè)人信息是通過(guò)教師ID來(lái)查詢對(duì)應(yīng)的老師個(gè)人信息,包括教師賬號(hào)、教師密碼、教師姓名、教師性別、所屬教研室、所屬學(xué)院等。通過(guò)選課名單的查詢可以查看選擇某一門課程的學(xué)生情況。</p><p><b> 信息修改:</b></
72、p><p> 修改:信息修改包括選課信息的修改,課程發(fā)布信息的修改,密碼的修改,學(xué)生信息的修改,教師信息的修改。選課信息的修改用于學(xué)生修改所選課程刪除已選課程。教師修改已發(fā)布課程信息。管理員添加學(xué)生信息、修改學(xué)生信息、刪除學(xué)生信息、添加教師信息、修改教師信息、刪除教師信息。</p><p> 課程發(fā)布:課程發(fā)布用于教師發(fā)布新的課程信息,新課程信息發(fā)布后,當(dāng)學(xué)生選課時(shí)即可看到發(fā)布的信息(以列
73、表的形式同其他課程信息一起列出)。</p><p> 4.1.2 模塊間的調(diào)用關(guān)系</p><p> 1.管理員功能模塊 如圖 4-1 所示:</p><p> 圖 4-1管理員功能模塊</p><p> 2.學(xué)生功能模塊 如圖 4-2 所示:</p><p> 圖 4-2學(xué)生功能模塊</p>
74、<p> 3.教師功能模塊 如圖 4-3 所示:</p><p> 圖 4-3教師功能模塊</p><p> 4.1.3系統(tǒng)功能結(jié)構(gòu)</p><p> 1.管理員界面 如圖 4-4 所示:</p><p> 圖 4-4 管理員界面</p><p> 2.學(xué)生操作界面 如圖 4-5 所示:&
75、lt;/p><p> 圖 4-5 學(xué)生操作界面</p><p> 3.教師操作界面 如圖 4-6 所示:</p><p> 圖 4-6 教師操作界面</p><p><b> 5 數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明</b></p><p> 數(shù)據(jù)庫(kù)(Database)是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù)
76、,它產(chǎn)生于距今五十年前,隨著信息技術(shù)和市場(chǎng)的發(fā)展,特別是二十世紀(jì)九十年代以后,數(shù)據(jù)管理不再僅僅是存儲(chǔ)和管理數(shù)據(jù),而轉(zhuǎn)變成用戶所需要的各種數(shù)據(jù)管理的方式。數(shù)據(jù)庫(kù)有很多種類型,從最簡(jiǎn)單的存儲(chǔ)有各種數(shù)據(jù)的表格到能夠進(jìn)行海量數(shù)據(jù)存儲(chǔ)的大型數(shù)據(jù)庫(kù)系統(tǒng)都在各個(gè)方面得到了廣泛的應(yīng)用。在線選課系統(tǒng)的核心就是用來(lái)存儲(chǔ)所有信息的數(shù)據(jù)庫(kù)。本系統(tǒng)用的是輕量級(jí)開(kāi)源數(shù)據(jù)庫(kù)MySQl 5.0。</p><p> 5.1數(shù)據(jù)庫(kù)系統(tǒng)分析<
77、/p><p> 本系統(tǒng)的數(shù)據(jù)庫(kù)實(shí)體主要有“學(xué)生”、“管理員”、“教師”、“課程”等。其中“教師”與“課程”存在“開(kāi)設(shè)”聯(lián)系,并且一個(gè)教師可以開(kāi)設(shè)N門課程,即“教師”與“課程”之間是一對(duì)多的關(guān)系。一個(gè)學(xué)生可以學(xué)習(xí)N門課程,一門課程可以有M個(gè)學(xué)生學(xué)習(xí),即“學(xué)生”與“課程”之間是多對(duì)多的關(guān)系。</p><p> 整個(gè)數(shù)據(jù)庫(kù)可以用一個(gè)E-R圖表示,如圖 5-1 所示:</p><
78、;p> 圖5-1 數(shù)據(jù)庫(kù)ER圖</p><p> E—R圖中的實(shí)體圖:</p><p> 1.學(xué)生實(shí)體 如圖 5-2 所示:</p><p> 圖 5-2 學(xué)生實(shí)體</p><p> 2.教師實(shí)體 如圖 5-3 所示:</p><p> 圖 5-3 教師實(shí)體</p><p>
79、 3.課程實(shí)體 如圖 5-4 所示:</p><p> 圖 5-4 課程實(shí)體</p><p> 4.選課實(shí)體 如圖 5-5 所示:</p><p> 圖 5-5 選課實(shí)體</p><p> 5.管理員實(shí)體 如圖 5-6 所示:</p><p> 圖 5-6 管理員實(shí)體</p><p&g
80、t; 5.2 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)</p><p> 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)就是將E—R圖轉(zhuǎn)換為關(guān)系模型的過(guò)程,即將所有實(shí)體和關(guān)系轉(zhuǎn)換成一系列的關(guān)系模式。轉(zhuǎn)換過(guò)程中常見(jiàn)規(guī)則有:</p><p> ?。?)一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式;</p><p> ?。?)一個(gè)一對(duì)一的聯(lián)系可轉(zhuǎn)換成一個(gè)獨(dú)立的關(guān)系模式,也可與任意一端對(duì)應(yīng)的關(guān)系模式合并;</p><p&g
81、t; ?。?)一個(gè)一對(duì)多的聯(lián)系可以轉(zhuǎn)換成一個(gè)獨(dú)立的關(guān)系模式,也可與多的那一端對(duì)應(yīng)的關(guān)系模式合并;</p><p> (4)一個(gè)多對(duì)多的關(guān)系轉(zhuǎn)換成一個(gè)關(guān)系模式。</p><p> 根據(jù)以上四條規(guī)則,下面將E—R圖轉(zhuǎn)換成關(guān)系模型。</p><p> 對(duì)于“教師”、“課程”和兩者之間的關(guān)系,就可以根據(jù)規(guī)則(3)轉(zhuǎn)換成兩個(gè)關(guān)系模式</p><p&g
82、t; 教師(教師ID,教師賬號(hào),教師密碼,教師姓名,教師性別,所屬教研室,所屬學(xué)院)</p><p> 課程(課程ID,教師ID,課程名稱,上課時(shí)間,上課地點(diǎn),選課人數(shù),學(xué)時(shí),學(xué)分,總?cè)藬?shù))</p><p> 對(duì)于“學(xué)生”、“課程”和它們之間的“選修”關(guān)系就可以規(guī)則(4)轉(zhuǎn)換成三個(gè)關(guān)系模式。</p><p> 學(xué)生(學(xué)生ID,學(xué)號(hào),學(xué)生姓名,學(xué)生性別,班級(jí),
83、學(xué)生密碼,所屬學(xué)院)</p><p> 課程(課程ID,教師ID,課程名稱,上課時(shí)間,上課地點(diǎn),選課人數(shù),總?cè)藬?shù),所屬學(xué)院,學(xué)時(shí),學(xué)分)</p><p> 選課(學(xué)生ID,課程ID)</p><p> 管理員(管理員ID,管理員帳號(hào),管理員密碼)</p><p><b> 5.3 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p&
84、gt;<p> 經(jīng)過(guò)數(shù)據(jù)庫(kù)系統(tǒng)分析和邏輯設(shè)計(jì)后,數(shù)據(jù)庫(kù)的結(jié)構(gòu)已經(jīng)非常清晰,剩下的就是用一種數(shù)據(jù)庫(kù)軟件實(shí)現(xiàn)這樣的結(jié)構(gòu)。本系統(tǒng)數(shù)據(jù)庫(kù)采用ERStudio 8.0 輔助實(shí)現(xiàn)。</p><p> 如圖 5-1、5-2 所示: </p><p> 圖 5-1數(shù)據(jù)庫(kù)表關(guān)系</p><p> 圖 5-2數(shù)據(jù)庫(kù)表關(guān)系</p><p>
85、 (1)student_tab表。student_tab表用來(lái)存儲(chǔ)學(xué)生的個(gè)人信息,使用學(xué)生編號(hào)作為主鍵包括學(xué)號(hào),學(xué)生姓名,學(xué)生性別,學(xué)生班級(jí),學(xué)生密碼,所屬院系,如表5-3 所示: </p><p> 表5-3 student_tab 表</p><p> ?。?)teacher_tab表。teacher_tab表用來(lái)存儲(chǔ)教師的個(gè)人信息,教師編號(hào)作為主鍵包括教師賬號(hào),教師密碼,教師姓名,
86、教師性別,所屬教研室,所屬學(xué)院,如表5-3-4所示:</p><p> 表5-4 teacher_tab 表</p><p> ?。?)course_tab表。course_tab表用來(lái)存儲(chǔ)課程信息,course_tab表以課程編號(hào)為主鍵,設(shè)置課程編號(hào)自動(dòng)增加1(通過(guò)建表的時(shí)候?qū)傩粤性O(shè)置“標(biāo)識(shí)”,并設(shè)置“標(biāo)識(shí)遞增量”為1)。表中開(kāi)課教師Id為外鍵,所有“Teacher_Id”的值必須是
87、Teacher表中的“Teacher_Id”值 包括上課時(shí)間,上課地點(diǎn),選課人數(shù),總?cè)藬?shù),所屬學(xué)院,學(xué)時(shí),學(xué)分,課程名稱,教師ID(外鍵)。如表5-5 所示:</p><p> 表5-5 course_tab 表</p><p> ?。?)elective_tab表。elective_tab表用于存儲(chǔ)學(xué)生的選課信息,在elective_tab表中學(xué)生編號(hào)是外鍵,course_tab_id
88、即是主鍵又是外鍵。如表5-6 所示:</p><p> 表5-6 elective_tab 表</p><p> (5)admin表。admin表用來(lái)存放系統(tǒng)管理員信息,包括管理員ID,管理員賬號(hào),管理員密碼。如表5-7 所示:</p><p> 表5-7 admin 表</p><p><b> 6 詳細(xì)設(shè)計(jì)</b&
89、gt;</p><p> 6.1 教師/學(xué)生/管理員登錄功能</p><p> 在登錄頁(yè)面對(duì)應(yīng)的地方輸入用戶名、密碼,確認(rèn)后登錄。先用javaScript判斷輸入信息是否為空為空返回錯(cuò)誤提示若不為空。 提交表單提交后Struts 框架通過(guò)攔截提交表單地址查找映射文件 struts-config.xml,對(duì)應(yīng)的Action處理類,中通過(guò)調(diào)用在Hibernate框架基礎(chǔ)上構(gòu)建的持久化層中的
90、數(shù)據(jù)庫(kù)查詢方法對(duì)輸入的賬號(hào)密碼與數(shù)據(jù)庫(kù)中進(jìn)行比對(duì)。若檢索到的記錄集為空,則說(shuō)明教師賬號(hào)/學(xué)號(hào)/管理員賬號(hào)信息錯(cuò)誤,從而轉(zhuǎn)到相應(yīng)的出錯(cuò)處理程序,若記錄集不為空,則轉(zhuǎn)入教師/學(xué)生/管理員登錄成功的操作頁(yè)面,并將姓名,密碼,/學(xué)號(hào),姓名/管理員賬號(hào)以session對(duì)象保存起來(lái)。</p><p> 出錯(cuò)及處理:在該模塊中可能發(fā)生的錯(cuò)誤有</p><p> 學(xué)號(hào)或密碼錯(cuò)誤,系統(tǒng)這時(shí)會(huì)提醒“用戶名
91、或密碼錯(cuò)誤”</p><p><b> 實(shí)例截圖:</b></p><p><b> 學(xué)生登錄</b></p><p> 功能介紹:本頁(yè)面主要功能為學(xué)生的登錄窗口。擁有兩個(gè)可輸入框分別輸入學(xué)生的賬號(hào)和密碼。有三個(gè)按鈕分別是登錄重置和注冊(cè)。輸入完賬號(hào)密碼點(diǎn)擊登錄即可提交。點(diǎn)擊重置可以清空輸入框。點(diǎn)擊注冊(cè)跳轉(zhuǎn)到注冊(cè)界面。
92、如圖6-1所示:</p><p> 圖6-1 學(xué)生登錄界面</p><p><b> 2.登錄出錯(cuò)界面</b></p><p> 功能介紹:當(dāng)提交的賬號(hào)和密碼不錯(cuò)再或者不匹配時(shí)回返回登錄窗口要求用戶從新輸入并顯示錯(cuò)誤信息 “用戶名或密碼錯(cuò)誤”。 如 圖6-2 所示:</p><p> 圖6-2 登錄錯(cuò)誤提示界面&
93、lt;/p><p><b> 登錄成功界面</b></p><p> 功能介紹:當(dāng)所輸入的賬號(hào)和密碼相匹配時(shí)通過(guò)驗(yàn)證返回登錄成功界面即學(xué)生功能界面該界面顯示了學(xué)生的姓名?,F(xiàn)在可選的課程 列出了課程名、總?cè)藬?shù)、剩余人數(shù)學(xué)時(shí)、學(xué)分、任課教師、上課地點(diǎn)和上課時(shí)間等。并且每條后面都有選課的超級(jí)鏈接。如圖6-3 所示:</p><p> 圖6-3 登
94、陸成功進(jìn)入選課界面</p><p><b> 4.教師登陸頁(yè)面</b></p><p> 功能介紹:本頁(yè)面主要功能為教師的登錄窗口。擁有兩個(gè)可輸入框分別輸入學(xué)生的賬號(hào)和密碼。有三個(gè)按鈕分別是登錄重置和注冊(cè)。輸入完賬號(hào)密碼點(diǎn)擊登錄即可提交。點(diǎn)擊重置可以清空輸入框。點(diǎn)擊注冊(cè)跳轉(zhuǎn)到注冊(cè)界面如圖6-4所示 :</p><p> 圖6-4 教師登錄
95、界面</p><p> 5.教師登錄錯(cuò)誤界面</p><p> 功能介紹:當(dāng)提交的賬號(hào)和密碼不錯(cuò)再或者不匹配時(shí)回返回登錄窗口要求用戶從新輸入并顯示錯(cuò)誤信息 “用戶名或密碼錯(cuò)誤”。如 圖6-5 所示:</p><p> 圖6-5 教師登錄錯(cuò)誤界面</p><p> 6.教師登錄登陸成功進(jìn)入管理界面</p><p>
96、; 功能介紹:當(dāng)所輸入的賬號(hào)和密碼相匹配時(shí)通過(guò)驗(yàn)證返回登錄成功界面即教師功能界面該界面顯示了教師的姓名。教師現(xiàn)在可以查看已被學(xué)生選的自己所發(fā)布的課程。還可以點(diǎn)擊發(fā)布課程發(fā)布新課程。圖6-6 所示:</p><p> 圖6-6 教師管理界面</p><p><b> 7.管理員登錄界面</b></p><p> 功能介紹:本頁(yè)面主要功能為
97、管理員的登錄窗口。擁有兩個(gè)可輸入框分別輸入管理員的賬號(hào)和密碼。有一個(gè)登錄按鈕。輸入完賬號(hào)密碼點(diǎn)擊登錄即可提交。</p><p> 如 圖6-7 所示:</p><p> 圖6-7 管理員登錄界面</p><p> 8.管理員登錄成功進(jìn)入后臺(tái)管理界面 </p><p> 功能介紹:當(dāng)所輸入的賬號(hào)和密碼相匹配時(shí)通過(guò)驗(yàn)證返回登錄成功界面即
98、管理員功能界面該界面顯示了當(dāng)前管理員的姓名。管理員現(xiàn)在可以選擇管理教師、管理學(xué)生或者管理課程 點(diǎn)擊后跳轉(zhuǎn)到相應(yīng)管理界面 如 圖6-8 所示:</p><p> 圖6-8 管理員后臺(tái)管理界面</p><p> 6.2 學(xué)生選課功能</p><p> 學(xué)生登錄界面以及代碼與教師登錄界面相似在這里不再?gòu)?fù)述當(dāng)學(xué)生成功登錄后可以使用選課功能。</p>&l
99、t;p> 1.學(xué)生選課功能界面</p><p> 功能介紹:當(dāng)所輸入的賬號(hào)和密碼相匹配時(shí)通過(guò)驗(yàn)證返回登錄成功界面即學(xué)生功能界面該界面顯示了學(xué)生的姓名?,F(xiàn)在可選的課程 列出了課程名、總?cè)藬?shù)、剩余人數(shù)學(xué)時(shí)、學(xué)分、任課教師、上課地點(diǎn)和上課時(shí)間等。并且每條后面都有選課的超級(jí)鏈接。點(diǎn)擊所要選的課程后面的選課鏈接。如圖6-9 所示:</p><p> 圖6-9 學(xué)生選課功能界面</
100、p><p> 2.點(diǎn)擊選課即可選擇該課程</p><p> 功能介紹:顯示待選課程信息課程名、總?cè)藬?shù)、剩余人數(shù)、學(xué)時(shí)、學(xué)分、任課教師、上課地點(diǎn)和上課時(shí)間等。并提示上次選課操作是否成功,本系統(tǒng)僅限選擇一門課程 如 圖6-10所示:</p><p> 圖6-10 選課成功界面</p><p> 3.查看已選課程信息</p>&l
101、t;p> 功能介紹:查看已選的課程信息。顯示該課程的課程名、學(xué)分、學(xué)時(shí)、上課地點(diǎn)和上課時(shí)間等。如 圖6-11 所示:</p><p> 圖6-11 查看已選課程信息</p><p> 6.3 教師添加課程:</p><p><b> 1.教師添加課</b></p><p> 功能介紹:本界面面顯示了教師的
102、姓名。教師現(xiàn)在可以查看已被學(xué)生選的自己所發(fā)布的課程。還可以點(diǎn)擊發(fā)布課程發(fā)布新課程。點(diǎn)擊發(fā)布課程。如圖6-12所示:</p><p> 圖6-12 教師管理界面</p><p> 2.教師發(fā)布課程信息</p><p> 功能介紹:本頁(yè)面用于教師對(duì)課程信息的發(fā)布。具有填寫課程名稱、上課時(shí)間、上課地點(diǎn)、學(xué)時(shí)、學(xué)分、總?cè)藬?shù)的輸入框。有一個(gè)添加按鈕。點(diǎn)擊用于提交所輸內(nèi)容
103、。如 圖6-13所示 :</p><p> 圖6-13 發(fā)布課程信息</p><p> 3.課程信息發(fā)布成功 </p><p> 功能介紹:本頁(yè)面用于查看已選記錄和發(fā)布課程。并且提示上條課程信息是否發(fā)布成功如圖6-14所示:</p><p> 圖6-14 課程信息添加成功界面</p><p> 4.查看已選該
104、老師課程記錄</p><p> 功能介紹:該界面顯示了教師的姓名。教師現(xiàn)在可以查看已被學(xué)生選的自己所發(fā)布的課程。顯示了該課程的名稱,選擇該課程學(xué)生的姓名、性別、學(xué)號(hào)和所屬班級(jí)。如圖6-15 所示: </p><p> 圖6-15 查看選該教師課程及學(xué)生信息</p><p><b> 6.4 管理員操作</b></p><
105、;p> 1.添加教師/編輯教師信息操作界面</p><p> 功能介紹:本頁(yè)面主要用于添加教師信息和編輯教師信息。具有用于添加教師姓名的輸入框、選擇教師性別的下拉菜單、用于填寫教師賬號(hào)的輸入框和選擇教師院系的下拉菜單以及用于提交輸入信息的添加按鈕。還有顯示教師信息的區(qū)域用于顯示教師姓名、性別、賬號(hào)、所屬學(xué)院以及修改和刪除操作的快捷方式如圖6-16 所示:</p><p> 圖6
106、-16 添加/編輯教師信息操作界面</p><p> 2.管理員添加學(xué)生/編輯學(xué)生信息界面</p><p> 功能介紹:本頁(yè)面主要用于添加學(xué)生信息和編輯學(xué)生信息。具有用于添加學(xué)生姓名的輸入框、選擇學(xué)生性別的下拉菜單、用于填寫學(xué)生學(xué)號(hào)的輸入框、用于填寫班級(jí)信息的輸入框和選擇學(xué)生院系的下拉菜單以及用于提交輸入信息的添加按鈕。如圖6-17所示 :</p><p>
107、圖6-17添加學(xué)生/編輯學(xué)生 信息界面</p><p> 3.管理員管理課程信息 </p><p> 功能介紹:管理員管理課程信息。由于課程信息是由教師發(fā)布所以管理員無(wú)權(quán)修改課程信息有權(quán)利刪除課程信息。本頁(yè)面顯示了課程名稱、上課時(shí)間、上課地點(diǎn)等信息用于方便管理員查看和刪除課程。如圖6-18 所示:</p><p> 圖6-18 管理員管理課程信息</p&
108、gt;<p> 7 設(shè)計(jì)過(guò)程中的問(wèn)題及解決</p><p> 7.1 數(shù)據(jù)庫(kù)的連接</p><p> 每一種數(shù)據(jù)庫(kù)的連接方式驅(qū)動(dòng)和地址端口號(hào)都有有所不同,首要的一點(diǎn)就是認(rèn)真細(xì)心引入驅(qū)動(dòng)配置鏈接地址,通過(guò)查找及實(shí)踐,完成了數(shù)據(jù)庫(kù)的建立和連接。</p><p><b> 7.2 參數(shù)的傳遞</b></p><
109、;p> 在模塊的建立時(shí),很多時(shí)候發(fā)現(xiàn)功能不能正常運(yùn)行,在檢查完程序語(yǔ)句的結(jié)構(gòu)之后,發(fā)現(xiàn)并沒(méi)有錯(cuò)誤,于是在檢查頁(yè)面與頁(yè)面交互時(shí)發(fā)現(xiàn)了問(wèn)題,很多地方傳遞的參數(shù)并沒(méi)有真正的執(zhí)行,還有些地方?jīng)]有進(jìn)行參數(shù)的設(shè)置,才導(dǎo)致了程序的錯(cuò)誤。</p><p><b> 7.3 公共數(shù)據(jù)</b></p><p> 由于一開(kāi)始沒(méi)有使用session對(duì)象,致使很多功能無(wú)法實(shí)現(xiàn),在學(xué)
110、習(xí)了session的相關(guān)內(nèi)容后才解決了一些具體的問(wèn)題,包括網(wǎng)頁(yè)間的參數(shù)的傳遞,公共信息的保存及提取等。</p><p><b> 8 總結(jié)</b></p><p> 通過(guò)最后兩個(gè)多月的畢業(yè)設(shè)計(jì),我對(duì)WEB服務(wù)器、數(shù)據(jù)庫(kù)軟件MySQL5.0、JAVA、JSP、Tomcat 5.5、Struts框架、Hibernate框架等系列知識(shí)都有了一定的了解。</p>
111、;<p> 由于在此之前對(duì)于JAVA 、Jsp、框架、MySQL5.0和Tomcat知識(shí)的了解幾乎是一片空白,所以從一開(kāi)始就碰到許多困難。例如一開(kāi)始我使用的是Access2000數(shù)據(jù)庫(kù)服務(wù)器,由于性能上與我使用的操作系統(tǒng)Windows XP有很多地方不相容,使得我在很長(zhǎng)一段時(shí)間內(nèi)找不到問(wèn)題的癥結(jié),導(dǎo)致了大量時(shí)間在檢查代碼甚至是對(duì)硬件的檢查中,后來(lái)在看了有關(guān)Jsp、JAVA編程方面的資料后更換了數(shù)據(jù)庫(kù)服務(wù)器才將問(wèn)題解決,另
112、外在進(jìn)行對(duì)循環(huán)顯示以及網(wǎng)頁(yè)中腳本代碼與html代碼之間的關(guān)系上都有過(guò)很大的困難,通過(guò)在網(wǎng)上尋找有關(guān)資料以及同學(xué)的幫助下最后都得到了解決。</p><p> 在整個(gè)設(shè)計(jì)階段感受最為深刻的是掌握學(xué)習(xí)的方式和解決問(wèn)題的方法。首先是解決問(wèn)題的方式,雖然面臨的信息很多,但是如何從大量的信息中篩選出所需的信息,有用的信息,才是解決問(wèn)題的關(guān)鍵,另外一個(gè)就是解決問(wèn)題的方法,就像我在解決設(shè)計(jì)中的很多問(wèn)題一樣,一開(kāi)始總是在看書,和
溫馨提示
- 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. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)----網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 大學(xué)選課系統(tǒng)的分析、設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)】
- 網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)基于web的選課系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于java的學(xué)生選課系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)+網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)---基于bs模式選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于ajax的學(xué)生選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)--在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 在線書店系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----在線考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 在線考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 在線選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘 要
- 在線購(gòu)物系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 教務(wù)畢業(yè)設(shè)計(jì)選題與選課系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---在線房屋租賃系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 花卉在線銷售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 在線點(diǎn)餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論