2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩44頁未讀, 繼續(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><b>  摘 要</b></p><p>  基于計(jì)算機(jī)和網(wǎng)絡(luò)的教學(xué)管理,可有效監(jiān)控教學(xué)質(zhì)量,提高教學(xué)管理水平,相關(guān)系統(tǒng)的開發(fā)設(shè)計(jì)已引起關(guān)注,本課題就是基于J2EE技術(shù),開發(fā)設(shè)計(jì)的教學(xué)評(píng)估系統(tǒng)。</p><p>  首先,從教學(xué)評(píng)估系統(tǒng)的需求入手,確定了系統(tǒng)的模塊結(jié)構(gòu),設(shè)計(jì)了教學(xué)評(píng)估系統(tǒng)的指標(biāo)體系。我們使用UML技術(shù)設(shè)計(jì)了系統(tǒng)靜態(tài)和動(dòng)態(tài)的設(shè)計(jì)模型

2、,使用用例圖描述了系統(tǒng)的功能和操作者;使用類圖描述了系統(tǒng)的靜態(tài)結(jié)構(gòu),分別設(shè)計(jì)了系統(tǒng)中實(shí)體BEAN,控制BEAN,基礎(chǔ)BEAN并在實(shí)現(xiàn)部分給出了典型的實(shí)現(xiàn)細(xì)節(jié);時(shí)序圖用來顯示對(duì)象之間的關(guān)系,強(qiáng)調(diào)對(duì)象之間的消息的時(shí)間順序,同時(shí)顯示對(duì)象之間的交互,文中分析了較復(fù)雜的學(xué)員投票功能的時(shí)序圖。根據(jù)數(shù)據(jù)庫的規(guī)范化設(shè)計(jì)理論設(shè)計(jì)了系統(tǒng)的數(shù)據(jù)庫結(jié)構(gòu),在設(shè)計(jì)中通過適當(dāng)?shù)脑黾尤哂啻蟠筇岣吡讼到y(tǒng)的查詢速度,論文給出了數(shù)據(jù)庫關(guān)系圖[1]。</p>&

3、lt;p>  其次,介紹了系統(tǒng)的實(shí)現(xiàn),分析了幾個(gè)典型的業(yè)務(wù)邏輯封裝的實(shí)現(xiàn)細(xì)節(jié)、幾個(gè)典型的交互界面的實(shí)現(xiàn)細(xì)節(jié)和實(shí)際界面展示,以及應(yīng)用系統(tǒng)在Tomcat上的部署。</p><p>  系統(tǒng)實(shí)現(xiàn)已達(dá)預(yù)期目標(biāo),滿足了教學(xué)評(píng)估的基本要求,系統(tǒng)具有友好的交互界面,對(duì)學(xué)院教學(xué)質(zhì)量和管理水平的提高起來積極的作用。</p><p>  關(guān)鍵詞:Struts Hibernate Spring U

4、ML</p><p><b>  Abstract</b></p><p>  Based on the teaching management of computer and network, We can effectively control the quality of teaching and improve teaching management. Dev

5、eloping and designing of correlative system has attracted people’s attention. This subject is based on J2EE technology, It Designs the Educational Evaluation System.</p><p>  First, Start on the demand analy

6、sis of the Education Evaluation System, We design the system’s module structure. We designe a static and dynamic design model using UML, It describes the system’s functions and operators using use case diagram, and descr

7、ibes the static structure using class diagram, We design the Entity JavaBean, Control JavaBean, based JavaBean, and give the typical details of class’s implementation. Sequence Diagrams are used to describe the relations

8、hip between objects. It emph</p><p>  Secondly, The paper introduces the system implementation, and analysis the several typical implementation details of business logic Package, Several typical interface im

9、plementation details. It shows the actual interface, and introduces the deplovment of application system in Tomcat.</p><p>  The system has been completed, Actual using shows that it achieves the desired goa

10、l, and meets the basic requirements of the educational improving the teaching quality and management level.</p><p>  KEY WORD:Struts Hibernate Spring UML</p><p><b>  目 錄</b></p

11、><p><b>  1.緒論1</b></p><p>  1.1.課題研究背景1</p><p>  1.2.相關(guān)技術(shù)研究動(dòng)態(tài)1</p><p>  1.3.課題研究的目的和意義2</p><p>  1.4.研究?jī)?nèi)容及章節(jié)安排2</p><p>  2

12、.系統(tǒng)相關(guān)技術(shù)3</p><p>  2.1.市場(chǎng)調(diào)查報(bào)告3</p><p>  2.2.相關(guān)技術(shù)討論與比較3</p><p>  2.2.1.基于J2EE的Struts技術(shù)3</p><p>  2.2.2.基于J2EE的Hibernate技術(shù)4</p><p>  2.2.3.基于J2EE的S

13、pring技術(shù)4</p><p>  2.3.關(guān)于三層框架的關(guān)系與在本系統(tǒng)中的應(yīng)用5</p><p>  2.4.UML建模的使用5</p><p>  2.5.本方案軟件選擇與分析5</p><p><b>  3.需求分析7</b></p><p>  3.1.總體需求7

14、</p><p>  3.2.系統(tǒng)的業(yè)務(wù)處理流程7</p><p>  3.3.系統(tǒng)的功能模塊7</p><p>  3.4.系統(tǒng)用例模型9</p><p>  3.5.類模型11</p><p>  3.6.動(dòng)態(tài)模型13</p><p>  3.7.評(píng)估指標(biāo)設(shè)計(jì)13&l

15、t;/p><p>  4.系統(tǒng)設(shè)計(jì)15</p><p>  4.1.平臺(tái)的選擇15</p><p>  4.2.數(shù)據(jù)庫設(shè)計(jì)15</p><p>  4.2.1.E-R圖15</p><p>  4.2.2.邏輯結(jié)構(gòu)設(shè)計(jì)17</p><p>  4.3.數(shù)據(jù)庫實(shí)現(xiàn)17</

16、p><p>  4.3.1.創(chuàng)建表17</p><p>  4.3.2.具體表結(jié)構(gòu)18</p><p>  4.4.前臺(tái)子系統(tǒng)20</p><p>  4.5.后臺(tái)管理子系統(tǒng)20</p><p>  4.6.后臺(tái)評(píng)估子系統(tǒng)22</p><p>  5.系統(tǒng)的實(shí)現(xiàn)24</

17、p><p>  5.1.平臺(tái)的搭建24</p><p>  5.1.1.添加Strust支持24</p><p>  5.1.2.添加Spring支持26</p><p>  5.1.3.添加Hibernate支持26</p><p>  5.2.過濾器的添加28</p><p>

18、;  5.3.亂碼的處理28</p><p>  5.4.防盜鏈處理28</p><p>  5.5.加入log4j.properties29</p><p>  5.6.登錄模塊的實(shí)現(xiàn)29</p><p>  5.7.系統(tǒng)維護(hù)模塊的實(shí)現(xiàn)30</p><p>  5.7.1.Excel表信息的導(dǎo)入

19、34</p><p>  5.7.2.關(guān)于POJO中類與表的映射35</p><p>  5.8.學(xué)生評(píng)估模塊的實(shí)現(xiàn)35</p><p>  5.9.應(yīng)用程序的部署38</p><p>  5.10.系統(tǒng)的使用方法39</p><p><b>  6.結(jié)論43</b><

20、/p><p><b>  參考文獻(xiàn)44</b></p><p><b>  致 謝45</b></p><p><b>  緒論 </b></p><p><b>  課題研究背景</b></p><p>  歷史的車輪將我們載入

21、了信息化和知識(shí)經(jīng)濟(jì)的時(shí)代。計(jì)算機(jī)網(wǎng)絡(luò)為教育機(jī)構(gòu)提供了一個(gè)嶄新的平臺(tái)。由于信息及相關(guān)技術(shù)的飛速發(fā)展,利用計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行校園信息管理與業(yè)務(wù)操作已經(jīng)成為可能。</p><p>  隨著評(píng)估意識(shí)覺醒,人們不再盲目地工作;而是借著評(píng)估積極探索著:為什么而做?做了什么?做得如何?這種評(píng)估意識(shí)的覺醒深刻影響著社會(huì)生活的各個(gè)領(lǐng)域。人們已經(jīng)充分認(rèn)識(shí)到:評(píng)估是科學(xué)決策、質(zhì)量控制的重要手段之一,缺少了評(píng)估這一環(huán)節(jié),往往會(huì)導(dǎo)致重復(fù)建設(shè)、

22、低水平建設(shè)和無效益建設(shè),因此多年來,國(guó)外對(duì)評(píng)估工作十分重視,在幾乎所有的建設(shè)項(xiàng)目中,評(píng)估均占有舉足輕重的地位,往往是以評(píng)估開始,也以評(píng)估結(jié)束。</p><p>  對(duì)網(wǎng)絡(luò)教學(xué)系統(tǒng)的建設(shè)問題,評(píng)估也有著重要的意義和作用。在系統(tǒng)建設(shè)之前,評(píng)估工作能幫助人們發(fā)現(xiàn)、確定社會(huì)對(duì)有關(guān)項(xiàng)目的需求和目標(biāo),進(jìn)而分析研究對(duì)應(yīng)的課程建設(shè)事宜。同時(shí),對(duì)建設(shè)方案的評(píng)估會(huì)幫助決策部門科學(xué)地選擇最恰當(dāng)?shù)慕ㄔO(shè)方案,最大效益地使用有限的建設(shè)資金;

23、在建設(shè)過程中的評(píng)估,有助于投資部門科學(xué)地監(jiān)測(cè)項(xiàng)目的進(jìn)度、建設(shè)水平等,借以掌握必要的主動(dòng)權(quán);對(duì)建設(shè)完成的網(wǎng)絡(luò)教學(xué)系統(tǒng)的評(píng)估,不僅能較好地反映決策、投資效益,為下一個(gè)建設(shè)項(xiàng)目提供參考,而且能幫助廣大學(xué)員了解系統(tǒng)的功能、作用及特點(diǎn),從而選擇最佳的學(xué)習(xí)手段,提高學(xué)習(xí)效益。在新需求的推動(dòng)下,自動(dòng)化、人性化、易于操作與管理的教務(wù)平臺(tái)應(yīng)運(yùn)而生,本課題中我們所設(shè)計(jì)和開發(fā)的這款產(chǎn)品正是在這個(gè)大背景下應(yīng)運(yùn)而生的[2]。</p><p&g

24、t;<b>  相關(guān)技術(shù)研究動(dòng)態(tài)</b></p><p>  J2EE是一種利用Java 2平臺(tái)來簡(jiǎn)化企業(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ù)據(jù)庫的JDBC API、CORBA技術(shù)

25、以及能夠在Internet應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等等,同時(shí)還提供了對(duì) EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技術(shù)的全面支持。其最終目的就是成為一個(gè)能夠使企業(yè)開發(fā)者大幅縮短投放市場(chǎng)時(shí)間的體系結(jié)構(gòu)。  </p><p>  J2EE為搭建具有可

26、伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的機(jī)制,允許公司把一些通用的、很繁瑣的服務(wù)端任務(wù)交給中間件供應(yīng)商去完成。這樣開發(fā)人員可以集中精力在如何創(chuàng)建商業(yè)邏輯上,相應(yīng)地縮短了開發(fā)時(shí)間。</p><p>  這種基于組件,具有平臺(tái)無關(guān)性的J2EE 結(jié)構(gòu)使得J2EE 程序的編寫十分簡(jiǎn)單,因?yàn)闃I(yè)務(wù)邏輯被封裝成可復(fù)用的組件,并且J2EE 服務(wù)器以容器的形式為所有的組件類型提供后臺(tái)服務(wù).

27、60;因?yàn)槟悴挥米约洪_發(fā)這種服務(wù), 所以你可以集中精力解決手頭的業(yè)務(wù)問題。一個(gè)服務(wù)器端平臺(tái)必須能全天候運(yùn)轉(zhuǎn)以滿足公司客戶、合作伙伴的需要。因?yàn)镮NTERNET是全球化的、無處不在的,即使在夜間按計(jì)劃停機(jī)也可能造成嚴(yán)重?fù)p失。若是意外停機(jī),那會(huì)有災(zāi)難性后果。J2EE部署到可靠的操作環(huán)境中,他們支持長(zhǎng)期的可用性。一些J2EE部署在WINDOWS環(huán)境中,客戶也可選擇健壯性能更好的操作系統(tǒng)如Sun Solaris、IBM

28、60;OS/390。最健壯的操作系統(tǒng)可達(dá)到99.999%的可用性或每年只需5分鐘停機(jī)時(shí)間。這是實(shí)時(shí)性很強(qiáng)商業(yè)系統(tǒng)理想的選擇[6]。</p><p>  課題研究的目的和意義</p><p>  本課題的提出也正是基于上述想法,意在開發(fā)一個(gè)面向校園的一個(gè)教學(xué)評(píng)估系統(tǒng),它的出發(fā)點(diǎn)必須是實(shí)用,操作簡(jiǎn)單,界面友好,能很好的減輕教師員工的工作量,起到一個(gè)學(xué)生與教師交流的一個(gè)溝通平臺(tái)。另外也是為了鍛煉

29、自己,加強(qiáng)對(duì)相關(guān)技術(shù)的掌控能力,了解內(nèi)部的運(yùn)行原理。</p><p><b>  研究?jī)?nèi)容及章節(jié)安排</b></p><p>  本論文擬從以下幾個(gè)部分撰寫:</p><p>  第一章緒論是對(duì)將要開發(fā)的項(xiàng)目的一個(gè)綜述。主要研究了課題的研究背景,相關(guān)技術(shù)研究動(dòng)態(tài),課題研究目的與意義。</p><p>  第二章介紹了本課

30、題中會(huì)用到的相關(guān)技術(shù),以及技術(shù)之間的對(duì)比,優(yōu)勢(shì)與缺點(diǎn)等。之后還討論了開發(fā)過程中會(huì)用到的一些建模工具等。</p><p>  第三章介紹了本課題的需求分析,相關(guān)技術(shù)的討論,以及結(jié)合本課題所作的大體思維框架。</p><p>  第四章進(jìn)行了課題的具體設(shè)計(jì),平臺(tái)的選擇,數(shù)據(jù)庫的設(shè)計(jì),靜態(tài)圖,動(dòng)態(tài)圖等。</p><p>  第五章對(duì)前面的設(shè)計(jì)思路進(jìn)行了實(shí)現(xiàn),描述了各項(xiàng)技術(shù)

31、的開發(fā)細(xì)節(jié)。</p><p>  第六章是總結(jié)與展望。</p><p><b>  系統(tǒng)相關(guān)技術(shù)</b></p><p><b>  市場(chǎng)調(diào)查報(bào)告</b></p><p>  市場(chǎng)上有一些成熟的教學(xué)評(píng)估的產(chǎn)品,但這些品在多是根據(jù)不同大學(xué)需求定制的,伸縮性不強(qiáng),對(duì)于本課題的要求顯得功能不足,比如聯(lián)創(chuàng)數(shù)

32、碼普通高校教學(xué)評(píng)估系統(tǒng)南京科建本科教學(xué)評(píng)估管理系統(tǒng)都是使用較為廣泛的評(píng)估系統(tǒng),但這些系統(tǒng)都是針對(duì)教育部是新頒發(fā)的《普通高等學(xué)校本科教學(xué)工作水平評(píng)估方案》而開發(fā)的系統(tǒng),系統(tǒng)主要是電子文檔管理、檔案管理、基本數(shù)據(jù)管理、數(shù)據(jù)查詢、數(shù)據(jù)統(tǒng)計(jì)等,而在學(xué)員對(duì)老師教學(xué)效果的評(píng)價(jià)卻很少涉及,即使涉及也不是學(xué)員通過網(wǎng)絡(luò)對(duì)教師的教學(xué)效果進(jìn)行評(píng)價(jià)。</p><p><b>  相關(guān)技術(shù)討論與比較</b></

33、p><p>  基于J2EE的Struts技術(shù)</p><p>  隨著JSP技術(shù)的成熟,越來越多的開發(fā)人員開始使用Web應(yīng)用框架??蚣転閃eb應(yīng)用提供了預(yù)備的軟件架構(gòu)和相關(guān)的軟件包,它大大提高了開發(fā)Web應(yīng)用的速度和效率?,F(xiàn)在,當(dāng)開發(fā)人員開始一個(gè)新的項(xiàng)目時(shí),他們首先考慮的問題不是“我們是否需要框架”,而是我們應(yīng)該使用什么樣的框架。本系統(tǒng)將采用Struts框架來對(duì)整個(gè)系統(tǒng)進(jìn)行業(yè)務(wù)邏輯的控制,它

34、負(fù)責(zé)對(duì)不同的表單需求進(jìn)行分發(fā),傳送到相應(yīng)的Action中去進(jìn)行處理,完成后再負(fù)責(zé)把結(jié)果數(shù)據(jù)傳送回相應(yīng)的結(jié)果頁面[1]。</p><p>  但這種功能是不是只有Struts才能完成呢,當(dāng)然不是。JSP + JavaBean可以完成,JSP + Servlet也可以完成,但為什么我們要選擇Struts框架呢?在這之前我們應(yīng)該先了解一下什么是MVC的設(shè)計(jì)模式,MVC設(shè)計(jì)模式強(qiáng)制性的吧應(yīng)用程序的輸入、處理和輸出分開。它

35、把應(yīng)用程序分成三個(gè)核心模塊:模型、視圖和控制器,它們分別負(fù)責(zé)不同的任務(wù)。視圖顯示模型狀態(tài),接受數(shù)據(jù)更新請(qǐng)求,把用戶輸入數(shù)據(jù)付給控制器;控制器接受用戶請(qǐng)求,調(diào)用模型響應(yīng)用戶請(qǐng)求,選擇視圖顯示響應(yīng)結(jié)果;最后模型代表應(yīng)用程序狀態(tài),響應(yīng)狀態(tài)查詢處理業(yè)務(wù)流程,通知視圖業(yè)務(wù)狀態(tài)更新。了解了MVC模式之后我們了解到它的作用主要是使我們的程序獨(dú)立性更高,更加模塊化,各個(gè)層獨(dú)立完成自己的任務(wù),耦合低,一個(gè)部分出錯(cuò)后,其它部分不會(huì)受到影響,這樣我們寫出來的

36、程序就更加清晰了[8]。</p><p>  以上提到的JSP + JavaBean或 JSP + Servlet也可以完成相應(yīng)的功能,但Jsp + JavaBean的缺點(diǎn)是Java代碼全部嵌套在JSP頁面里邊,這樣一旦出現(xiàn)問題,將會(huì)很難從HTML與JAVA混合的頁面出找出錯(cuò)誤。JSP + Servlet這種模式Servlet雖然可以起到一個(gè)控制作用,但Servlet中的代碼不夠靈活,往往跳轉(zhuǎn)語句是一些硬代碼,這

37、樣如果以后出現(xiàn)業(yè)務(wù)邏輯的改變,就需要改變很多的代碼,Struts用XML文件保存了會(huì)動(dòng)態(tài)改變的一些跳轉(zhuǎn)語句與一些國(guó)際化的參數(shù),這樣如果程序要改變,只需要簡(jiǎn)單的改變XML文件即可。Struts幫我們完成了很多重復(fù)性的工作,提高我們的工作效率,當(dāng)然程序也更加健壯[3]。</p><p>  基于J2EE的Hibernate技術(shù)</p><p>  我們知道,任何網(wǎng)絡(luò)系統(tǒng)都會(huì)涉及到數(shù)據(jù)庫的使用,

38、以往框架還沒有出現(xiàn)時(shí),程序員們往往會(huì)自己把經(jīng)常使用的對(duì)數(shù)據(jù)的操作封裝到類中,在業(yè)務(wù)邏輯層使用時(shí)就可以直接調(diào)用,十分方便,缺點(diǎn)就是不同程序員由于技術(shù)上的差別,所以導(dǎo)致出現(xiàn)代碼不夠健壯,程序不穩(wěn)定,效率不高等問題,隨著技術(shù)的發(fā)展,Hibernate應(yīng)運(yùn)而生。但它是干什么的呢?</p><p>  在Java領(lǐng)域,可以直接通過JDBC編程來訪問數(shù)據(jù)庫。JDBC可以說是訪問關(guān)系數(shù)據(jù)庫的最原始、最直接的方法。這種方式的優(yōu)點(diǎn)

39、是運(yùn)行效率高,缺點(diǎn)是在Java程序代碼中嵌入大量的SQL語句,使用項(xiàng)目難以維護(hù)。在開發(fā)企業(yè)級(jí)應(yīng)用時(shí),可以通過JDBC編程來開發(fā)單獨(dú)的持久化層,把數(shù)據(jù)庫訪問操作封裝起來,提供簡(jiǎn)潔的API,供業(yè)務(wù)層統(tǒng)一調(diào)用。但是如果關(guān)系數(shù)據(jù)模型復(fù)雜,那么直接通過JDBC編程來實(shí)現(xiàn)持久化層需要有專業(yè)的知識(shí)。對(duì)于企業(yè)應(yīng)用開發(fā)人員,花費(fèi)大量時(shí)間從頭開發(fā)自己的持久化層不是很可行。</p><p>  幸運(yùn)的是,目前在持久化層已經(jīng)有好多種現(xiàn)成

40、的持久化中間件可供選用,有些是商業(yè)性的,如TopLink;有些是非商業(yè)性的,如JDO和Hibernate。Hibernate是一個(gè)基于Java的開源代碼中間件,它對(duì)JDBC做了輕量級(jí)封裝,不公提供ORM映射服務(wù),還提供數(shù)據(jù)查詢和數(shù)據(jù)緩存功能,Java開發(fā)人員可以方便地通過Hiberante API開操縱數(shù)據(jù)庫[3]。</p><p>  基于J2EE的Spring技術(shù)</p><p>  

41、有了Struts作為一個(gè)“管家”似的來管理業(yè)務(wù)邏輯的分配,有Hibernate作為數(shù)據(jù)底層的操作封裝,似乎我們不需要其它的技術(shù)來支持我們系統(tǒng)了,看似比較完美了,但我們?yōu)榱撕?jiǎn)化應(yīng)用程序的設(shè)計(jì),我們還應(yīng)該引入一項(xiàng)技術(shù),它就是Spring。作為JavaEE中最核心的EJB技術(shù),也一度成為JavaEE應(yīng)用的核心。不幸的是,EJB帶來了全新的企業(yè)級(jí)開發(fā)模型的同時(shí),也帶來了不必要的復(fù)雜性:復(fù)雜的接口,難于測(cè)試和部署。越來越多的開發(fā)人員不斷反思EJB

42、開發(fā)的復(fù)雜性,并試圖以更簡(jiǎn)單的Java技術(shù)來簡(jiǎn)化JavaEE應(yīng)用的開發(fā)。</p><p>  Spring提出了以JavaBean為組件模型、針對(duì)接口編程、使用依賴注入等許多優(yōu)秀的設(shè)計(jì)思想,并且Sping可以無縫整合許多流行框架,如Struts、Hibernate等。人們很快意識(shí)到以Sping框架為基礎(chǔ)來開發(fā)JavaEE應(yīng)用程序可以大大簡(jiǎn)化應(yīng)用程序的設(shè)計(jì)、調(diào)用和部署,并得到一個(gè)松散耦合的系統(tǒng)架構(gòu)。因此,Sping

43、得到了越來越廣泛的應(yīng)用。</p><p>  關(guān)于三層框架的關(guān)系與在本系統(tǒng)中的應(yīng)用</p><p>  本系統(tǒng)采用Struts來進(jìn)行一個(gè)全局的掌控,它管理調(diào)用由Hibernate封裝的底層功能對(duì)象,Spring用來創(chuàng)建所有在系統(tǒng)中會(huì)被用來的對(duì)象,它的基本理念與設(shè)計(jì)模式中的工廠模式基本一致,它的依賴注入可以把所有用到的對(duì)象放到一個(gè)XML文件中,這樣我們?cè)谡{(diào)用底層的功能對(duì)象時(shí)就不需要自己來創(chuàng)建

44、對(duì)象了。所以簡(jiǎn)單的說就是Struts來管理由Spring創(chuàng)建的Hibernate對(duì)象,當(dāng)然經(jīng)典的三層框架功能不僅僅如此,以上介紹的只是本系統(tǒng)中所用到的技術(shù)。</p><p><b>  UML建模的使用</b></p><p>  統(tǒng)一建模語言(Unified Modeling Language,UML)是一種可視化的建模語言,它能讓系統(tǒng)構(gòu)造者用標(biāo)準(zhǔn)的、易于理解的方式

45、建立起能夠表達(dá)他們想象力的系統(tǒng)藍(lán)圖,并且提供了便于不同人之間有效地共享和交流設(shè)計(jì)結(jié)果的機(jī)制。UML作為通用的可視化建模語言,用于對(duì)軟件進(jìn)行描述、可視化處理、構(gòu)造和建立軟件系統(tǒng)制品的文檔。它記錄了對(duì)必須構(gòu)造的系統(tǒng)的決定和理解,可用于對(duì)系統(tǒng)的理解、設(shè)計(jì)、瀏覽、配置、維護(hù)和信息控制。UML 適用于各種軟件開發(fā)方法、軟件生命周期的各個(gè)階段、各種應(yīng)用領(lǐng)域以及各種開發(fā)工具,UML 是一種總結(jié)了以往建模技術(shù)的經(jīng)驗(yàn)并吸收當(dāng)今優(yōu)秀成果的標(biāo)準(zhǔn)建模方法[7]

46、。</p><p>  本方案軟件選擇與分析</p><p>  本系統(tǒng)使用的IDE編譯器是Eclipse,Eclipse 是一個(gè)開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開發(fā)工具(Java Development Tools,JDT)。 雖然大多數(shù)

47、用戶很樂于將 Eclipse 當(dāng)作 Java IDE 來使用,但 Eclipse 的目標(biāo)不僅限于此。Eclipse 還包括插件開發(fā)環(huán)境(Plug-in Development Environment,PDE),這個(gè)組件主要針對(duì)希望擴(kuò)展 Eclipse 的軟件開發(fā)人員,因?yàn)樗试S他們構(gòu)建與 Eclipse 環(huán)境無縫集成的工具。由于 Eclipse 中的每樣?xùn)|西都是插件,對(duì)于給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)

48、境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場(chǎng)所。</p><p>  本系統(tǒng)所使用的桌面服務(wù)器是Tomcat,自從JSP發(fā)布之后,推出了各式各樣的JSP引擎。Apache Group在完成GNUJSP1.0的開發(fā)以后,開始考慮在SUN的JSWDK基礎(chǔ)上開發(fā)一個(gè)可以直接提供Web服務(wù)的JSP服務(wù)器,當(dāng)然同時(shí)也支持Servlet, 這樣Tomcat就誕生了。Tomcat是jakarta項(xiàng)目中的一個(gè)重要的子項(xiàng)目,其被Ja

49、vaWorld雜志的編輯選為2001年度最具創(chuàng)新的java產(chǎn)品,同時(shí)它又是sun公司官方推薦的servlet和jsp容器,因此其越來越多的受到軟件公司和開發(fā)人員的喜愛。servlet和jsp的最新規(guī)范都可以在tomcat的新版本中得到實(shí)現(xiàn)。其次,Tomcat是完全免費(fèi)的軟件,任何人都可以從互聯(lián)網(wǎng)上自由地下載。Tomcat與Apache的組合相當(dāng)完美。</p><p>  本系統(tǒng)所用的數(shù)據(jù)庫是MySQL,MySQL

50、是最受歡迎的開源SQL數(shù)據(jù)庫管理系統(tǒng),MySQL是一個(gè)快速的、多線程、多用戶和健壯的SQL數(shù)據(jù)庫服務(wù)器。MySQL服務(wù)器支持關(guān)鍵任務(wù)、重負(fù)載生產(chǎn)系統(tǒng)的使用,也可以將它嵌入到一個(gè)大配置(mass-deployed)的軟件中去。</p><p><b>  需求分析</b></p><p><b>  總體需求</b></p><

51、p>  系統(tǒng)的主要用戶主要有三類,系統(tǒng)管理人員、學(xué)員、游客,需求就是針對(duì)這三類人員進(jìn)行。系統(tǒng)的主要功能如下:</p><p>  系統(tǒng)維護(hù):主要完成權(quán)限的維護(hù)、教師信息的維護(hù)、課程信息的維護(hù)、學(xué)員與管理員帳號(hào)的維護(hù)、評(píng)估規(guī)則維護(hù)、學(xué)生信息維護(hù),留言簿信息的維護(hù)等等。</p><p>  學(xué)員打分:主要完成學(xué)期未學(xué)員對(duì)教師的打分,以作為學(xué)校對(duì)教師教堂質(zhì)量的一個(gè)考信息,另外學(xué)員可以查看個(gè)

52、人信息。</p><p>  公告新聞:此系統(tǒng)主頁可以發(fā)布學(xué)校最近發(fā)生的事件,讓游客以上權(quán)限的人瀏覽,另外游客可以不用身份驗(yàn)證進(jìn)入留言簿發(fā)帖發(fā)表想法。</p><p><b>  系統(tǒng)的業(yè)務(wù)處理流程</b></p><p><b>  圖3.1系統(tǒng)流程圖</b></p><p><b> 

53、 系統(tǒng)的功能模塊</b></p><p>  根據(jù)總體需求得知,教學(xué)評(píng)估系統(tǒng)的用戶有系統(tǒng)管理員、學(xué)員與游客,從功能上看,他們相對(duì)獨(dú)立,沒有什么聯(lián)系,所以我們針對(duì)這三種角色把整個(gè)系統(tǒng)分為這三大模塊:系統(tǒng)維護(hù)模塊、學(xué)生評(píng)估模塊、主頁信息發(fā)布模塊。</p><p>  圖示:3.2系統(tǒng)功能模塊圖</p><p>  本系統(tǒng)主要由三個(gè)模塊組成:</p>

54、;<p>  前臺(tái)頁面,主要完成校園信息新聞的發(fā)布,游客可以不用進(jìn)行身份驗(yàn)證直接進(jìn)入留言簿發(fā)表自己想法,但權(quán)限只權(quán)于查看帖子與添加帖子,游客是沒有刪除帖子的權(quán)限的,可以通過管理來完成此功能。</p><p>  圖3.3新聞發(fā)布模塊圖</p><p>  后臺(tái)系統(tǒng)維護(hù)模塊主要完成對(duì)學(xué)院信息的管理,可以對(duì)不同年級(jí)的班級(jí)進(jìn)行管理,對(duì)課程的種類進(jìn)行管理,對(duì)教師信息進(jìn)行管理, 對(duì)學(xué)生

55、信息管理,對(duì)教師任課進(jìn)行管理,本系統(tǒng)可以通過教師與課程種類的關(guān)聯(lián),來讓學(xué)生評(píng)估時(shí)知道本班有那幾位教師需要打分,同時(shí)還可以對(duì)兩同種角色的人員進(jìn)行權(quán)限分配,對(duì)留言簿進(jìn)行刪帖、增帖、查看等。</p><p>  圖3.4系統(tǒng)維護(hù)模塊圖</p><p>  后臺(tái)學(xué)生評(píng)估模塊主要完成查詢個(gè)人信息與對(duì)教師進(jìn)行評(píng)估,通過讀取相應(yīng)關(guān)聯(lián)表格的數(shù)據(jù)讀取該班需要評(píng)估的教師,打分后算出該位教師的平均分存入數(shù)據(jù)庫。

56、</p><p>  圖3.5 學(xué)生評(píng)估模塊</p><p><b>  系統(tǒng)用例模型</b></p><p>  用例圖中包含系統(tǒng)、活動(dòng)者、用例以及元素之間的各種關(guān)系(泛化、關(guān)聯(lián)、依賴)等模型元素。用例圖主要來為系統(tǒng)的需求建模,需求建模規(guī)定系統(tǒng)應(yīng)該做什么,但不涉及系統(tǒng)怎么做。 </p><p> ?。?)學(xué)員評(píng)估打分模

57、塊:</p><p><b>  該模塊有三個(gè)用例。</b></p><p>  評(píng)估打分是在學(xué)期未學(xué)生對(duì)這學(xué)期來對(duì)教師教學(xué)質(zhì)量的一個(gè)評(píng)價(jià),結(jié)果做為學(xué)校對(duì)教師任教質(zhì)量的一個(gè)參考因數(shù)。</p><p>  學(xué)生登錄時(shí)檢查學(xué)員的用戶名和密碼是否正確,將用戶信息保存在頁面的Session中,這樣我們可以在系統(tǒng)中加入過濾器,來驗(yàn)證用戶的每步操作是否合法

58、,如果是沒有經(jīng)過驗(yàn)證的用戶直接使用盜鏈來進(jìn)行相關(guān)操作,就會(huì)被檢查出來是非法操作。</p><p>  學(xué)生經(jīng)過合法驗(yàn)證后可以查詢自己的個(gè)人信息。</p><p><b>  圖3.6</b></p><p> ?。?)系統(tǒng)維護(hù)模塊:</p><p><b>  該模塊有九個(gè)用例:</b></p

59、><p>  學(xué)院信息管理包括了老師管理、學(xué)生管理、班級(jí)管理、任課管理、課程管理等五個(gè)用例。</p><p>  系統(tǒng)信息管理包括了登錄驗(yàn)證、用戶管理、留言簿等三個(gè)用例。</p><p>  評(píng)估管理包括了評(píng)估規(guī)則、評(píng)估結(jié)果的管理。</p><p><b>  圖3.7</b></p><p> ?。?/p>

60、3)前臺(tái)新聞發(fā)布模塊:</p><p>  該模塊共有二個(gè)用例,此模塊為普通游客權(quán)限以上均可使用的功能,不需要身份驗(yàn)證。</p><p>  前臺(tái)新聞發(fā)布模塊用例圖:</p><p><b>  圖3.8</b></p><p><b>  類模型</b></p><p> 

61、 類圖是系統(tǒng)靜態(tài)視圖的一部分,它主要用來描述軟件系統(tǒng)的靜態(tài)結(jié)構(gòu)。它是定義其他圖(如時(shí)序圖)的基礎(chǔ),在類圖的基礎(chǔ)上,時(shí)序圖、狀態(tài)圖、協(xié)作圖、組件圖和配置圖等進(jìn)一步描述系統(tǒng)的其他方面的特性。</p><p>  我們從系統(tǒng)維護(hù)、學(xué)員評(píng)估、新聞發(fā)布三大模塊來分析系統(tǒng)類模型。</p><p>  系統(tǒng)維護(hù)類模型包括四類:</p><p>  實(shí)體Bean 之POJO類:包括

62、Admin、Classes、Course、Student、Teacher、Ts、Rule它們都和數(shù)據(jù)庫tjs中的相應(yīng)的表相對(duì)應(yīng),在使用它們之前我們已經(jīng)通過Hibernate產(chǎn)生與相應(yīng)表的映射,所以直接操縱這些類與操作相應(yīng)的表是一樣的效果。</p><p>  控制Bean之Action:在第二章已經(jīng)介紹過,所有的邏輯控制都是通過Struts框架來完成的,通過在相應(yīng)的Action中完成業(yè)務(wù)邏輯操作,再把跳轉(zhuǎn)參數(shù)寫入

63、XML文件,這樣產(chǎn)生的結(jié)果直接可以通過讀取XML文件中的跳轉(zhuǎn)信息跳轉(zhuǎn)到相應(yīng)的界面。這些類包括:AdminAction、ClassesActioni、CourseAction、NoteAction、RuleAction、、SetClassAction、StuinfoAction、TeacherAction。</p><p>  底層操作Bean之Dao類:所有在本系統(tǒng)中關(guān)于Dao的類都是用來對(duì)相應(yīng)表在數(shù)據(jù)庫中數(shù)據(jù)的

64、操作用的。這一層是用Hibernate來進(jìn)行的封裝,對(duì)數(shù)據(jù)的操縱是用org.hibernate.session這個(gè)類來完成的。分別對(duì)應(yīng)每張表的Dao類分別是:</p><p>  AdminDaoImpl 、ClassesDaoImpl、CourseDaoImpl、NoteDaoImpl、RuleDaoImpl、SetClassDaoImpl、TeacherDaoImpl。</p><p>

65、;  系統(tǒng)模塊之工具類:工具類的工作主要是完成一些如字符編碼問題、過濾器問題、Excel表導(dǎo)入的問題。它們包括:EncodingFilter、MyFilter、SignonFilter、ExcelUtil等。</p><p><b>  圖3.9</b></p><p>  以下實(shí)體類具體情況以及它們之間的關(guān)聯(lián)</p><p><b>

66、;  圖3.10</b></p><p>  學(xué)員評(píng)估類模型與新聞發(fā)布模型包括三類:</p><p>  實(shí)體Bean 之POJO類:包括Paper、Remarklist。評(píng)估過程中Remarklist表用來存放評(píng)估結(jié)果,Paper類是作為一張臨時(shí)表來存放某一位教師的評(píng)估結(jié)果。</p><p>  控制Bean之Action:RemarkAction。&

67、lt;/p><p>  底層模塊之Dao類:包括PaperDaoImpl、RemarkListDaoImpl、StudentDaoImpl。</p><p><b>  圖3.11 </b></p><p><b>  動(dòng)態(tài)模型</b></p><p>  圖3.12 后臺(tái)管理</p>&

68、lt;p>  圖3.13 學(xué)生評(píng)估</p><p><b>  評(píng)估指標(biāo)設(shè)計(jì)</b></p><p>  本系統(tǒng)可以動(dòng)態(tài)的添加評(píng)估標(biāo)準(zhǔn),這樣當(dāng)有不同的需求的時(shí)候系統(tǒng)就可以直接添加新的規(guī)則來進(jìn)行評(píng)估,默認(rèn)的評(píng)估標(biāo)準(zhǔn)有“為人師表”,“富有激情”,“溝通,交流”,“內(nèi)容充實(shí)”,“指導(dǎo)學(xué)習(xí)”等。每個(gè)評(píng)估標(biāo)準(zhǔn)都分為5等,最好的要以得5分,最差只有1分,通過算出5項(xiàng)標(biāo)準(zhǔn)總合

69、的平均分即為學(xué)員為該教師所打的分?jǐn)?shù)。</p><p><b>  系統(tǒng)設(shè)計(jì)</b></p><p><b>  平臺(tái)的選擇</b></p><p>  首先要說明的是。NET技術(shù)是和J2EE技術(shù)相似與相當(dāng)?shù)募夹g(shù),它們的目的都是為了企業(yè)的應(yīng)用提供分布式的,高可靠性的解決方案。是服務(wù)器端系統(tǒng)構(gòu)架中二個(gè)劃時(shí)代的巨人。</p

70、><p>  .NET技術(shù)和J2EE技術(shù),分別由Microsoft公司和Sun公司提出,圍繞著二者的是全球最頂尖的IT精英、各大軟件巨頭的支持,紛紛開發(fā)相關(guān)產(chǎn)品。但無論是。NET技術(shù)還是J2EE技術(shù)都是主要運(yùn)行機(jī)制在服務(wù)器端的,。NET的主要功能只可能是在WINDOWS系統(tǒng)操作系統(tǒng)中實(shí)現(xiàn),而J2EE卻可以跨平臺(tái),無論是UNIX、LINUX、WINDOWS,代碼都可以“Write Once , Run AnyWhere

71、”。在跨平臺(tái)中,與。NET相比在跨平臺(tái)方面有一種與生俱來的優(yōu)勢(shì)。UNIX和Linux,目前還是服務(wù)器端操作系統(tǒng)的主流,尤其是在非PC機(jī)領(lǐng)域,還完全是UNIX和Linux一統(tǒng)天下,J2EE優(yōu)勢(shì)不言而喻。</p><p>  此外,SUN還始終堅(jiān)持Java類庫代碼公開、標(biāo)準(zhǔn)公開、API公開的三個(gè)原則,始終堅(jiān)持說“Java”是標(biāo)準(zhǔn),不是Sun公司的產(chǎn)品。而Mircrosoft的.NET列像一組產(chǎn)品,和WINDOWS A

72、PI一樣,Microsoft并沒有公布其中的源代碼,沒有公布大部分的標(biāo)準(zhǔn)和API。鑒于從設(shè)計(jì)、集成、性能、安全性和可靠性諸多方面考慮,決定采用J2EE開發(fā)本系統(tǒng)。</p><p><b>  數(shù)據(jù)庫設(shè)計(jì)</b></p><p><b>  E-R圖</b></p><p>  我們從數(shù)據(jù)抽象了8個(gè)實(shí)體:學(xué)生、老師、課程、班

73、級(jí)、留言簿、任課表、規(guī)則、評(píng)估表。其中:</p><p>  student表:用來存放學(xué)生信息。</p><p>  Teacher 表:用來存放教師信息,與ts表存在多對(duì)一的關(guān)系,與remarklist存在多對(duì)一的關(guān)系。</p><p>  Classes 表:用來存放班級(jí)信息,與ts表存在多對(duì)一的關(guān)系。</p><p>  Course

74、 表:用來存放課程信息,與ts表存在多對(duì)一的關(guān)系,與remarklist存在多對(duì)一的關(guān)系。</p><p>  Ts表:表用來存排課情況,它的tno、cno、ccno分別是其它幾個(gè)表的外鍵。和teacher、course、classes表 :表存在一對(duì)多的關(guān)系。</p><p>  Remarklist 表:表用來存放評(píng)估結(jié)果,有一張與此表一樣的paper表用來存放臨時(shí)數(shù)據(jù),此處不列出,與

75、course存在一對(duì)多的關(guān)系,與teacher存在一對(duì)多的關(guān)系。</p><p>  Rule 表與Note 表:用來存放評(píng)估規(guī)則與留言信息。</p><p>  圖4.1 E-R圖</p><p>  根據(jù)以上E-R圖的設(shè)計(jì),我們可以使用POWER DESINGER來實(shí)現(xiàn)具體的表格以及相關(guān)表格之間的聯(lián)系情況,每張表的具體作用已在E-R圖設(shè)計(jì)的時(shí)候說明清楚,這里就

76、不再說了。</p><p><b>  邏輯結(jié)構(gòu)設(shè)計(jì)</b></p><p>  圖4.2 數(shù)據(jù)庫邏輯圖</p><p><b>  數(shù)據(jù)庫實(shí)現(xiàn)</b></p><p><b>  創(chuàng)建表</b></p><p>  本系統(tǒng)使用的是MySQL數(shù)據(jù)庫存,

77、該數(shù)據(jù)庫可以用兩種方式來創(chuàng)建表格,一種是通過在MS-DOS下面通過命令來創(chuàng)建,另外一種是通過MySQL-Front這種可視化軟件來創(chuàng)建,本系統(tǒng)采用第二種方式。如下即是創(chuàng)建表格示例:</p><p>  圖4.3 添加表格1</p><p><b>  代碼:</b></p><p>  CREATE TABLE `admin` (</p&

78、gt;<p>  `id` int(11) NOT NULL auto_increment,</p><p>  `ano` varchar(50) NOT NULL,</p><p>  `password` varchar(50) NOT NULL,</p><p>  `aname` varchar(50) NOT NULL,</p>

79、<p>  PRIMARY KEY (`id`)</p><p>  ) ENGINE=InnoDB DEFAULT CHARSET=gb2312;</p><p>  圖4.4 添加表格2</p><p><b>  代碼:</b></p><p>  INSERT INTO `admin` VALU

80、ES (1,'001','1','zxt');</p><p>  根據(jù)同樣辦法我們創(chuàng)建學(xué)生、老師、課程、班級(jí)、留言簿、任課表、規(guī)則、評(píng)估表表,這里就不多舉例了。</p><p><b>  具體表結(jié)構(gòu)</b></p><p><b>  Admin表</b></p&g

81、t;<p><b>  Classes表:</b></p><p><b>  Course表:</b></p><p><b>  Note表:</b></p><p>  Remarklist表:</p><p><b>  Rule表:</b

82、></p><p><b>  Student表:</b></p><p><b>  Teacher表:</b></p><p><b>  Ts表:</b></p><p><b>  前臺(tái)子系統(tǒng)</b></p><p>

83、  前臺(tái)子系統(tǒng)基本只是作為簡(jiǎn)單的新聞發(fā)布作用,作為游客身份可以發(fā)表個(gè)人想法,主窗口有一個(gè)留言薄,不需要身份驗(yàn)證即可發(fā)表留言。</p><p>  圖4.3 前臺(tái)子系統(tǒng)</p><p><b>  后臺(tái)管理子系統(tǒng)</b></p><p>  后臺(tái)子系統(tǒng)擁有課程、老師、學(xué)生、評(píng)估規(guī)則、班級(jí)、留言薄、任課、用戶管理,類似的課程、教師、班級(jí)留言薄等只用

84、課程例子代替,它們業(yè)務(wù)邏輯基本相同。</p><p><b>  課程管理:</b></p><p>  圖4.4 后臺(tái)管理子系統(tǒng)</p><p><b>  教師任課:</b></p><p><b>  圖4.5 老師任課</b></p><p>&

85、lt;b>  學(xué)生信息錄入:</b></p><p><b>  圖4.6 錄入信息</b></p><p><b>  后臺(tái)評(píng)估子系統(tǒng)</b></p><p>  評(píng)估子系統(tǒng)主要完成學(xué)期未每個(gè)學(xué)生對(duì)教師的一個(gè)評(píng)估打分活動(dòng),該班級(jí)有幾名教師就要進(jìn)行幾次評(píng)估,完成后才可提交,如果只評(píng)估一半退出的話那么數(shù)據(jù)回

86、滾。</p><p><b>  圖4.7 后臺(tái)評(píng)估</b></p><p><b>  系統(tǒng)的實(shí)現(xiàn)</b></p><p><b>  平臺(tái)的搭建</b></p><p>  由于本系統(tǒng)使用的是Struts + Hibernate + Spring 的三層框架來編寫的,所以在

87、進(jìn)行項(xiàng)目開發(fā)之前需要搭建好相應(yīng)的環(huán)境。在第二章已經(jīng)講過,Struts用來管理所有的業(yè)務(wù)邏輯,Hibernate來管理底層數(shù)據(jù)的操作,Spring則用來初始化所有類的對(duì)象。這里一定要清楚的是我們加入框架的順序,Spring是作為插件的形勢(shì)加入到Struts中的,而Hibernate在三層框架中是作為Beans的形勢(shì)由Spring來管理的,所以正確的邏輯順序應(yīng)該是先在項(xiàng)目中加入Struts的支持,然后加入Spring的支持,最后加入Spri

88、ng的支持。</p><p>  添加Strust支持</p><p>  首先是加入對(duì)Struts的支持,本系統(tǒng)采用的是MyEclipse這款開發(fā)軟件,加入Struts支持時(shí)直接在項(xiàng)目上點(diǎn)擊反鍵,找到MyEclipse,從中找到Struts加入即可。注意,本系統(tǒng)采用的是Struts1.1的版本。完成后系統(tǒng)會(huì)多出一個(gè)Struts-config-*.xml的一個(gè)文件,這個(gè)文件是Struts的

89、核心,它的主要功能是作為一個(gè)數(shù)據(jù)的存儲(chǔ)存在的。它里邊存放的是在類中需要用到的一些重要的參數(shù),我們可以想像,在Tomcat加載時(shí)Struts中的XML文件會(huì)被找到,然后把相應(yīng)的配置參數(shù)讀入到相應(yīng)的類中,這樣我們使用這些類的時(shí)候才可以達(dá)到相應(yīng)的目的。</p><p>  在配置Struts時(shí)系統(tǒng)中用到了一個(gè)比較有用的技術(shù),就是把原來默認(rèn)生成的一個(gè)XML文件分成幾個(gè)XML文件,這樣做的好處是當(dāng)項(xiàng)目比較大的時(shí)候,每個(gè)小組

90、做的模塊是比較獨(dú)立的,但如果大家都同時(shí)去修改一張XML文件的話,容易產(chǎn)生意想不到的錯(cuò)誤。上面這個(gè)技術(shù)的實(shí)現(xiàn)方式是在項(xiàng)目WEB-INF文件夾下面找到web.xml這個(gè)配置文件,修改其中的文件如下:</p><p><b>  <servlet></b></p><p>  <servlet-name>action</servlet-name

91、></p><p>  <servlet-class>org.apache.struts.action.ActionServlet</servlet-class></p><p>  <init-param></p><p>  <param-name>config</param-name></

92、p><p>  <param-value>/WEB-INF/config/struts-config-system.xml</param-value></p><p>  </init-param></p><p>  <init-param></p><p>  <param-name>

93、;config/student</param-name></p><p>  <param-value>/WEB-INF/config/struts-config-student.xml</param-value></p><p>  </init-param></p><p>  <init-param>

94、</p><p>  <param-name>config/admin</param-name></p><p>  <param-value>/WEB-INF/config/struts-config-admin.xml</param-value></p><p>  </init-param></

95、p><p>  <init-param></p><p><b>  ………</b></p><p>  </init-param></p><p>  <init-param></p><p><b>  ………</b></p>

96、<p>  </init-param></p><p>  <load-on-startup>0</load-on-startup></p><p>  </servlet></p><p>  我們可以看到原來默認(rèn)的struts-config-*.xml被分成了三張XML配置文件,我們要注意的事是在標(biāo)簽&

97、lt;param-name>之間的這個(gè)值,它是映射配置文件的一個(gè)映射值,我們?cè)谕ㄟ^鏈接找相應(yīng)Struts中的Action的時(shí)候就是通過這個(gè)名字來尋找的,但可以看到三個(gè)配置文件中只有兩個(gè)是/admin與/student,這兩個(gè)配置文件分別對(duì)應(yīng)著我們系統(tǒng)的學(xué)生模塊與系統(tǒng)模塊。還有一個(gè)是默認(rèn)的配置文件,因?yàn)樵谌魏螘r(shí)候不管你把一張配置文件分成幾份,都要有一個(gè)主配置文件,也是就是這里的默認(rèn)的配置文件。那我們配置好了怎么來區(qū)別這幾張配置文件呢

98、,舉個(gè)例子:</p><p>  在沒有分配置文件的時(shí)候我們?cè)谔峤槐韱蔚臅r(shí)候/tjs/login.do就可以了,現(xiàn)在模塊化后我們提交表單區(qū)別默認(rèn)的形式是/tjs/admin/login.do,現(xiàn)在應(yīng)該可以理解剛才映射的作用了吧。關(guān)于Struts還有一點(diǎn)要說的是本系統(tǒng)采用了多業(yè)務(wù)邏輯,就是說一張表章可以進(jìn)行多項(xiàng)的操作,也就是一個(gè)Action中可以加入多種操作的方法,默認(rèn)的只有一個(gè)方法,不適合實(shí)際的應(yīng)用。要做到這一點(diǎn)

99、可以在生成Action的時(shí)候讓它繼承DispathAction這個(gè)父類,然后在XML配置文件中做如下的修改:</p><p><b>  <action</b></p><p>  attribute="courseForm"</p><p>  name="courseForm"</p>

100、;<p>  path="/course"</p><p>  scope="request"</p><p>  type="org.springframework.web.struts.DelegatingActionProxy" </p><p>  parameter="me

101、thod"</p><p><b>  ></b></p><p>  <forward name="queryAll" path="/WEB-INF/jsp/admin/courseDelOrUpd.jsp" contextRelative="true"/> </p&g

102、t;<p>  <forward name="coursepage" path="/WEB-INF/jsp/admin/courseAdd.jsp" contextRelative="true"/></p><p><b>  </action></b></p><p>

103、  需要注意的是<action parameter>這個(gè)參數(shù),這個(gè)參數(shù)默認(rèn)情況下是沒有的,需要自己加入,另外在<forward contextRelative=”true”>這個(gè)也是需要自己加入的,少了就會(huì)達(dá)不到相應(yīng)目的?,F(xiàn)在的問題是我們?nèi)绾问褂玫膯栴},答案很簡(jiǎn)單,在提交表單的時(shí)候?qū)懗扇缦滦问郊纯桑?lt;form action=”/tjs/login.do?method=isLogin” method=”pos

104、t”>可以看到,和平常的不同只是加了?mehtod=”isLogin”而矣,isLogin是登錄時(shí)驗(yàn)證的方法。以上即是配置Sturts時(shí)需要注意的情況。</p><p>  添加Spring支持</p><p>  添加Spring支持的方法比較簡(jiǎn)單,直接按添加Struts的方法添加即可。需要注意的一點(diǎn)是在選擇存放applicationContext-*.xml的位置要是在WEB-I

105、NF之下,本系統(tǒng)把Struts、Hibernate、Spring的配置文件全部放在了WEB-INF的config文件夾之下, 這樣做的好處是比較容易管理。上面已經(jīng)講過Spring是以插件的形式加入到Struts中的,所以Spring的存放路徑要在Struts中修改,條件是如果你想改變它的默認(rèn)位置的話。另外,添加Spring支持的時(shí)候也采用了與Struts中相似的技術(shù),就是把默認(rèn)的一張XML文件分成了幾張XML文件,好處就不多說了。以下是

106、把Spring加入Struts后Struts主配置文件中作的修改。</p><p>  <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"></p><p>  <set-property property="contextConfigLocation

107、" </p><p>  value="/WEB-INF/config/applicationContext-datasource.xml,</p><p>  /WEB-INF/config/applicationContext-system.xml,</p><p>  /WEB-INF/config/applicationContext-c

108、ourse.xml,</p><p>  /WEB-INF/config/applicationContext-classes.xml,</p><p>  /WEB-INF/config/applicationContext-teacher.xml,</p><p>  /WEB-INF/config/applicationContext-rule.xml,<

109、;/p><p>  /WEB-INF/config/applicationContext-ts.xml,</p><p>  /WEB-INF/config/applicationContext-stuinfo.xml,</p><p>  /WEB-INF/config/applicationContext-remark.xml,</p><p&g

110、t;  /WEB-INF/config/applicationContext-note.xml</p><p><b>  "/></b></p><p>  </plug-in></p><p>  value這個(gè)屬性是XML相應(yīng)配置文件存放的路徑。</p><p>  添加Hibernat

111、e支持</p><p>  最后是添加對(duì)Hibernate的支持,在添加支持之前我們先應(yīng)該對(duì)數(shù)據(jù)庫進(jìn)行相應(yīng)的配置,我們可以打開DB Browser這個(gè)視圖對(duì)話框,配置相應(yīng)的選項(xiàng),測(cè)試運(yùn)行一下看是否可以正確連接上,如果連接上即可以看到相應(yīng)數(shù)據(jù)庫下面已經(jīng)創(chuàng)建的表格,這些表是以后我們直接生成映射時(shí)會(huì)用到的。另外在生成支持的時(shí)候要把自己交由Spring來管理,這個(gè)在上面已經(jīng)講過。以下是在Spring中對(duì)Hibernat

112、e管理的配置文件。</p><p>  <bean id="dataSource"</p><p>  class="org.apache.commons.dbcp.BasicDataSource"></p><p>  <property name="driverClassName"&g

113、t;</p><p>  <value>com.mysql.jdbc.Driver</value></p><p>  </property></p><p>  <property name="url"></p><p>  <value>jdbc:mysql:

114、//localhost:3306/tjs?useUnicode=</p><p>  true&amp;characterEncoding=gb2312</value></p><p>  </property></p><p>  <property name="username"></p>

115、;<p>  <value>root</value></p><p>  </property></p><p>  <property name="password"></p><p>  <value>147</value></p><p

116、>  </property></p><p><b>  </bean></b></p><p>  <bean id="sessionFactory"</p><p>  class="org.springframework.orm.hibernate3.LocalSessio

117、nFactoryBean"></p><p>  <property name="dataSource"></p><p>  <ref bean="dataSource" /></p><p>  </property></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)論