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

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  21世紀(jì)的發(fā)展已經(jīng)很大程度的依賴于計算機網(wǎng)絡(luò)的發(fā)展,隨著計算機網(wǎng)絡(luò)的快速發(fā)展而帶來的一系列的基于網(wǎng)絡(luò)的事物的飛速增長和世界信息化步伐的加快,于是越來越多的企事業(yè)單位包括各類院校都需要一個自己的信息發(fā)布和資源共享的平臺。為了滿足這個需求,我們開發(fā)此工作室管理系統(tǒng),用于軟件學(xué)院教學(xué)和師生日常交流。</p><

2、;p>  系統(tǒng)基于B/S的開發(fā)模式,前臺使用JSP技術(shù)開發(fā)實現(xiàn),后臺使用MySQL5.0數(shù)據(jù)庫軟件管理,并采用Hibernate框架進(jìn)行數(shù)據(jù)庫連接。系統(tǒng)主要分為信息展示、工作室日常管理、系統(tǒng)管理、互動交流四大模塊。</p><p>  本文介紹了在Struts下應(yīng)用MVC分層思想:模型層、視圖層、控制層,在基于JSP頁面、MySQL數(shù)據(jù)庫及Resin服務(wù)器端的基礎(chǔ)上開發(fā)的軟件學(xué)院工作室管理系統(tǒng)。系統(tǒng)地闡述該

3、管理系統(tǒng)開發(fā)的分析及設(shè)計過程,包括數(shù)據(jù)流圖,功能分析設(shè)計,數(shù)據(jù)庫設(shè)計等;詳細(xì)描述了本人負(fù)責(zé)模塊的實現(xiàn)過程,并對本人在系統(tǒng)模塊中所使用關(guān)鍵技術(shù)的實現(xiàn)進(jìn)行了全面的介紹。</p><p>  【關(guān)鍵字】工作室管理系統(tǒng)、分層思想、日常交流</p><p>  【Abstract】</p><p>  The development of the 21st century h

4、as a large extent dependent on the development of computer networks.With the rapid development of computer network, a number of network-based things grow rapidly and the pace of world's informanization is acceleratin

5、g,so there are more and more enterprise units including various institutions need its own information and resource sharing platform. To meet this demand, we have developed this system for regular conmunication between te

6、achers and students of the </p><p>  The front of the system based on B/S pattern uses JSP to achieve while the background uses MySQL5.0 database software to manage, and Hibernate framework is used for datab

7、ase connection. The System consists four main modules of infomation publishing,regular management of the studio、system management and conmunication between each other.</p><p>  This paper introduces MVC dela

8、mination thoughts under the Struts: model layer, view layer, control layer,and the Studio Management System Of College Of Software System Based On J2EE Technology using the technology of JSP ,MySQL database and Resin ser

9、ver,also it systematic describes the development of the Studio Management System and the process of design ,which includes the data flow diagram ,functional analysis and design ,and the database design and so on.It detai

10、ledly describes the realizatio</p><p>  [Keywords] the studio management system, delamination thoughts, conmunication between each other目 錄</p><p><b>  第一章 緒論1</b></p>&

11、lt;p><b>  1.1 引言1</b></p><p>  1.2 文本的組織1</p><p>  1.3 本人做的主要工作2</p><p>  第二章 系統(tǒng)開發(fā)相關(guān)技術(shù)概述3</p><p>  2.1 B/S開發(fā)模式3</p><p>  2.2 JSP技術(shù)概述3&

12、lt;/p><p>  2.2.1 什么是JSP技術(shù)3</p><p>  2.2.2 JSP技術(shù)的優(yōu)點4</p><p>  2.3 struts技術(shù)4</p><p>  2.3.1 struts與MVC4</p><p>  2.3.2 struts的工作原理5</p><p>  

13、2.3 數(shù)據(jù)庫連接池技術(shù)6</p><p>  2.4 MySQL簡介7</p><p>  2.5 Hibernate簡介7</p><p>  2.6 Lucene簡介8</p><p>  2.7 自定義標(biāo)簽簡介9</p><p>  2.4.1 自定義標(biāo)簽的基本概念9</p><

14、p>  2.4.2 自定義標(biāo)簽的格式10</p><p>  第三章 系統(tǒng)的分析與設(shè)計11</p><p>  3.1 系統(tǒng)的實現(xiàn)目標(biāo)11</p><p>  3.2 系統(tǒng)分析11</p><p>  3.2.1 系統(tǒng)功能分析11</p><p>  3.2.2 系統(tǒng)流程分析13</p>

15、<p>  3.2.3 系統(tǒng)數(shù)據(jù)流分析14</p><p>  3.3 系統(tǒng)數(shù)據(jù)庫設(shè)計14</p><p>  3.3.1 系統(tǒng)E-R圖14</p><p>  3.3.2 數(shù)據(jù)庫表設(shè)計15</p><p>  第四章 模塊的實現(xiàn)27</p><p>  4.1 MVC分層結(jié)構(gòu)27</p&

16、gt;<p>  4.2 信息展示模塊30</p><p>  4.3 日常管理模塊34</p><p>  4.4 系統(tǒng)管理模塊40</p><p>  4.5 互動交流模塊43</p><p>  4.6 系統(tǒng)模塊中關(guān)鍵技術(shù)的實現(xiàn)44</p><p>  4.6.1 Struts框架的使用(

17、多模塊、多配置文件)44</p><p>  4.6.2 Hibernate的使用45</p><p>  4.6.3 Struts[Tiles]模板46</p><p>  4.6.4 Struts[Validator]驗證47</p><p>  4.6.5 Tags 自定義標(biāo)簽48</p><p>  

18、4.6.6 DisplayTag標(biāo)簽庫50</p><p>  4.6.7 JSTL標(biāo)簽庫51</p><p>  4.6.8 AJAX異步獲取數(shù)據(jù)52</p><p>  4.6.9 FreeMarker模板53</p><p>  4.6.10 Lucene全文索引54</p><p>  4.6.11 

19、庖丁解牛中文分詞包54</p><p>  4.6.12 數(shù)據(jù)緩存技術(shù)55</p><p>  4.6.13 Proxool數(shù)據(jù)庫連接池技術(shù)55</p><p>  4.6.14 分頁技術(shù)56</p><p>  4.6.15 網(wǎng)址重寫技術(shù)(Apache Mod Rewrite)57</p><p>  4.

20、6.16 特殊Filter的使用58</p><p>  4.6.17 關(guān)于系統(tǒng)安全的技術(shù)58</p><p><b>  第五章 總結(jié)60</b></p><p>  5.1 系統(tǒng)總結(jié)60</p><p>  5.2 個人總結(jié)60</p><p>  5.3 下一步工作61</

21、p><p><b>  參考文獻(xiàn)62</b></p><p><b>  致謝63</b></p><p><b>  緒論</b></p><p><b>  1.1 引言 </b></p><p>  軟件學(xué)院工作室管理中心是以

22、方便同學(xué)及導(dǎo)師為宗旨設(shè)計的,讓管理員、導(dǎo)師通過網(wǎng)絡(luò),方便的了解工作室同學(xué)的狀況。對于即將進(jìn)入工作室學(xué)習(xí)的同學(xué),可以通過工作事管理中心,進(jìn)行工作室學(xué)習(xí)方向的確定,這就避免了同學(xué)選擇方向時,因工作室已滿而不得不轉(zhuǎn)方向。對于已經(jīng)在工作室學(xué)習(xí)的同學(xué),導(dǎo)師可以通過本簽到系統(tǒng),方便的了解同學(xué)的出勤狀況,歷史缺到次數(shù)。簡單的新聞系統(tǒng),使同學(xué)們能夠及時了解工作室最新動向。通過站內(nèi)短信,同工作室,不同工作室之間都可以進(jìn)行短信交流,也可以進(jìn)行短信群發(fā)。工作

23、室管理中心提供了一個討論區(qū),同學(xué)可以就最新的帖子進(jìn)行評論,也可以和導(dǎo)師交流最新技術(shù)。個人日志功能免除了同學(xué)手寫日志的苦惱,日志直接提交至導(dǎo)師,導(dǎo)師也可以及時了解同學(xué)當(dāng)天的學(xué)習(xí)進(jìn)展。網(wǎng)站鏈接功能則是由導(dǎo)師或同學(xué)添加一些認(rèn)為好的學(xué)習(xí)網(wǎng)站,這樣能更好的進(jìn)行知識交流。</p><p>  在實際使用中,本系統(tǒng)可以發(fā)揮互聯(lián)網(wǎng)的優(yōu)勢、在網(wǎng)絡(luò)上建立一個工作室管理中心,使得工作室管理更合理。讓導(dǎo)師更清楚的掌握學(xué)生的出勤狀況及學(xué)習(xí)

24、進(jìn)度。工作室選向更人性化,讓學(xué)院更好、更早的進(jìn)行安排。</p><p><b>  1.2 文本的組織</b></p><p>  論文主要介紹了工作室管理系統(tǒng)開發(fā)的分析過程、設(shè)計思想和功能實現(xiàn),并詳細(xì)闡述了系統(tǒng)中關(guān)鍵技術(shù)的實現(xiàn)。</p><p>  第一章簡述了系統(tǒng)的開發(fā)背景、特點以及本人的主要工作。</p><p>

25、  第二章簡述了系統(tǒng)開發(fā)的相關(guān)技術(shù)。</p><p>  第三章闡述了系統(tǒng)開發(fā)的分析和設(shè)計過程,包括系統(tǒng)的數(shù)據(jù)流分析、數(shù)據(jù)庫設(shè)計等。</p><p>  第四章詳細(xì)描述了軟件學(xué)院工作室管理系統(tǒng)的過程中所使用的關(guān)鍵技術(shù)和系統(tǒng)部分功能的實現(xiàn)。</p><p>  1.3 本人做的主要工作</p><p>  在軟件學(xué)院工作室管理系統(tǒng)的開發(fā)過程中,

26、我參與并完成了從需求分析、概要設(shè)計、數(shù)據(jù)庫設(shè)計到系統(tǒng)功能劃分、最終實現(xiàn)的一系列工作。</p><p>  本人在系統(tǒng)中主完成全部模塊,包括新聞公告、工作室管理、論壇、問答系統(tǒng)、考勤管理、榮譽管理、選方向管理、資源管理等。</p><p>  系統(tǒng)開發(fā)相關(guān)技術(shù)概述</p><p>  2.1 B/S開發(fā)模式 </p><p>  目前較流行的網(wǎng)

27、絡(luò)開發(fā)模式分別是Client/Server模式與Browser/Client模式。 C/S模式主要是在以局域網(wǎng)為基礎(chǔ)的環(huán)境下展開應(yīng)用的,它受到地域的限制。而B/S模式通過Internet進(jìn)行通信,可以不受地域的限制,但是它不能夠進(jìn)行聯(lián)機事務(wù)處理,并且在大量數(shù)據(jù)處理的情況下,速度較慢。從目前的開發(fā)技術(shù)來看,Browser端作為信息收集源,特別是大量的數(shù)據(jù)錄入工作還不能完全取代Client端的用戶界面。在這方面,Client端的各種開發(fā)工具

28、的功能更加強大也更加靈活,而Browser端卻由其功能結(jié)構(gòu)的限定過于“瘦小”。基于B/S與C/S兩種模式的比較下,該系統(tǒng)采用的系統(tǒng)體系結(jié)構(gòu)為B/S結(jié)構(gòu),克服了C/S體系結(jié)構(gòu)的缺點,使系統(tǒng)跨平臺,跨語言,高度移植性充分體現(xiàn)出來了。同時,使用該體系結(jié)構(gòu)開發(fā)本系統(tǒng)具有以下兩個優(yōu)點[1]:</p><p>  1、較低的應(yīng)用開發(fā)及管理成本?;贐/S技術(shù)開發(fā)的應(yīng)用系統(tǒng),安裝、配置和升級主要在服務(wù)器上進(jìn)行,在用戶計算機上通

29、常只需要安裝通用的瀏覽器軟件即可,可以支持客戶端跨操作系統(tǒng)平臺的使用。由于瀏覽器軟件常常是客戶機操作系統(tǒng)的默認(rèn)安裝內(nèi)容,不需要管理員為每個不同的應(yīng)用維護(hù)客戶端系統(tǒng)。</p><p>  2、應(yīng)用推廣成本低。一旦用戶掌握了瀏覽器的使用,就基本掌握了各種不同應(yīng)用系統(tǒng)的使用。</p><p>  2.2 JSP技術(shù)概述</p><p>  2.2.1 什么是JSP技術(shù)&l

30、t;/p><p>  JSP(JAVA SERVER PAGES)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。它由HTML代碼和嵌入其中的JAVA代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些JAVA代碼進(jìn)行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。JSP具備了JAVA技術(shù)的簡單易用、完全面向?qū)ο?、具有平臺無關(guān)性且安全可靠,其在動態(tài)網(wǎng)頁的建設(shè)中有其強大而特別的功

31、能,下文將簡單介紹其優(yōu)點[2] [3] [4] [5]。</p><p>  2.2.2 JSP技術(shù)的優(yōu)點</p><p>  第一、將內(nèi)容的生成和顯示進(jìn)行分離。 </p><p>  使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)識來設(shè)計和格式化最終頁面。使用JSP標(biāo)識或者小腳本來生成頁面上的動態(tài)內(nèi)容(內(nèi)容是根據(jù)請求來變化的,例如查詢指定學(xué)院的專業(yè)

32、或者某一位學(xué)生參加的文藝活動)。Web管理人員和頁面設(shè)計者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的生成。 </p><p>  第二、生成可重用的組件。</p><p>  絕大多數(shù)JSP頁面依賴于可重用的,跨平臺的組件(JavaBeans或者Enterprise JavaBeansTM組件)來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件

33、為更多的使用者或者客戶團(tuán)體所使用。</p><p>  第三、采用標(biāo)識簡化頁面開發(fā)。 </p><p>  Web頁面開發(fā)人員不會都是熟悉腳本語言的編程人員。但JavaServer Page技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)識中進(jìn)行動態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識能夠訪問和實例化JavaBeans組件,設(shè)置或者檢索組件屬性,下載Applet,以及執(zhí)行用其他

34、方法更難于編碼和耗時的功能。 </p><p>  通過開發(fā)定制化標(biāo)識庫,JSP技術(shù)是可以擴展的。以上這些使得Web頁面開發(fā)人員能夠使用熟悉的工具來執(zhí)行特定功能。 </p><p>  第四、提供所有Servlets的功能。 </p><p>  與SERVLETS相比,JSP能提供所有SERVLETS功能,但它比用println書寫和修改HTML更方便。此外,可以

35、更明確的進(jìn)行分工,WEB頁面設(shè)計人員編寫HTML,只需要留出地方讓SERVLETS程序員插入動態(tài)部分即可。 </p><p>  2.3 struts技術(shù) </p><p>  2.3.1 struts與MVC</p><p>  JSP 標(biāo)記只解決了部分問題,還得處理驗證、流程控制和更新應(yīng)用程序的狀態(tài)等問題。MVC(模型-視圖-控制器)通過將問題分為三個類別來幫助

36、解決單一模塊方法所遇到的某些問題:[6] [7]</p><p>  Model(模型)模型包含應(yīng)用程序的核心功能。模型封裝了應(yīng)用程序的狀態(tài)。有時它包含的唯一功能就是狀態(tài)。它對視圖或控制器一無所知。</p><p>  View(視圖)視圖提供模型的表示。它是應(yīng)用程序的外觀。視圖可以訪問模型的讀方法,但不能訪問寫方法。此外,它對控制器一無所知。當(dāng)更改模型時,視圖應(yīng)得到通知。</p

37、><p>  Controller(控制器)控制器對用戶的輸入作出反應(yīng)。它創(chuàng)建并設(shè)置模型。 </p><p>  2.3.2 struts的工作原理</p><p>  MVC即Model-View-Controller的縮寫,是一種常用的設(shè)計模式。MVC 減弱了業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的耦合,以及讓視圖層更富于變化。</p><p>  S

38、truts 是MVC的一種實現(xiàn),它將 Servlet和 JSP 標(biāo)記(屬于 J2EE 規(guī)范)用作實現(xiàn)的一部分。Struts繼承了MVC的各項特性,并根據(jù)J2EE的特點,做了相應(yīng)的變化與擴展。</p><p>  控制:主要有一個XML文件Struts-config.xml,與之相關(guān)聯(lián)的是Controller,在Struts中,承擔(dān)MVC中Controller角色的是一個Servlet,叫ActionServlet

39、。ActionServlet是一個通用的控制組件。這個控制組件提供了處理所有發(fā)送到Struts的HTTP請求的入口點。它截取和分發(fā)這些請求到相應(yīng)的動作類(這些動作類都是Action類的子類)。另外控制組件也負(fù)責(zé)用相應(yīng)的請求參數(shù)填充 Action From(通常稱之為FromBean),并傳給動作類(通常稱之為ActionBean)。動作類實現(xiàn)核心商業(yè)邏輯,它可以訪問java bean 或調(diào)用EJB。最后動作類把控制權(quán)傳給后續(xù)的JSP 文

40、件,后者生成視圖。所有這些控制邏輯利用Struts-config.xml文件來配置。 </p><p>  視圖:主要由JSP生成頁面完成視圖,Struts提供豐富的JSP 標(biāo)簽庫: Html,Bean,Logic,Template等,這有利于分開表現(xiàn)邏輯和程序邏輯。 </p><p>  模型:模型以一個或多個java bean的形式存在。這些bean分為三類:Action Form、A

41、ction、JavaBean or EJB。Action Form通常稱之為FormBean,封裝了來自于Client的用戶請求信息,如表單信息。Action通常稱之為ActionBean,獲取從ActionSevlet傳來的FormBean,取出FormBean中的相關(guān)信息,并做出相關(guān)的處理,一般是調(diào)用Java Bean或EJB等。 </p><p>  流程:在Struts中,用戶的請求一般以*.do作為請求

42、服務(wù)名,所有的*.do請求均被指向ActionSevlet,ActionSevlet根據(jù)Struts-config.xml中的配置信息,將用戶請求封裝成一個指定名稱的FormBean,并將此FormBean傳至指定名稱的ActionBean,由ActionBean完成相應(yīng)的業(yè)務(wù)操作,如文件操作,數(shù)據(jù)庫操作等。每一個*.do均有對應(yīng)的FormBean名稱和ActionBean名稱,這些在Struts-config.xml中配置。 <

43、/p><p>  核心:Struts的核心是ActionSevlet,ActionSevlet的核心是Struts-config.xml。</p><p>  2.3 數(shù)據(jù)庫連接池技術(shù) </p><p>  數(shù)據(jù)庫連接的建立及關(guān)閉對系統(tǒng)而言是耗費系統(tǒng)資源的操作,在多層結(jié)構(gòu)的應(yīng)用環(huán)境中,這種耗費資源的動作對系統(tǒng)的性能影響尤為明顯。在傳統(tǒng)的數(shù)據(jù)庫連接方式 (指通過Drive

44、rManager)中,一個數(shù)據(jù)庫連接對象均對應(yīng)一個物理數(shù)據(jù)庫連接,每次操作都打開一個物理連接,使用完都關(guān)閉連接,這樣造成系統(tǒng)的 性能低下。 </p><p>  數(shù)據(jù)庫連接池的解決方案是在應(yīng)用程序啟動時建立足夠的數(shù)據(jù)庫連接,并講這些連接組成一個連接池(簡單說:在一個“池”里放了好多半成品的數(shù)據(jù)庫聯(lián)接對象),由應(yīng)用程序動態(tài)地對池中的連接進(jìn)行申請、使用和釋放。對于 多于連接池中連接數(shù)的并發(fā)請求,應(yīng)該在請求隊列中排隊等

45、待。并且應(yīng)用程序可以根據(jù)池中連接的使用率,動態(tài)增加或減少池中的連接數(shù)。 </p><p>  連接池技術(shù)盡可能多地重用了消耗內(nèi)存地資源,大大節(jié)省了內(nèi)存,提高了服務(wù)器地服務(wù)效率,能夠支持更多的客戶服務(wù)。通過使用連接池,將大大提高程序運行效率,同時,我們可以通過其自身的管理機制來監(jiān)視數(shù)據(jù)庫連接的數(shù)量、使用情況等。</p><p>  數(shù)據(jù)庫連接是一種關(guān)鍵的有限的昂貴的資源,這一點在多用戶的網(wǎng)頁

46、應(yīng)用程序中體現(xiàn)得尤為突出。對數(shù)據(jù)庫連接的管理能顯著影響到整個應(yīng)用程序的伸縮性和健壯性,影響到程序的性能指標(biāo)。數(shù)據(jù)庫連接池正是針對這個問題提出來的。</p><p>  數(shù)據(jù)庫連接池負(fù)責(zé)分配、管理和釋放數(shù)據(jù)庫連接,它允許應(yīng)用程序重復(fù)使用一個現(xiàn)有的數(shù)據(jù)庫連接,而再不是重新建立一個;釋放空閑時間超過最大空閑時間的數(shù)據(jù)庫連接來避免因為沒有釋放數(shù)據(jù)庫連接而引起的數(shù)據(jù)庫連接遺漏。這項技術(shù)能明顯提高對數(shù)據(jù)庫操作的性能。 <

47、;/p><p>  數(shù)據(jù)庫連接池在初始化時將創(chuàng)建一定數(shù)量的數(shù)據(jù)庫連接放到連接池中,這些數(shù)據(jù)庫連接的數(shù)量是由最小數(shù)據(jù)庫連接數(shù)來設(shè)定的。無論這些數(shù)據(jù)庫連接是否被 使用,連接池都將一直保證至少擁有這么多的連接數(shù)量。連接池的最大數(shù)據(jù)庫連接數(shù)量限定了這個連接池能占有的最大連接數(shù),當(dāng)應(yīng)用程序向連接池請求的連接數(shù)超 過最大連接數(shù)量時,這些請求將被加入到等待隊列中。數(shù)據(jù)庫連接池的最小連接數(shù)和最大連接數(shù)的設(shè)置要考慮到下列幾個因素[8]

48、 [9]:</p><p>  1) 最小連接數(shù)是連接池一直保持的數(shù)據(jù)庫連接,所以如果應(yīng)用程序?qū)?shù)據(jù)庫連接的使用量不大,將會有大量的數(shù)據(jù)庫連接資源被浪費.</p><p>  2) 最大連接數(shù)是連接池能申請的最大連接數(shù),如果數(shù)據(jù)庫連接請求超過此數(shù),后面的數(shù)據(jù)庫連接請求將被加入到等待隊列中,這會影響之后的數(shù)據(jù)庫操作.</p><p>  3) 如果最小連接數(shù)與最大連接

49、數(shù)相差太大,那么最先的連接請求將會獲利,之后超過最小連接數(shù)量的連接請求等價于建立一個新的數(shù)據(jù)庫連接。不過,這些大于最小連接數(shù)的數(shù)據(jù)庫連接在使用完不會馬上被釋放,它將被放到連接池中等待重復(fù)使用或是空閑超時后被釋放。</p><p>  2.4 MySQL簡介 </p><p>  MySQL是一個真正的多用戶、多線程SQL數(shù)據(jù)庫服務(wù)器。SQL(結(jié)構(gòu)化查詢語言)是世界上最流行的和標(biāo)準(zhǔn)化的數(shù)據(jù)庫

50、語言。MySQL是以一個客戶機/服務(wù)器結(jié)構(gòu)的實現(xiàn),它由一個服務(wù)器守護(hù)程序mysqld和很多不同的客戶程序和庫組成。</p><p>  SQL是一種標(biāo)準(zhǔn)化的語言,它使得存儲、更新和存取信息更容易。例如,你能用SQL語言為一個網(wǎng)站檢索產(chǎn)品信息及存儲顧客信息,同時MySQL也足夠快和靈活以允許你存儲記錄文件和圖像。</p><p>  MySQL 主要目標(biāo)是快速、健壯和易用。最初是因為我們需要

51、這樣一個SQL服務(wù)器,它能處理與任何可不昂貴硬件平臺上提供數(shù)據(jù)庫的廠家在一個數(shù)量級上的大型數(shù)據(jù)庫,但速度更快,MySQL就開發(fā)出來。自1996年以來,我們一直都在使用MySQL,其環(huán)境有超過 40 個數(shù)據(jù)庫,包含 10,000個表,其中500多個表超過7百萬行,這大約有100 個吉字節(jié)(GB)的關(guān)鍵應(yīng)用數(shù)據(jù)。</p><p>  MySQL建立的基礎(chǔ)是業(yè)已用在高要求的生產(chǎn)環(huán)境多年的一套實用例程。盡管MySQL仍在

52、開發(fā)中,但它已經(jīng)提供一個豐富和極其有用的功能集。</p><p>  2.5 Hibernate簡介 </p><p>  Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/

53、JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。</p><p>  Hibernate的核心接口一共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。下面對這

54、五的核心接口分別加以介紹。</p><p>  ·Session接口:Session接口負(fù)責(zé)執(zhí)行被持久化對象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對象是非線程安全的。同時,Hibernate的session不同于JSP應(yīng)用中的HttpSession。這里當(dāng)使用session這個術(shù)語時,其實指的是Hibernate中的session

55、,而以后會將HttpSesion對象稱為用戶session。</p><p>  ·SessionFactory接口:SessionFactroy接口負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲源的代理,并負(fù)責(zé)創(chuàng)建Session對象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級的,因為一般情況下,一個項目通常只需要一個SessionFactory就夠,當(dāng)需要操作多個數(shù)據(jù)庫時,

56、可以為每個數(shù)據(jù)庫指定一個SessionFactory。</p><p>  ·Configuration接口:Configuration接口負(fù)責(zé)配置并啟動Hibernate,創(chuàng)建SessionFactory對象。在Hibernate的啟動的過程中,Configuration類的實例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory對象。</p><p>  &#

57、183;Transaction接口:Transaction接口負(fù)責(zé)事務(wù)相關(guān)的操作。它是可選的,開發(fā)人員也可以設(shè)計編寫自己的底層事務(wù)處理代碼。</p><p>  ·Query和Criteria接口:Query和Criteria接口負(fù)責(zé)執(zhí)行各種數(shù)據(jù)庫查詢。它可以使用HQL語言或SQL語句兩種表達(dá)方式。</p><p>  2.6 Lucene簡介 </p><p

58、>  Lucene是apache軟件基金會[4] jakarta項目組的一個子項目,是一個開放源代碼的全文檢索引擎工具包,即它不是一個完整的全文檢索引擎,而是一個全文檢索引擎的架構(gòu),提供了完整的查詢引擎和索引引擎,部分文本分析引擎(英文與德文兩種西方語言)。Lucene的目的是為軟件開發(fā)人員提供一個簡單易用的工具包,以方便的在目標(biāo)系統(tǒng)中實現(xiàn)全文檢索的功能,或者是以此為基礎(chǔ)建立起完整的全文檢索引擎。</p><p

59、>  作為一個開放源代碼項目,Lucene從問世之后,引發(fā)了開放源代碼社群的巨大反響,程序員們不僅使用它構(gòu)建具體的全文檢索應(yīng)用,而且將之集成到各種系統(tǒng)軟件中去,以及構(gòu)建Web應(yīng)用,甚至某些商業(yè)軟件也采用了Lucene作為其內(nèi)部全文檢索子系統(tǒng)的核心。apache軟件基金會的網(wǎng)站使用了Lucene作為全文檢索的引擎,IBM的開源軟件eclipse[9]的2.1版本中也采用了Lucene作為幫助子系統(tǒng)的全文索引引擎,相應(yīng)的IBM的商業(yè)軟

60、件Web Sphere[10]中也采用了Lucene。Lucene以其開放源代碼的特性、優(yōu)異的索引結(jié)構(gòu)、良好的系統(tǒng)架構(gòu)獲得了越來越多的應(yīng)用。</p><p>  Lucene是一個高性能、可伸縮的信息搜索(IR)庫。它使你可以為你的應(yīng)用程序添加索引和搜索能力。Lucene是用java實現(xiàn)的成熟的、免費的開源項目,是著名的Apache Jakarta大家庭的一員,并且基于在Apache軟件許可 [ASF, Lice

61、nse]。同樣,Lucene是當(dāng)前與近幾年內(nèi)非常流行的免費的Java信息搜索(IR)庫。</p><p>  Lucene作為一個全文檢索引擎,其具有如下突出的優(yōu)點:</p><p> ?。?)索引文件格式獨立于應(yīng)用平臺。Lucene定義了一套以8位字節(jié)為基礎(chǔ)的索引文件格式,使得兼容系統(tǒng)或者不同平臺的應(yīng)用能夠共享建立的索引文件。</p><p> ?。?)在傳統(tǒng)全文

62、檢索引擎的倒排索引的基礎(chǔ)上,實現(xiàn)了分塊索引,能夠針對新的文件建立小文件索引,提升索引速度。然后通過與原有索引的合并,達(dá)到優(yōu)化的目的。</p><p> ?。?)優(yōu)秀的面向?qū)ο蟮南到y(tǒng)架構(gòu),使得對于Lucene擴展的學(xué)習(xí)難度降低,方便擴充新功能。</p><p>  (4)設(shè)計了獨立于語言和文件格式的文本分析接口,索引器通過接受Token流完成索引文件的創(chuàng)立,用戶擴展新的語言和文件格式,只需要

63、實現(xiàn)文本分析的接口。</p><p> ?。?)已經(jīng)默認(rèn)實現(xiàn)了一套強大的查詢引擎,用戶無需自己編寫代碼即使系統(tǒng)可獲得強大的查詢能力,Lucene的查詢實現(xiàn)中默認(rèn)實現(xiàn)了布爾操作、模糊查詢(Fuzzy Search[11])、分組查詢等等。</p><p>  2.7 自定義標(biāo)簽簡介 </p><p>  一般我們說自定義標(biāo)簽是指JSP自定義標(biāo)簽。自定義標(biāo)簽在功能上邏輯

64、上與javaBean 類似,都封裝Java 代碼。自定義標(biāo)簽是可重用的組件代碼,并且允許開發(fā)人員為復(fù)雜的操作提供邏輯名稱。</p><p>  JSP開發(fā)人員使用標(biāo)簽庫創(chuàng)建標(biāo)簽.標(biāo)簽庫是按照功能或?qū)崿F(xiàn)進(jìn)行分組的自定義標(biāo)簽的集合。 </p><p>  2.4.1 自定義標(biāo)簽的基本概念</p><p>  1.標(biāo)簽(Tag):</p><p>

65、  標(biāo)簽是一種XML元素,通過標(biāo)簽可以使JSP網(wǎng)頁變得簡潔并且易于維護(hù),還可以方便地實現(xiàn)同一個JSP文件支持多種語言版本。由于標(biāo)簽是XML元素,所以它的名稱和屬性都是大小寫敏感的</p><p>  2.標(biāo)簽庫(Tag library):</p><p>  由一系列功能相似、邏輯上互相聯(lián)系的標(biāo)簽構(gòu)成的集合稱為標(biāo)簽庫。</p><p>  3.標(biāo)簽庫描述文件(Tag

66、 Library Descriptor):</p><p>  標(biāo)簽庫描述文件是一個XML文件,這個文件提供了標(biāo)簽庫中類和JSP中對標(biāo)簽引用的映射關(guān)系。它是一個配置文件,和web.xml是類似的。</p><p>  4.標(biāo)簽處理類(Tag Handle Class):</p><p>  標(biāo)簽處理類是一個Java類,這個類繼承了TagSupport或者擴展了Sim

67、pleTag接口,通過這個類可以實現(xiàn)自定義JSP標(biāo)簽的具體功能</p><p>  2.4.2 自定義標(biāo)簽的格式</p><p>  1. <% @ taglib prefix=”someprefix” uri=”/sometaglib” %></p><p>  為了使到JSP容器能夠使用標(biāo)簽庫中的自定義行為,必須滿足以下兩個條件:</p>

68、<p>  1)從一個指定的標(biāo)簽庫中識別出代表這種自定義行為的標(biāo)簽</p><p>  2)找到實現(xiàn)這些自定義行為的具體類</p><p>  第一個必需條件-找出一個自定義行為屬于那個標(biāo)簽庫-是由標(biāo)簽指令的前綴(Taglib Directive's Prefix)屬性完成,所以在同一個頁面中使用相同前綴的元素都屬于這個標(biāo)簽庫。每個標(biāo)簽庫都定義了一個默認(rèn)的前綴,用在標(biāo)

69、簽庫的文檔中或者頁面中插入自定義標(biāo)簽。所以,你可以使用除了諸如jsp,jspx,java,servlet,sun,sunw(它們都是在JSP白皮書中指定的保留字)之類的前綴。 </p><p>  uri屬性滿足了以上的第二個要求。為每個自定義行為找到對應(yīng)的類。這個uri包含了一個字符串,容器用它來定位TLD文件。在TLD文件中可以找到標(biāo)簽庫中所有標(biāo)簽處理類的名稱</p><p>  2.

70、 當(dāng)web應(yīng)用程序啟動時,容器從WEB-INF文件夾的目錄結(jié)構(gòu)的META-INF搜索所有以.tld結(jié)尾的文件。也就是說它們會定位所有的TLD文件。對于每個TLD文件,容器會先獲取標(biāo)簽庫的URI,然后為每個TLD文件和對應(yīng)的URI創(chuàng)建映射關(guān)系。</p><p>  在JSP頁面中,我們僅需通過使用帶有URI屬性值的標(biāo)簽庫指令來和具體的標(biāo)簽庫匹配。</p><p><b>  系統(tǒng)的

71、分析與設(shè)計</b></p><p>  3.1 系統(tǒng)的實現(xiàn)目標(biāo)</p><p>  軟件學(xué)院工作室管理系統(tǒng)致力于開發(fā)集成榮譽展示、新聞公告、信息公開、考勤管理、選方向管理、項目管理、日志管理、問答交流、討論區(qū)、站內(nèi)短信為一體的綜合性管理系統(tǒng)。不管是學(xué)院級信息,學(xué)校級信息,還是個方面的社會信息,軟件學(xué)院工作室管理通過管理員的簡單的操作從而實現(xiàn)信息的大眾化、專業(yè)化于一體。</

72、p><p>  1、完善的管理功能:作為綜合性管理系統(tǒng),該系統(tǒng)要具備強大后臺管理功能。除了新聞公告、信息公開外有完善的后臺管理外,考勤管理、選方向管理、日志管理、問答交流、討論區(qū)等等都需要完善的管理功能。</p><p>  2、方便的用戶操作:系統(tǒng)除了有良好完善的功能外,還應(yīng)該給用戶提供友好的操作方式,方便用戶使用系統(tǒng)完成工作。在實現(xiàn)的各個細(xì)節(jié)上都考慮了盡量簡化用戶操作,用最簡單的操作實現(xiàn)強

73、大的功能。</p><p>  3、多方面的系統(tǒng)安全措施:網(wǎng)絡(luò)發(fā)展給信息系統(tǒng)的開發(fā)帶來方便的同時,也給它還帶了許多麻煩。用戶的增多和資源共享程度的提高,給系統(tǒng)的安全性帶來越來越多的安全隱患,所以系統(tǒng)通過對用戶信息的加密、數(shù)據(jù)備份、數(shù)據(jù)還原、文件模板的創(chuàng)建、觸發(fā)器等手段保證了數(shù)據(jù)安全性的提高。同時使用對稱加密技術(shù)讓數(shù)據(jù)傳送更安全可靠。</p><p><b>  3.2 系統(tǒng)分析&

74、lt;/b></p><p>  3.2.1 系統(tǒng)功能分析</p><p>  通過對系統(tǒng)的分析和研究,系統(tǒng)在應(yīng)該分為信息展示、日常管理、系統(tǒng)管理、互動交流四大模塊。系統(tǒng)操作層次可以分為管理員、導(dǎo)師、學(xué)生。其中管理員主要負(fù)責(zé)后臺全部管理,導(dǎo)師主要管理本工作室學(xué)生的日志、信息等,學(xué)生可以選方向、工作日志、考勤查詢等操作。所有用戶均可參與互動交流,可查詢公共信息如學(xué)生導(dǎo)師記錄、考勤記錄等

75、,可查看前臺內(nèi)容。系統(tǒng)功能結(jié)構(gòu)如圖3.1所示。</p><p>  圖3.1 工作室管理系統(tǒng)功能結(jié)構(gòu)圖</p><p>  系統(tǒng)功能詳細(xì)描述如下:</p><p>  信息展示:主要為前臺展示型模塊,包含榮譽展示、新聞公告、信息公開</p><p>  榮譽展示:主要展示優(yōu)秀個人及優(yōu)秀作品</p><p>  新聞公告

76、:在前臺顯示工作室最新的新聞及公告信息,提供最新動態(tài)</p><p>  信息公開:主要用于日常公開和工作室展示,方便其他人了解工作室</p><p>  日常管理:主要為后臺型模塊,三種用戶均在各自獨立的后臺操作。包含考勤管理、選方向管理、項目管理、日志管理</p><p>  考勤管理:前臺提供學(xué)生考勤信息查詢,后臺由管理員管理</p><p

77、>  選方向管理:提供未進(jìn)工作室學(xué)生選方向的功能,管理員可以進(jìn)行匯總</p><p>  項目管理:提供工作室項目日常管理,如項目分組、進(jìn)度等</p><p>  日志管理:學(xué)生寫工作日志,導(dǎo)師進(jìn)行評價打分</p><p>  系統(tǒng)管理:主要為后臺管理設(shè)置型模塊</p><p>  系統(tǒng)設(shè)置:設(shè)置系統(tǒng)基本信息</p>&l

78、t;p>  用戶管理:管理員管理管理員、導(dǎo)師、學(xué)生三級用戶</p><p>  數(shù)據(jù)維護(hù):提供數(shù)據(jù)庫維護(hù)功能,如數(shù)據(jù)庫備份、恢復(fù)等</p><p><b>  互動交流:</b></p><p>  你問我答:提供學(xué)生提問,學(xué)生或?qū)熁卮鸬囊粋€平臺</p><p>  討論區(qū):提供師生在線交流的平臺</p&g

79、t;<p>  站內(nèi)短信:提供師生私人交流的平臺 </p><p>  3.2.2 系統(tǒng)流程分析</p><p>  軟件學(xué)院工作室管理中心在運行過程中頁面的基本流程如圖3.2所示。</p><p>  圖3.2 系統(tǒng)流程圖</p><p>  3.2.3 系統(tǒng)數(shù)據(jù)流分析</p><p>  在整個工作室

80、管理系統(tǒng)中,學(xué)生是主體,一切圍繞學(xué)生為主體進(jìn)行。學(xué)生登陸后由系統(tǒng)記錄登陸信息,導(dǎo)師可以查看。同時師生均可進(jìn)行互動交流。學(xué)生需要按時填寫工作日志,具體數(shù)據(jù)流如圖3.3所示。</p><p>  圖3.3 系統(tǒng)數(shù)據(jù)流圖</p><p>  3.3 系統(tǒng)數(shù)據(jù)庫設(shè)計</p><p>  3.3.1 系統(tǒng)E-R圖</p><p>  在軟件學(xué)院工作室管

81、理系統(tǒng)中,整個系統(tǒng)都是圍繞管理員、導(dǎo)師、學(xué)生三種用戶來的,主要是師生間的日常教學(xué)工作及交流,因此可以將這點做為E-R圖的分析重點,圍繞它們進(jìn)行其它數(shù)據(jù)的E-R圖分析。通過管理員、導(dǎo)師、學(xué)生這些實體,我們可以得出還有工作日志、短消息、公告、新聞、教學(xué)資源等實體。</p><p>  根據(jù)系統(tǒng)數(shù)據(jù)流圖的描述,我們可以得出系統(tǒng)E-R圖如下圖所示。</p><p>  圖3.4 系統(tǒng)E-R圖<

82、;/p><p>  3.3.2 數(shù)據(jù)庫表設(shè)計</p><p>  (1) 管理員詳情表(WR_AdminInfo),其中主鍵為UID,具體字段信息如表3.1所示。</p><p>  表3.1 管理員詳情表</p><p>  (2) 問答答案表(WR_AskAnswer),其中主鍵為AnswerId,具體字段信息如表3.2所示。</p&g

83、t;<p>  表3.2 問答答案表</p><p>  (3) 問答類別表(WR_AskClass),其中主鍵為ClassID,具體字段信息如表3.3所示。</p><p>  表3.3 問答類別表</p><p>  (4) 問題內(nèi)容表(WR_AskContent),其中主鍵為QuestionId,具體字段信息如表3.4所示。</p>

84、<p>  表3.4 問題內(nèi)容表</p><p>  (5) 問題表(WR_AskQuestion),其中主鍵為QuestionId,具體字段信息如表3.5所示。</p><p><b>  表3.5 問題表</b></p><p>  (6) 問答用戶表(WR_AskUser),其中主鍵為Uid,具體字段信息如表3.6所示。<

85、;/p><p>  表3.6 問答用戶表</p><p>  (7) 考勤檢查表(WR_Check),其中主鍵為CheckId,具體字段信息如表3.7所示。</p><p>  表3.7 考勤檢查表</p><p>  (8) 考勤檢查詳情表(WR_CheckItem),其中主鍵為ItemId,具體字段信息如表3.8所示。</p>

86、<p>  表3.8 考勤檢查詳情表</p><p>  (9) 選方向記錄表(WR_Choose) ,具體字段信息如表3.9所示。</p><p>  表3.9 選方向記錄表</p><p>  (10) 班級表(WR_Class),其中主鍵為ClassID,具體字段信息如表3.10所示。</p><p><b>  表

87、3.10 班級表</b></p><p>  (11) 系統(tǒng)設(shè)置表(WR_Config),其中主鍵為ConfigID,具體字段信息如表3.11所示。</p><p>  表3.11 系統(tǒng)設(shè)置表</p><p>  (12) 選課方向表(WR_Direction),其中主鍵為DirectionID,具體字段信息如表3.12所示。</p>&l

88、t;p>  表3.12 選課方向表</p><p>  (13) 優(yōu)秀作品表(WR_FineSoft),其中主鍵為SoftId,具體字段信息如表3.13所示。</p><p>  表3.13 優(yōu)秀作品表</p><p>  (14) 優(yōu)秀個人表(WR_FineStudent),其中主鍵為Uid,具體字段信息如表3.14所示。</p><p&

89、gt;  表3.14 優(yōu)秀個人表</p><p>  (15) 年級表(WR_Grade),其中主鍵為GradeName,具體字段信息如表3.15所示。</p><p><b>  表3.15 年級表</b></p><p>  (16) 友情鏈接表(WR_Link),其中主鍵為LinkID,具體字段信息如表3.16所示。</p>

90、<p>  表3.16 友情鏈接表</p><p>  (17) 友情鏈接分類表(WR_LinkClass),其中主鍵為ClassId,具體字段信息如表3.17所示。</p><p>  表3.17 友情鏈接分類表</p><p>  (18) 短消息表(WR_Message),其中主鍵為MessageID,具體字段信息如表3.18所示。</p&g

91、t;<p>  表3.18 短消息表</p><p>  (19) 新聞表(WR_News),其中主鍵為NewsID,具體字段信息如表3.19所示。</p><p><b>  表3.19 新聞表</b></p><p>  (20) 新聞類別表(WR_NewsClass),其中主鍵為ClassID,具體字段信息如表3.20所示。

92、</p><p>  表3.20 新聞類別表</p><p>  (21) 公告表(WR_Notice),其中主鍵為NoticeID,具體字段信息如表3.21所示。</p><p><b>  表3.21 公告表</b></p><p>  (22) 資源表(WR_Soft),其中主鍵為SoftID,具體字段信息如表3.

93、22所示。</p><p><b>  表3.22 資源表</b></p><p>  (23) 資源類別表(WR_SoftClass),其中主鍵為ClassID,具體字段信息如表3.23所示。</p><p>  表3.23 資源類別表</p><p>  (24) 學(xué)生詳情表(WR_StudentInfo),其中主鍵

94、為UID,具體字段信息如表3.24所示。</p><p>  表3.24 學(xué)生詳情表</p><p>  (25) 導(dǎo)師詳情表(WR_TeacherInfo),其中主鍵為UID,具體字段信息如表3.25所示。</p><p>  表3.25 導(dǎo)師詳情表</p><p>  (26) 用戶表(包括管理員,導(dǎo)師,學(xué)生)(WR_User),其中主鍵

95、為UID,具體字段信息如表3.26所示。</p><p>  表3.26 用戶表(包括管理員,導(dǎo)師,學(xué)生)</p><p>  (27) 學(xué)生(或?qū)煟┕ぷ魅罩荆╓R_UserLog),其中主鍵為LogID,具體字段信息如表3.27所示。</p><p>  表3.27 學(xué)生(或?qū)煟┕ぷ魅罩?lt;/p><p>  (28) 工作室表( WR_

96、WorkRoom),其中主鍵為WorkRoomID,具體字段信息如表3.28所示。</p><p>  表3.28 工作室表</p><p><b>  模塊的實現(xiàn)</b></p><p>  4.1 MVC分層結(jié)構(gòu)</p><p>  首先需要先介紹一下Struts-MVC模式。MVC(Model View Contr

97、ol)模型-視圖-控制器本系統(tǒng)基于Struts的MVC模式開發(fā),通過分層,從而使JSP頁面代碼簡潔,功能執(zhí)行流程清晰,將操作執(zhí)行的代碼封裝起來,方便方法重調(diào)用及調(diào)試修改。下面將列出主要模塊MVC結(jié)構(gòu)。</p><p>  信息展示模塊的MVC結(jié)構(gòu)如表4.1所示。</p><p>  表4.1 信息展示模塊的MVC結(jié)構(gòu)</p><p>  工作室日常管理模塊的MVC結(jié)

98、構(gòu)如表4.2所示。</p><p>  表4.2 工作室日常管理模塊的MVC結(jié)構(gòu)</p><p>  系統(tǒng)管理模塊的MVC結(jié)構(gòu)如表4.3所示。</p><p>  表4.3 系統(tǒng)管理模塊的MVC結(jié)構(gòu)</p><p>  互動交流模塊的MVC結(jié)構(gòu)如表4.4所示。</p><p>  表4.4 互動交流模塊的MVC結(jié)構(gòu)&l

99、t;/p><p>  下面以信息展示模塊的新聞發(fā)布為例介紹MVC各層流程。</p><p>  圖4.1 系統(tǒng)MVC執(zhí)行流程圖</p><p><b>  流程分析:</b></p><p>  ·Servlet/Jsp容器在web.xml文件中找到*.do的servlet-mapping:action;</

100、p><p>  ·根據(jù)servlet-name在servlet元素中找到對應(yīng)的ActionServlet類;</p><p>  ·根據(jù)struts-config.xml中的設(shè)置,把客戶提交的表單數(shù)據(jù)傳給Form對象;</p><p>  ·ActionServlet從struts-config.xml中查找path屬性符合的<act

101、ion>元素,查找Action實例,在Action中調(diào)用模型組件(本例的NewsDAO)的save方法;</p><p>  ·在save方法中執(zhí)行操作(修改或插入),再根據(jù)結(jié)果查找<action>中相應(yīng)的<forward>子元素,獲得ActionForward對象,通過控制層進(jìn)行頁面跳轉(zhuǎn),將結(jié)果集返回并顯示在頁面上。</p><p>  4.2 信

102、息展示模塊</p><p> ?、惫δ埽褐饕獮榍芭_展示型模塊,包含榮譽展示、新聞公告、信息公開。榮譽展示包括優(yōu)秀個人、優(yōu)秀作品。前臺展示部分全部人均有權(quán)限,后臺編輯部分公管理員有權(quán)限。</p><p><b> ?、苍O(shè)計思想:</b></p><p><b>  (1) 榮譽展示:</b></p><p

103、>  優(yōu)秀個人:優(yōu)秀個人包括姓名、學(xué)號、方向、添加日期、摘要、圖片地址。圖片為優(yōu)秀學(xué)生的照片,程序自動生成一張120*160縮略圖。優(yōu)秀個人后臺學(xué)號、姓名的選擇使用AJAX技術(shù),不用刷新頁面。僅管理員有權(quán)限。</p><p>  優(yōu)秀作品:優(yōu)秀作品包括作品名、圖片地址、摘要、作者、方向、源碼地址、運行地址、添加日期等。作者可以有多個,同樣通過AJAX技術(shù)選擇學(xué)生。運行地址是配置好的可以運行的優(yōu)秀作品的網(wǎng)址,

104、可以和工作室管理系統(tǒng)不在同一臺服務(wù)器上。優(yōu)秀作品圖片地址為優(yōu)秀作品截圖,程序自動生成一張200*150的縮略圖。僅管理有權(quán)限。</p><p><b>  新聞公告: </b></p><p>  新聞:新聞包括列表、添加、修改、刪除功能。僅管理員有權(quán)限。新聞包括標(biāo)題、作者、新聞分類、新聞來源、新聞內(nèi)容、發(fā)布者、新聞性質(zhì)。其中新聞性質(zhì)分為置頂、推薦、幻燈圖、審核。選中

105、置頂時新聞在列表時會顯示上最上方,選中推薦時在新聞顯示時左欄的推薦新聞列表中會顯示出來,選中幻燈圖時在前臺會以幻燈圖的形式播放出來,選中審核時新聞才會在前臺顯示出來。新聞采用在線HMTL編輯器eWebEditor,讓管理員編輯新聞更簡單。</p><p>  新聞分類:新聞分類包括分類列表、添加、修改、刪除功能。僅管理員有權(quán)限。新聞分類只設(shè)一級分類,并設(shè)置排序字段,按數(shù)字正序排序。</p><

106、p>  公告:公告可以由管理員或?qū)熖砑?,管理員可以添加院級公告和某個工作室的公告,導(dǎo)師只可以添加自己工作室的公告。學(xué)生或?qū)熢诘顷戇M(jìn)后臺時會顯示院級公告和本工作室公告。公告內(nèi)容依然使用eWebEditor簡化操作過程。</p><p><b>  信息公開: </b></p><p>  工作室展示:工作室展示主要放在前臺顯示。首頁提供大幅幻燈顯示工作室的LO

107、GO圖片,隨機生成4張圖片。工作室展示列表頁可以按年級查詢當(dāng)前或歷史工作室情況。工作室展示頁除列出工作室LOGO及工作室基本信息外還列出該工作室所有成員。</p><p><b> ?、炒a分析:</b></p><p>  (1) 優(yōu)秀作品修改的代碼分析(這里以優(yōu)秀作品修改為例來解析代碼)</p><p>  <1> 首先打開ad

108、min/fineSoft.do?method=list顯示優(yōu)秀作品列表</p><p>  解釋:通過此路徑struts會去admin-struts-config.xml中查找對應(yīng)的action。</p><p>  <action path="/fineSoft" attribute="fineSoftForm"</p><

109、;p>  name="fineSoftForm" parameter="method" scope="request"</p><p>  type="com.myh.admin.action.FineSoftAction" validate="false"</p><p>  inp

110、ut="/go.do?def=fineSoftEdit"></p><p>  <forward name="list" path="/go.do?def=fineSoftList" /></p><p>  <forward name="reList" path="/fine

111、Soft.do?method=list"</p><p>  redirect="true" /></p><p>  <forward name="edit" path="/go.do?def=fineSoftEdit" /></p><p><b>  </a

112、ction></b></p><p>  網(wǎng)址被映射到com.myh.admin.action.FineSoftAction中的list方法,list方法處理完后返回一個名為“l(fā)ist”的Action Forword,實際指向Tiles配置中的fineSoftList,再從Tiles列表中找到對應(yīng)的jsp文件為/ /WEB-INF/jsp/admin/fineSoftList.jsp,然后處理標(biāo)

113、簽顯示之。</p><p>  <2> 點擊編輯鏈接后進(jìn)入優(yōu)秀作品修改頁面</p><p>  解釋:同上找到FineSoftAction中的edit方法,首先通過傳到action中的參數(shù)softId,找到對應(yīng)softId的優(yōu)秀作品,讀取出來跳轉(zhuǎn)到對應(yīng)的jsp文件上顯示。若沒找到對就softId的優(yōu)秀作品則提示“沒有找到優(yōu)秀作品”。變量傳遞可以使用ActionForm Bean

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論