面向服務(wù)架構(gòu)內(nèi)容管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
面向服務(wù)架構(gòu)內(nèi)容管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
面向服務(wù)架構(gòu)內(nèi)容管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
面向服務(wù)架構(gòu)內(nèi)容管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
面向服務(wù)架構(gòu)內(nèi)容管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

1、濟(jì)南大學(xué)畢業(yè)設(shè)計(jì)畢業(yè)設(shè)計(jì)題 目 面向服務(wù)架構(gòu)的內(nèi)容管理系統(tǒng) 設(shè)計(jì)與實(shí)現(xiàn) 學(xué) 院 XXXXXXXXXXXX 專(zhuān) 業(yè) XXXXX 班 級(jí) XXXXXX 學(xué) 生 XXXXXX 學(xué) 號(hào) XXXXXXX 指導(dǎo)教師 XXXXX 二XX 年 六 月 十 日- 1 -濟(jì)南大學(xué)畢業(yè)設(shè)計(jì)摘 要在高校信息化進(jìn)程中,內(nèi)容管理系統(tǒng)扮演者非常重要的角色,各種教學(xué)資源(課件、視頻、文檔、圖像等)的存儲(chǔ)、各個(gè)門(mén)戶(hù)網(wǎng)站、各個(gè)教學(xué)輔助系統(tǒng),歸根結(jié)底都是內(nèi)容管理系統(tǒng)。傳統(tǒng)的內(nèi)容管理系統(tǒng)都是單獨(dú)設(shè)計(jì)分散部署的,這樣會(huì)造成大量的資源浪費(fèi),本課題利用面向服務(wù)架構(gòu)設(shè)計(jì)實(shí)現(xiàn)一個(gè)內(nèi)容資源統(tǒng)一存放,WEB前端分布式部署的內(nèi)容管理系統(tǒng),從而提高存

2、儲(chǔ)的效率,降低系統(tǒng)的耦合度,提高系統(tǒng)的靈活性。課題研究展開(kāi)的過(guò)程中,我學(xué)習(xí)了Java EE技術(shù)及相關(guān)知識(shí),包括JSP、EJB、Servlet、JDBC、XML、JNDI等技術(shù),以及Struts框架、Spring框架、Hibernate和Web Service技術(shù);對(duì)內(nèi)容管理系統(tǒng)進(jìn)行詳細(xì)的需求分析和設(shè)計(jì);學(xué)習(xí)面向服務(wù)的架構(gòu),實(shí)現(xiàn)分布式內(nèi)容管理系統(tǒng)的架構(gòu)設(shè)計(jì);內(nèi)容管理系統(tǒng)主要功能的實(shí)現(xiàn),包括權(quán)限管理、內(nèi)容資源的顯示、內(nèi)容資源的添加修改刪除等;學(xué)習(xí)ExtJs框架,從而簡(jiǎn)化前端界面的開(kāi)發(fā)。通過(guò)對(duì)本課題的研究和設(shè)計(jì),我鞏固了之前學(xué)過(guò)的知識(shí),如SSH框架,也學(xué)到了很多新知識(shí),如ExtJs框架、CXF框架,

3、設(shè)計(jì)出了預(yù)想中的系統(tǒng),基本實(shí)現(xiàn)了要求的功能。同時(shí)該系統(tǒng)也存在一定的不足,界面設(shè)計(jì)還不夠人性化,這一點(diǎn)有待改善。關(guān)鍵詞:內(nèi)容管理系統(tǒng);面向服務(wù)架構(gòu);SSH框架;ExtJs框架;CXF框架ABSTRACTIn the progress of informationization in University, the content management system play an important role. The storage of all teaching resources(Courseware, Videos, Files, and so on )contents resource

4、s、all portals、all assistant system of teaching, all the above fall into content management system in the final analysis. Traditional content management systems are designed solely and deployed dispersedly, which lead to tremendous wasting of resources. This project use SOA to implement a content man

5、agement system which store contents resources uniformly and deploy Front-ends of WEB distributedly . Then, the system will improve the efficiency of storage and reduce the degree of coupling,whats more , it will improve the flexibility of the system.With the expanding of the project, I study Java EE

6、 technology and some knowledge about it,including JSP, EJB, Servlet, JDBC, XML, JNDI , Struts frame, Spring frame, Hibernate frame and Web Service technology; Do requirement analysis and system design in details, and do UML modeling about the content management system; Study SOA architecture, and th

7、en realize the design of distributive system; Realize main functions of the system, including authority management, the display, add, delete, modify of contents resources.Through studying and designing the project, I consolidate the knowledge that I ever studied, such as SSH frame, and at the same t

8、ime, I learned a lot of new knowledge, such as ExtJs frame, CXF frame. What is the most important is that I design the expected system which realize requested functions. But there still exist some deficiencies, for example it is not enough in humanization, which need further improved. Key words:Cont

9、ent management system; SOA; SSH frame; ExtJs frame; CXF frame目 錄摘 要IABSTRACTII1前言11.1系統(tǒng)目的11.2系統(tǒng)背景11.3系統(tǒng)使用對(duì)象及范圍21.4論文的組織結(jié)構(gòu)32需求分析42.1功能要求42.1.1學(xué)生功能要求42.1.2教師功能要求42.1.3管理員功能要求52.2性能要求62.3可靠性要求72.4出錯(cuò)處理要求73概要設(shè)計(jì)83.1系統(tǒng)實(shí)現(xiàn)環(huán)境83.2整體架構(gòu)83.3UML建模83.4數(shù)據(jù)模型103.4.1基本實(shí)體103.4.2各模塊系統(tǒng)134詳細(xì)設(shè)計(jì)154.1數(shù)據(jù)庫(kù)設(shè)計(jì)154.1.1數(shù)據(jù)庫(kù)命名規(guī)范154.1.

10、2對(duì)應(yīng)表設(shè)計(jì)154.2原型設(shè)計(jì)185技術(shù)框架195.1ExtJs框架195.2CXF框架205.3SSH框架205.4技術(shù)總結(jié)236編碼與測(cè)試266.1服務(wù)端開(kāi)發(fā)266.1.1Model層開(kāi)發(fā)266.1.2Dao層開(kāi)發(fā)276.1.3Service層開(kāi)發(fā)276.1.4Service.xml配置文件舉例286.1.5Applicationcontext.xml配置文件舉例296.2客戶(hù)端開(kāi)發(fā)296.2.1Model層開(kāi)發(fā)296.2.2Service層開(kāi)發(fā)296.2.3Action層開(kāi)發(fā)306.2.4Applicationcontext.xml配置文件舉例316.2.5Jsp頁(yè)面開(kāi)發(fā)316.3測(cè)試及

11、效果圖31結(jié) 論36參 考 文 獻(xiàn)37致 謝38 - 39 -1 前言1.1 系統(tǒng)目的在高校信息化進(jìn)程中,內(nèi)容管理系統(tǒng)扮演者非常重要的角色,各種教學(xué)資源(課件、視頻、文檔、圖像等)的存儲(chǔ)、各個(gè)門(mén)戶(hù)網(wǎng)站、各個(gè)教學(xué)輔助系統(tǒng),歸根結(jié)底都是內(nèi)容管理系統(tǒng)。傳統(tǒng)的內(nèi)容管理系統(tǒng)都是單獨(dú)設(shè)計(jì)分散部署的,這樣會(huì)造成大量的資源浪費(fèi),本課題利用面向服務(wù)架構(gòu)設(shè)計(jì)實(shí)現(xiàn)一個(gè)內(nèi)容資源統(tǒng)一存放,WEB前端分布式部署的內(nèi)容管理系統(tǒng),大大提高存儲(chǔ)的效率,降低系統(tǒng)的耦合度,提高系統(tǒng)的靈活性。1.2 系統(tǒng)背景近幾十年來(lái),由于計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)迅猛發(fā)展,全世界已經(jīng)進(jìn)入了信息社會(huì)的時(shí)代。大量的信息存儲(chǔ)和管理成為我們面臨的一個(gè)重要問(wèn)題,

12、特別是隨著網(wǎng)絡(luò)的普遍使用,各行各業(yè)都積累了大量的信息資源,如電子郵件、視頻音頻資料、辦公文檔、文件、表格等等,這些給網(wǎng)站的信息更新和維護(hù)工作帶了很大的困難,同時(shí)也產(chǎn)生了許許多多的問(wèn)題,比如頁(yè)面制作無(wú)序,網(wǎng)站風(fēng)格不統(tǒng)一,大量信息堆積,發(fā)布顯得異常沉重,內(nèi)容繁雜,手工管理效率低下等等。于是,科學(xué)管理和合理開(kāi)發(fā)這些內(nèi)部和外部信息資源已經(jīng)成為人們關(guān)注的焦點(diǎn),在這一背景下內(nèi)容管理系統(tǒng)CMS(Content Management System)應(yīng)運(yùn)而生,來(lái)有效解決用戶(hù)網(wǎng)站建設(shè)與信息發(fā)布中常見(jiàn)的問(wèn)題和需求。對(duì)網(wǎng)站內(nèi)容管理是內(nèi)容管理系統(tǒng)的最大優(yōu)勢(shì),它流程完善、功能豐富,可把內(nèi)容分門(mén)別類(lèi)并授權(quán)給不同用戶(hù)進(jìn)行編輯

13、管理。CMS是一種位于Web前端、Web服務(wù)器、以及后端辦公系統(tǒng)或流程(內(nèi)容創(chuàng)作、編輯)之間的軟件系統(tǒng),其功能比較多,模塊通用性比較強(qiáng)強(qiáng),管理起來(lái)很方便,應(yīng)用也很廣泛。 目前,國(guó)內(nèi)CMS主要有以下幾大類(lèi):第一類(lèi),面向政府和事業(yè)單位的內(nèi)容管理系統(tǒng),其特點(diǎn)是用戶(hù)間的需求差距較大,內(nèi)容管理只是一個(gè)大的系統(tǒng)中的某一個(gè)部分,一個(gè)網(wǎng)站中可能有多個(gè)CMS系統(tǒng)。一般在實(shí)施時(shí)要求訂制開(kāi)發(fā),不可能用現(xiàn)成產(chǎn)品來(lái)滿(mǎn)足需求。這樣的解決方案有:WITS、中關(guān)村軟件、方正祥羽、清華萬(wàn)博等。第二類(lèi),針對(duì)政府、媒體、ICP、大型企業(yè)的內(nèi)容管理系統(tǒng),其特點(diǎn)是維護(hù)內(nèi)容的人數(shù)多,水平有高有低,但是需求比較明確,做各種類(lèi)型的信息發(fā)布平

14、臺(tái),要求承受產(chǎn)品級(jí)的解決方案。相應(yīng)的產(chǎn)品有:TurboCMS、TRS WCM、龍訊。第三類(lèi),針對(duì)企業(yè)、個(gè)人的內(nèi)容管理系統(tǒng),特點(diǎn)為用戶(hù)是網(wǎng)站技術(shù)愛(ài)好者,喜歡鉆研。需求上可能比較復(fù)雜,比如要跟BBS、用戶(hù)注冊(cè)等應(yīng)用集成在一起,滿(mǎn)足個(gè)性化的需求,最好有原代碼,可以自己根據(jù)需要修改等等。國(guó)內(nèi)做的比較好的內(nèi)容管理系統(tǒng)有:新浪的CMS,它是用C+制作的,重點(diǎn)強(qiáng)調(diào)數(shù)據(jù)結(jié)構(gòu)的豐富,功能非常強(qiáng)大;評(píng)論回復(fù)系統(tǒng)做的最好的是網(wǎng)易,延伸閱讀做得也不錯(cuò);搜狐的圖庫(kù)系統(tǒng)做得最好。其他的網(wǎng)站功能如搜索引擎、日歷、Web郵件等也會(huì)以第三方插件的形式集成進(jìn)來(lái)。 本系統(tǒng)主要是研究面向高校的內(nèi)容管理系統(tǒng)。在高校信息化進(jìn)程中,內(nèi)容管

15、理系統(tǒng)扮演者非常重要的角色,各種教學(xué)資源(課件、視頻、文檔、圖像等)的存儲(chǔ)、各個(gè)門(mén)戶(hù)網(wǎng)站、各個(gè)教學(xué)輔助系統(tǒng),歸根結(jié)底都是內(nèi)容管理系統(tǒng)。傳統(tǒng)的內(nèi)容管理系統(tǒng)都是單獨(dú)設(shè)計(jì)分散部署的,這樣會(huì)造成大量的資源浪費(fèi),本課題利用面向服務(wù)架構(gòu)設(shè)計(jì)實(shí)現(xiàn)一個(gè)內(nèi)容資源統(tǒng)一存放,WEB前端分布式部署的內(nèi)容管理系統(tǒng),大大提高存儲(chǔ)的效率,降低系統(tǒng)的耦合度,提高系統(tǒng)的靈活性。在當(dāng)今的項(xiàng)目開(kāi)發(fā)中,需要用到SOA(service-oriented architecture)概念的地方越來(lái)越多,比如有些項(xiàng)目會(huì)有這樣的需求:在.net開(kāi)發(fā)的客戶(hù)端系統(tǒng)中訪問(wèn)java開(kāi)發(fā)的系統(tǒng),像這樣的需求就需要用到WebService進(jìn)行信息數(shù)據(jù)的操

16、作。面向服務(wù)的體系架構(gòu)是一種比較新的技術(shù)架構(gòu),利用這一架構(gòu)進(jìn)行系統(tǒng)開(kāi)發(fā)時(shí),首先要從整體上加以理解,SOA的關(guān)鍵是服務(wù),開(kāi)發(fā)的思路是首先將功能拆分為組件,然后用服務(wù)包裝這些組建,提供給系統(tǒng)終端使用。1.3 系統(tǒng)使用對(duì)象及范圍本系統(tǒng)的用戶(hù)主要分為管理員、教師、學(xué)生等角色。下面我們來(lái)具體闡述其各自的大致權(quán)限。(1)管理員:管理員擁有自己唯一的登錄賬號(hào),并使用其登陸賬號(hào)登錄系統(tǒng)的后臺(tái),對(duì)各種課程、資源和用戶(hù)進(jìn)行管理。(2)教師:本校老師可以有一個(gè)后臺(tái)管理,用已有的ID和密碼登陸,可以管理相應(yīng)的資源,管理個(gè)人信息,查看選課學(xué)生等。(3)學(xué)生:可以用自己的學(xué)號(hào)登陸,查看所有老師的各種資源以及個(gè)人選課情況,

17、還可以修改個(gè)人的一些信息。更加清晰直觀的系統(tǒng)使用對(duì)象及范圍如表1.1所示:表1.1 使用對(duì)象表系統(tǒng)名稱(chēng) 使用對(duì)象 使用范圍面向服務(wù)架 管理員 允許后臺(tái)登錄,修改、刪除、整理各種資源,管理用戶(hù),修改菜單。構(gòu)的內(nèi)容管 教師 允許登錄,修改個(gè)人信息,上傳圖片、視頻和文檔,編輯和修改已存在的文件理系統(tǒng) 學(xué)生 允許登錄,修改個(gè)人信息,查看選課情況,訪問(wèn)系統(tǒng)資源,下載文件,留言1.4 論文的組織結(jié)構(gòu)全文共分為九個(gè)部分第一部分是前言,主要介紹系統(tǒng)目的以及開(kāi)發(fā)背景,闡述了國(guó)內(nèi)外相關(guān)技術(shù)的研究現(xiàn)狀,以及該系統(tǒng)的使用對(duì)象及范圍。第二部分是需求分析,主要介紹系統(tǒng)的功能要求、性能要求、可靠性要求、出錯(cuò)處理要求等內(nèi)容。

18、第三部分是概要設(shè)計(jì),主要介紹系統(tǒng)實(shí)現(xiàn)環(huán)境,系統(tǒng)整體架構(gòu),功能模型,數(shù)據(jù)模型,各模塊系統(tǒng)以及E-R圖,對(duì)系統(tǒng)進(jìn)行UML建模。第四部分是詳細(xì)設(shè)計(jì),主要介紹數(shù)據(jù)庫(kù)設(shè)計(jì),以及原型設(shè)計(jì)方法。第五部分是技術(shù)總結(jié),主要是對(duì)開(kāi)發(fā)過(guò)程中遇到的技術(shù)問(wèn)題進(jìn)行總結(jié)。第六部分是編碼與測(cè)試,對(duì)編碼流程進(jìn)行舉例,包括服務(wù)器端開(kāi)發(fā)和客戶(hù)端開(kāi)發(fā),以及兩端開(kāi)發(fā)的不同,對(duì)系統(tǒng)進(jìn)行功能測(cè)試。第七部分是結(jié)論,主要對(duì)系統(tǒng)整體設(shè)計(jì)和完成情況進(jìn)行總結(jié)。第八部分是參考文獻(xiàn),列出了做設(shè)計(jì)和寫(xiě)論文過(guò)程中所參考到的中英文的文獻(xiàn)。第九部分是致謝,感謝大學(xué)四年幫助和教育過(guò)我的所有人,特別是在做設(shè)計(jì)和寫(xiě)論文過(guò)程中予以指導(dǎo)的老師和同學(xué)們。2 需求分析需求分

19、析即了解用戶(hù)的真實(shí)需求,為了開(kāi)發(fā)出真正滿(mǎn)足用戶(hù)需求的系統(tǒng),首先必須知道用戶(hù)的需求。對(duì)需求的深入理解是系統(tǒng)開(kāi)發(fā)成功的前提條件。在需求分析階段要確定系統(tǒng)必須完成的工作,也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。本文從功能要求、性能要求、可靠性要求、出錯(cuò)處理要求等方面來(lái)進(jìn)行需求分析,其中功能要求是本文需求分析的重點(diǎn)。2.1 功能要求功能要求是需求分析很重要的一個(gè)部分,這一部分的內(nèi)容對(duì)整個(gè)系統(tǒng)的可用性起著決定性作用,因此對(duì)功能要求要做仔細(xì)認(rèn)真的分析。下面我們將從學(xué)生功能要求、教師功能要求、管理員功能要求三個(gè)方面進(jìn)行分析。2.1.1 學(xué)生功能要求對(duì)本系統(tǒng)來(lái)說(shuō),學(xué)生這個(gè)角色的功能主要包括選擇要學(xué)習(xí)

20、的課程,這樣就可以通過(guò)數(shù)據(jù)庫(kù)記錄選課學(xué)生的信息,從而便于統(tǒng)計(jì)和管理。學(xué)生還可以查看系統(tǒng)資源,比如查看系統(tǒng)上的視頻、圖片、文檔等教學(xué)資源。修改個(gè)人信息,學(xué)生登錄系統(tǒng)后,可以修改個(gè)人信息,并更新保存到數(shù)據(jù)庫(kù)。這些功能,如表2.1所示。表2.1 學(xué)生功能要求功能功能描述選課功能選擇要學(xué)習(xí)的課程瀏覽資源瀏覽相應(yīng)教學(xué)資源(視頻、圖片、文檔)個(gè)人資料維護(hù)個(gè)人資料2.1.2 教師功能要求對(duì)本系統(tǒng)來(lái)說(shuō),教師這個(gè)角色的功能主要有對(duì)所教課程進(jìn)行管理,教師對(duì)課程的管理主要是查看所教課程的相關(guān)信息,比如該課程是在哪個(gè)學(xué)期開(kāi)設(shè)、以及每周幾上課等等一些信息。對(duì)資源進(jìn)行管理,主要是相應(yīng)的教學(xué)資源,如視頻資源、圖片資源以及文

21、檔資源等等進(jìn)行增刪改查等操作,還可以查看其他人上傳的資源。還能查看選擇所教課程的學(xué)生,比如想查看有多少人選本門(mén)課程,以及這些學(xué)生的信息,從而便于實(shí)體課堂的管理。最后就是個(gè)人基本信息的維護(hù)了,可以修改個(gè)人相關(guān)信息。如表2.2所示。表2.2 教師功能要求功能功能描述課程管理查看所教課程的相關(guān)信息,如開(kāi)課學(xué)期等 資源管理管理自己上傳的資源,如增刪改查,查看其他人上傳的資源本門(mén)課學(xué)生查看查看選擇本門(mén)課程(教師為自己)的學(xué)生個(gè)人資料維護(hù)個(gè)人資料2.1.3 管理員功能要求對(duì)本系統(tǒng)來(lái)說(shuō),管理員這個(gè)角色是一個(gè)很重要的角色,其功能最多,權(quán)限最大。管理員要對(duì)用戶(hù)進(jìn)行管理,比如當(dāng)需要增加用戶(hù)時(shí),只有管理員有權(quán)限進(jìn)行

22、用戶(hù)的添加,同樣減少用戶(hù)也一樣,只有管理員才有權(quán)限刪除相應(yīng)的用戶(hù),因?yàn)樵鰟h用戶(hù)這種操作權(quán)限不可以隨便賦予,否則系統(tǒng)會(huì)發(fā)生紊亂。用戶(hù)的管理還包括修改用戶(hù)信息和搜索指定用戶(hù),這兩個(gè)操作不只是管理員才行,但管理員的權(quán)限最大,因?yàn)楸热缬脩?hù)本身也可以修改自己的信息,但是不能修改其他用戶(hù)的信息,老師也可以查看學(xué)生信息,但是只能查看選擇相應(yīng)課程的學(xué)生信息。菜單管理是本系統(tǒng)的一種個(gè)性化需求,管理員可以為系統(tǒng)添加新菜單,添加的菜單可以指向特定的網(wǎng)頁(yè),從而使系統(tǒng)內(nèi)容更加豐富,另外在系統(tǒng)使用的過(guò)程中,可能有些菜單不合時(shí)宜,那我們還可以將其刪除,或者修改菜單信息,這樣就增加了系統(tǒng)的靈活性,當(dāng)我們想要查看某個(gè)菜單的內(nèi)容

23、是,不需要從頭開(kāi)始查找,因?yàn)橛兴阉鞑藛蔚墓δ?,只要輸入想要查找的菜單的名稱(chēng),就可以很快找到。關(guān)于學(xué)生管理功能,當(dāng)有新學(xué)生要加入系統(tǒng)時(shí),我們可以添加相應(yīng)學(xué)生的信息到數(shù)據(jù)庫(kù)中,對(duì)于需要修改的學(xué)生信息,也可以進(jìn)行修改,對(duì)于已經(jīng)畢業(yè)或者退學(xué)的學(xué)生,即要退出本系統(tǒng)的學(xué)生,我們可以將其信息進(jìn)行刪除,當(dāng)我們想要查找某個(gè)學(xué)生的信息時(shí),只要在搜索學(xué)生功能板塊輸入學(xué)生的學(xué)號(hào)即可查詢(xún)。管理員還需要對(duì)教師進(jìn)行管理,當(dāng)有新教師要加入系統(tǒng)時(shí),要能夠添加教師信息到數(shù)據(jù)庫(kù),當(dāng)教師信息需要修改時(shí),要能夠?qū)ζ溥M(jìn)行修改并更新保存到數(shù)據(jù)庫(kù),當(dāng)有教師要退出系統(tǒng)時(shí),可以對(duì)其信息進(jìn)行刪除,當(dāng)要查找相應(yīng)教師信息時(shí),可以在系統(tǒng)的教師搜索板塊輸

24、入教工號(hào)進(jìn)行查找。課程管理也是很重要的部分,主要是當(dāng)有新課程要加入該系統(tǒng)時(shí),要能夠添加新課程信息到數(shù)據(jù)庫(kù),當(dāng)課程信息需要修改時(shí),要能夠修改并更新保存到數(shù)據(jù)庫(kù)中,當(dāng)課程結(jié)束時(shí),要能夠?qū)⒄n程信息從數(shù)據(jù)庫(kù)中刪除,管理員還要能夠查看選課學(xué)生信息,包括有選課人數(shù),選課學(xué)生詳細(xì)信息等,當(dāng)要查看課程信息時(shí),為了方便起見(jiàn),要有一個(gè)板塊供我們方便的搜索課程,比如輸入課程名或者課程代號(hào)就可以方便的搜索到要找的課程。對(duì)資源進(jìn)行管理,主要有視頻資源、圖片資源和文檔資源,要能夠?qū)@些資源進(jìn)行增刪改查等基本操作。為了更直觀的了解管理員功能要求,方便系統(tǒng)設(shè)計(jì)和開(kāi)發(fā),特制訂了如下表格,如表2.3所示。表2.3 管理員功能要求

25、功能功能描述用戶(hù)管理添加用戶(hù),修改用戶(hù)信息,刪除用戶(hù),搜索用戶(hù);菜單管理添加新菜單,修改菜單信息,刪除菜單,搜索菜單;學(xué)生管理添加學(xué)生,修改學(xué)生信息,刪除學(xué)生,搜索學(xué)生;教師管理添加教師,修改教師信息,刪除教師,搜索教師;課程管理添加課程,修改課程,刪除課程,查看選課學(xué)生,搜索課程;視頻資源管理添加視頻資源,修改視頻信息,刪除視頻,播放視頻,搜索視頻;圖片資源管理搜索圖片,查看圖片,添加圖片,修改圖片信息,刪除圖片;課件資源管理課件資源的上傳、刪除、修改、查看、搜索;2.2 性能要求闡述不同應(yīng)用領(lǐng)域?qū)υ搩?nèi)容管理系統(tǒng)性能的要求,并且說(shuō)明提出需求的原理或者依據(jù),以便開(kāi)發(fā)時(shí)做出合理的設(shè)計(jì)選擇。(1)

26、基礎(chǔ)平臺(tái)(平臺(tái)管理系統(tǒng)):具備用戶(hù)和權(quán)限管理(三類(lèi)用戶(hù):管理員、教師、學(xué)生)(2)平臺(tái)內(nèi)容管理系統(tǒng):管理員可進(jìn)行用戶(hù)管理及角色管理,實(shí)現(xiàn)菜單的增刪改查,教師可登陸系統(tǒng)進(jìn)行對(duì)應(yīng)資源的管理,學(xué)生可以登陸系統(tǒng)進(jìn)行選課和查看相應(yīng)資源。(3)交互系統(tǒng):滿(mǎn)足教師、學(xué)生間相互交流,如留言。 (4)平臺(tái)課件內(nèi)容存儲(chǔ)和管理應(yīng)基于數(shù)據(jù)庫(kù)系統(tǒng),實(shí)現(xiàn)動(dòng)態(tài)管理(5)每個(gè)站點(diǎn)都獨(dú)自發(fā)布,互不干涉,根據(jù)自己的資料更新情況進(jìn)行自動(dòng)發(fā)布,不同的站點(diǎn)發(fā)布生成的頁(yè)面自動(dòng)部署到不同的Web服務(wù)器上(6)系統(tǒng)必須能運(yùn)行在如下的操作系統(tǒng)及數(shù)據(jù)庫(kù)上,最好能適應(yīng)多種操作系統(tǒng),應(yīng)用服務(wù)器的部署需要:操作系統(tǒng)Windows 2000 Advan

27、ce Server; Windows XP; Linux數(shù)據(jù)庫(kù)系統(tǒng)使用MySql通訊接口采用TCP/IP、HTTP網(wǎng)絡(luò)協(xié)議。(7)要求的性能指標(biāo):系統(tǒng)平均無(wú)故障運(yùn)行時(shí)間大于99%頁(yè)面響應(yīng)時(shí)間在五秒以?xún)?nèi)2.3 可靠性要求(1) 能保證在并發(fā)高峰時(shí),系統(tǒng)的訪問(wèn)速度不能有明顯的下降。(2)能保證系統(tǒng)長(zhǎng)期正常穩(wěn)定的運(yùn)行。2.4 出錯(cuò)處理要求(1) 當(dāng)出現(xiàn)錯(cuò)誤時(shí),有明顯的錯(cuò)誤提示信息。(2)當(dāng)出現(xiàn)硬件當(dāng)機(jī)時(shí),能夠完成對(duì)數(shù)據(jù)的自我保護(hù)。3 概要設(shè)計(jì)3.1 系統(tǒng)實(shí)現(xiàn)環(huán)境(1)前端開(kāi)發(fā)語(yǔ)言的選擇:Java EE(2)基本框架:Struts2、Spring、Hibernate(3)運(yùn)行服務(wù)器:Apache To

28、mcat(4)前端開(kāi)發(fā)工具的選擇:Eclipse(5)后臺(tái)數(shù)據(jù)庫(kù)的選擇:MySql3.2 整體架構(gòu)系統(tǒng)的整體架構(gòu)是采用的面向服務(wù)的架構(gòu),之所以選擇此架構(gòu)是因?yàn)槊嫦蚍?wù)架構(gòu)有其獨(dú)特的優(yōu)勢(shì),其特點(diǎn)主要有靈活性強(qiáng)以及較低的耦合度,可以實(shí)現(xiàn)本課題所研究的內(nèi)容資源統(tǒng)一存放,Web前端分布式部署。本課題所研究的系統(tǒng)實(shí)現(xiàn)的架構(gòu)大致為在服務(wù)器端發(fā)布一些服務(wù),在客戶(hù)端調(diào)用相應(yīng)的服務(wù),如圖3.1所示,在服務(wù)器端主要發(fā)布的服務(wù)包括基本信息管理服務(wù),資源管理服務(wù),權(quán)限管理服務(wù),登陸管理服務(wù),還有留言管理服務(wù)等:圖3.1 整體架構(gòu)圖3.3 UML建模本系統(tǒng)中的對(duì)象主要有管理員、教師、學(xué)生、用戶(hù)、視頻資源、圖片資源等,這

29、些對(duì)象有各自的屬性和方法,比如管理員的基本屬性是Id和名字,其基本方法是對(duì)資源和用戶(hù)等進(jìn)行增刪改查等。學(xué)生的基本屬性也是Id和姓名,基本方法是對(duì)選課信息和個(gè)人信息進(jìn)行增刪改查。教師基本信息是Id和姓名,基本方法是對(duì)課程和資源進(jìn)行增刪改查。用戶(hù)基本屬性是Id、姓名和密碼,管理員、學(xué)生和教師都是用戶(hù),其基本方法也是增刪改查。課程的基本屬性是Id和課程名以及教師外鍵,基本方法包括增刪改查。視頻資源和圖片資源的基本屬性都是Id和資源名,基本方法也都是增刪改查。這些對(duì)象之間存在的關(guān)系主要有學(xué)生選課、教師教課、用戶(hù)管理資源等。對(duì)本系統(tǒng)進(jìn)行UML建模如下,如圖3.2所示。圖3.2 UML類(lèi)圖從UML類(lèi)圖中我

30、們可以清楚的了解系統(tǒng)中各個(gè)對(duì)象的屬性、方法、以及它們之間的關(guān)系,對(duì)我們下一步的編碼設(shè)計(jì)有很好的參考和指導(dǎo)作用,另外為了更好的進(jìn)行下一步的設(shè)計(jì),我們最好再畫(huà)一個(gè)時(shí)序圖,如圖所示3.3所示,從圖中我們可以很清晰的了解系統(tǒng)用戶(hù)使用本系統(tǒng)時(shí)的功能流程。圖3.3 時(shí)序圖3.4 數(shù)據(jù)模型3.4.1 基本實(shí)體本系統(tǒng)主要的實(shí)體有:管理員,教師,學(xué)生,課程,資源,菜單。其中管理員的屬性信息有用戶(hù)名、密碼、昵稱(chēng)、角色、狀態(tài)。教師的屬性信息有教工號(hào)、姓名、性別、所在學(xué)院、電子郵箱、電話號(hào)碼、職稱(chēng)、備注。學(xué)生的屬性信息有學(xué)號(hào)、姓名、性別、電子郵箱、電話號(hào)碼、手機(jī)號(hào)碼、所在學(xué)院、所在班級(jí)、所屬專(zhuān)業(yè)。課程的屬性信息有課程

31、代號(hào)、課程名稱(chēng)、開(kāi)課學(xué)期、學(xué)分、任課教師的Id、所屬學(xué)院、必修選修屬性、最大選課數(shù)、課程介紹。教學(xué)資源的屬性信息有搜索名稱(chēng)、物理存儲(chǔ)名稱(chēng)、大小、存儲(chǔ)地址、上傳者、資源類(lèi)型(視頻、圖片、文檔)、備注。菜單這個(gè)實(shí)體的屬性信息主要有菜單名、對(duì)于網(wǎng)頁(yè)地址、圖標(biāo)、上級(jí)菜單的Id、對(duì)用戶(hù)的權(quán)限、菜單描述等。作為系統(tǒng)的重要組成部分,這些實(shí)體之間存在特定的關(guān)系,下面我們用E-R圖的形式來(lái)展示這些關(guān)系,為了更清晰的了解實(shí)體之間的關(guān)系,這里采用分E-R圖的方式,首先是用戶(hù)管理學(xué)生,如圖3.4所示,其中用戶(hù)對(duì)學(xué)生的管理主要包括對(duì)學(xué)生信息的增刪改查等操作。用戶(hù)管理教師,如圖3.5所示,其中用戶(hù)對(duì)教師的管理主要包括對(duì)教

32、師信息的增刪改查等。用戶(hù)管理菜單,如圖3.6所示,其中用戶(hù)對(duì)菜單的管理主要包括對(duì)菜單信息的增刪改查等。用戶(hù)管理資源,如圖3.7所示,其中用戶(hù)對(duì)資源的管理主要包括對(duì)資源信息的增刪改查等。老師教課學(xué)生選課,如圖3.8所示,該圖以非常清晰,不在贅述。圖3.4 用戶(hù)管理學(xué)生圖3.5 用戶(hù)管理教師圖3.6 用戶(hù)管理菜單圖3.7 用戶(hù)與資源圖3.8 教師教課與學(xué)生選課3.4.2 各模塊系統(tǒng)本系統(tǒng)共分為9個(gè)子系統(tǒng),如圖3.9所示:菜單管理系統(tǒng),用戶(hù)管理系統(tǒng),學(xué)生管理系統(tǒng),教師管理系統(tǒng),課程管理系統(tǒng),視頻資源管理系統(tǒng),圖片資源管理系統(tǒng),文檔資源管理系統(tǒng),權(quán)限管理。(1)菜單管理系統(tǒng):用戶(hù)可以對(duì)已有菜單進(jìn)行搜索

33、,還可以添加需要的菜單,修改相應(yīng)菜單的信息,刪除相應(yīng)的菜單。 (2)用戶(hù)管理系統(tǒng):管理員可以按學(xué)號(hào)或教工號(hào)搜索用戶(hù),還可以添加新用戶(hù),對(duì)用戶(hù)信息進(jìn)行修改,刪除用戶(hù)。(3)學(xué)生管理系統(tǒng):管理員可以按學(xué)號(hào)搜索學(xué)生,還可以添加學(xué)生,修改學(xué)生信息,刪除學(xué)生。 (4)教師管理系統(tǒng):管理員可以按教工號(hào)搜索教師,還可以添加教師,修改教師信息,刪除教師。(5)課程管理系統(tǒng):管理員可以按課程號(hào)搜索課程,還可以添加課程,修改課程信息,刪除課程,查看選該門(mén)課程的所有學(xué)生信息。(6)視頻資源管理系統(tǒng):用戶(hù)可以按資源名稱(chēng)搜索相應(yīng)視頻,還可以添加視頻文件,修改視頻信息,刪除視頻文件,播放視頻。(7)圖片資源管理系統(tǒng):用戶(hù)

34、可以按圖片名稱(chēng)搜索相應(yīng)圖片,查看圖片,添加圖片,修改圖片信息,刪除圖片。(8)文檔資源管理系統(tǒng):用戶(hù)可以按文檔名稱(chēng)搜索相應(yīng)文檔,上傳文檔,下載文檔,刪除文檔,修改文檔信息。 (9)權(quán)限管理:該功能融合在菜單管理內(nèi)容中,在添加菜單時(shí)注明該項(xiàng)菜單對(duì)于各用戶(hù)的操作權(quán)限。圖3.9 系統(tǒng)整體功能圖4 詳細(xì)設(shè)計(jì)4.1 數(shù)據(jù)庫(kù)設(shè)計(jì)4.1.1 數(shù)據(jù)庫(kù)命名規(guī)范(1) 表名:對(duì)應(yīng)的英文,比如課程表,命名為course(2)字段:對(duì)應(yīng)的英文,并且字段名為兩個(gè)英文單詞時(shí),第二個(gè)單詞的首字母大寫(xiě),比如課程名,命名為courseName(3)外鍵:表名+字段名,字段名首字母大寫(xiě) 比如,在課程表中,教師ID是教師表中的外鍵

35、,命名為teacherId4.1.2 對(duì)應(yīng)表設(shè)計(jì)課程表設(shè)計(jì),課程是一個(gè)重要實(shí)體,該實(shí)體在數(shù)據(jù)庫(kù)中對(duì)應(yīng)的表的詳細(xì)信息如表4.1所示,其屬性信息主要有課程ID,作為唯一標(biāo)示課程的一個(gè)信息;課程號(hào),一般每個(gè)課程都有一個(gè)代號(hào),方便記錄;課程名,每個(gè)課程都應(yīng)該有自己的名稱(chēng),方便識(shí)別和記憶;開(kāi)課學(xué)期,是一個(gè)很重要的屬性,標(biāo)示課程的開(kāi)課時(shí)間;學(xué)分,自從高校實(shí)行學(xué)分制以來(lái),一般沒(méi)門(mén)課程都要設(shè)定相應(yīng)的學(xué)分。教師ID,每門(mén)課程都要有一個(gè)教師來(lái)教,所以課程表與教師表要有個(gè)對(duì)應(yīng),這就是教師ID的作用了。學(xué)院,由于每個(gè)課程都是由指定的學(xué)院開(kāi)設(shè)的,所以要有學(xué)院信息。屬性,是指課程是必修還是選修。最大選課數(shù),是指為每門(mén)課程

36、指定選擇該門(mén)課程的學(xué)生數(shù)。課程介紹即對(duì)課程做相應(yīng)的描述,介紹課程的大致內(nèi)容。表4.1課程表(course)名稱(chēng)屬性名類(lèi)型長(zhǎng)度是否為空說(shuō)明課程IDidint11否主鍵課程號(hào)courseNumvarchar20否課程名courseNamevarchar40否開(kāi)課學(xué)期timevarchar40學(xué)分creditint11教師IDteacherIdint11學(xué)院academyvarchar20屬性propertiesvarchar50最大選課數(shù)maxNumberint10課程介紹introductionvarchar200學(xué)院表的設(shè)計(jì),其詳細(xì)信息如表4.2所示,其中學(xué)院ID作為主鍵唯一標(biāo)示學(xué)院這個(gè)實(shí)體,

37、另外每個(gè)學(xué)院有一個(gè)代號(hào),還有學(xué)院名稱(chēng)以及學(xué)院的管理員數(shù)。表4.2 學(xué)院表(academy)名稱(chēng)屬性名類(lèi)型長(zhǎng)度是否為空說(shuō)明學(xué)院IDidint11否主鍵學(xué)院代號(hào)deptCodevarchar10學(xué)院名稱(chēng)deptNamevarchar20學(xué)院管理員數(shù)deptManagerint11登陸表設(shè)計(jì),登陸表里記錄著登陸系統(tǒng)的用戶(hù)的信息,如表4.3所示,其中登陸ID唯一標(biāo)示每一位登陸用戶(hù),另外還有登陸賬號(hào)和密碼,每個(gè)用戶(hù)還有一個(gè)昵稱(chēng),角色是指為每個(gè)用戶(hù)指定相應(yīng)的角色,如教師、學(xué)生、管理員等,這樣就可以根據(jù)不同的角色賦予其不同的操作權(quán)限。狀態(tài),是指顯示用戶(hù)是否在線。表4.3 登陸表(login)名稱(chēng)屬性名類(lèi)型長(zhǎng)

38、度是否為空說(shuō)明登陸IDidint11否主鍵登陸賬號(hào)numbervarchar20否密碼passwordvarchar20昵稱(chēng)nicknamevarchar50角色rolevarchar11否狀態(tài)statusint11菜單表的設(shè)計(jì),如表4.4所示,其中用菜單ID作為主鍵唯一標(biāo)示每一個(gè)菜單,菜單名便于記憶每一個(gè)菜單,網(wǎng)址是指菜單所鏈接到的網(wǎng)頁(yè)的地址,圖標(biāo)是指菜單用到資源里面的哪個(gè)圖片,上級(jí)Id是指菜單的上一級(jí)菜單的Id,權(quán)限是指該菜單對(duì)于不同角色的不同權(quán)限,描述是對(duì)菜單的簡(jiǎn)單介紹。表4.4 菜單表(menu)名稱(chēng)屬性名類(lèi)型長(zhǎng)度是否為空說(shuō)明菜單IDidint11否主鍵菜單名namevarchar30

39、否網(wǎng)址urlvarchar100圖標(biāo)iconvarchar20上級(jí)IdparentIdint11權(quán)限permissionvarchar10描述descriptionvarchar40資源表的設(shè)計(jì),如表4.5所示,資源ID作為主鍵來(lái)唯一標(biāo)示相應(yīng)資源;搜索名即資源的顯示名稱(chēng);資源名是指資源在硬盤(pán)上存儲(chǔ)時(shí)的名稱(chēng),它是由資源存儲(chǔ)時(shí)的時(shí)間加上幾個(gè)隨機(jī)數(shù)組成,這樣在存儲(chǔ)的時(shí)候基本上不會(huì)發(fā)生沖突;資源大小,即資源所占存儲(chǔ)空間的大小;網(wǎng)址,是指資源存儲(chǔ)的地址;用戶(hù)賬號(hào)是指上傳資源的用戶(hù)的登錄賬號(hào),以便于記錄資源的上傳人;資源類(lèi)型是用來(lái)標(biāo)示資源是圖片、視頻還是文檔;備注,即對(duì)資源的描述和說(shuō)明。表4.5 資源表(

40、source)名稱(chēng)屬性名類(lèi)型長(zhǎng)度是否為空說(shuō)明資源IDidint11否主鍵搜索名searchNamevarchar40資源名sourceNamevarchar40資源大小sizefloat網(wǎng)址urlvarchar200用戶(hù)賬號(hào)userNumvarchar20資源類(lèi)型typevarchar20備注commentvarchar200學(xué)生表的設(shè)計(jì),如表4.6所示,學(xué)生ID 作為主鍵來(lái)唯一標(biāo)示每一個(gè)學(xué)生;學(xué)號(hào),學(xué)校為每個(gè)學(xué)生編有學(xué)號(hào);姓名、性別都是學(xué)生的基本信息;電子郵箱、手機(jī)號(hào)和電話號(hào)都是為了方便與學(xué)生聯(lián)系而設(shè)計(jì)的屬性信息;所在學(xué)院、專(zhuān)業(yè)和班級(jí),這些也都是學(xué)生的基本信息。表4.6 學(xué)生表(studen

41、t)名稱(chēng)屬性名類(lèi)型長(zhǎng)度是否為空說(shuō)明學(xué)生IDidint11否學(xué)號(hào)stuNumvarchar20否姓名stuNamevarchar20否性別sexvarchar10電子郵箱emailvarchar20電話號(hào)碼telephonevarchar20手機(jī)號(hào)碼handphonevarchar20所在學(xué)院academyvarchar20所在專(zhuān)業(yè)majorvarchar20所在班級(jí)classesvarchar20學(xué)生選課表的設(shè)計(jì),如圖4.7所示,該表主要包括學(xué)生ID和課程ID,該表是用來(lái)連接學(xué)生表和課程表的。表4.7 學(xué)生選課表(studentcourse)名稱(chēng)屬性名類(lèi)型長(zhǎng)度是否為空說(shuō)明學(xué)生IDstuIdin

42、t11否Student表的外鍵課程IDcourseIdint11否course表的外鍵教師表的設(shè)計(jì),如表4.8所示,教師ID作為主鍵唯一標(biāo)示每一位教師;教工號(hào),一般學(xué)校都為每一位教師編定一個(gè)教工號(hào),便于記錄和統(tǒng)計(jì);姓名、性別、所在學(xué)院以及職稱(chēng)這些都是教師的基本信息;電子郵箱、電話號(hào)和手機(jī)號(hào)都是為了方便聯(lián)系教師而設(shè)定的屬性信息;備注是對(duì)教師的相關(guān)介紹。表4.8 教師表(teacher)名稱(chēng)屬性名類(lèi)型長(zhǎng)度是否為空說(shuō)明教師IDteaIdint11否主鍵教工號(hào)teaNumvarchar20否姓名teaNamevarchar20否性別sexvarchar2電子郵箱emailint40 所在學(xué)院acade

43、myint40電話號(hào)碼telephone15手機(jī)號(hào)碼handphone15職稱(chēng)jobTitle40備注content2004.2 原型設(shè)計(jì)原型法設(shè)計(jì)作為軟件開(kāi)發(fā)的一種開(kāi)發(fā)方法,有著其獨(dú)特的優(yōu)勢(shì),首先采用原型設(shè)計(jì)法,可以快速適應(yīng)需求的變化,減少因需求變化引起的各種風(fēng)險(xiǎn);另外,該方法的使用可以使需求分析進(jìn)行的更充分,即可以先設(shè)計(jì)出簡(jiǎn)單的原型,然后利用原型跟用戶(hù)進(jìn)行溝通,這樣的溝通會(huì)更直觀,用戶(hù)也會(huì)更明白。本系統(tǒng)在設(shè)計(jì)的時(shí)候,只是利用了原型設(shè)計(jì)的思想,并沒(méi)有把原型設(shè)計(jì)很好的融入到系統(tǒng)的設(shè)計(jì)當(dāng)中。但這已經(jīng)為本系統(tǒng)的整體開(kāi)發(fā)做了不少的貢獻(xiàn)。我的做法是,先設(shè)計(jì)出簡(jiǎn)單的用戶(hù)操作界面,里面沒(méi)有數(shù)據(jù)的交互,甚至

44、只是一些靜態(tài)的頁(yè)面,但是正是在這些靜態(tài)頁(yè)面的設(shè)計(jì)過(guò)程中,我逐步形成了系統(tǒng)整體的一個(gè)框架出來(lái)。下面是我做原型時(shí)的一個(gè)頁(yè)面,如圖4.1所示:圖4.1 原型設(shè)計(jì)界面舉例5 技術(shù)框架5.1 ExtJs框架首先來(lái)認(rèn)識(shí)一下該框架,ExtJs是一個(gè)用來(lái)開(kāi)發(fā)前端用戶(hù)界面的技術(shù)框架,是用Javascript編寫(xiě)的,并且與后臺(tái)技術(shù)實(shí)現(xiàn)無(wú)關(guān),不管后面用C#,還是Java或者PHP都沒(méi)有關(guān)系。該框架的功能極其豐富,設(shè)計(jì)出來(lái)的界面特別美觀,比如它的高亮顯示選中行,還有很多動(dòng)畫(huà)效果做的很好,這些都可以提高用戶(hù)的感知度。最重要的是使用該框架不僅可以使開(kāi)發(fā)的界面更加美觀,而且可以簡(jiǎn)化我們的界面設(shè)計(jì)工作,為我們省去了設(shè)計(jì)樣式的

45、麻煩,比如它能自動(dòng)生成行號(hào),并支持checkbox全選,還可以動(dòng)態(tài)選擇顯示哪些列,還可以支持本地以及遠(yuǎn)程分頁(yè),可以對(duì)單元格按照自己的想法進(jìn)行渲染,再加上可編輯grid,添加新行,刪除一或多行,提示多行數(shù)據(jù),推拽改變grid大小,grid之間拖拽一行或多行,甚至可以在tree和grid之間進(jìn)行拖拽等等這些功能。ExtJs之所以有這么強(qiáng)大的功能,其主要原因是該框架封裝了一些比較美觀又實(shí)用的組件,比如TreePanel組件,它是用于顯示樹(shù)信息的,還有GridPanel及EditorGridPanel組件,它們是用于顯示表格的,另外還有Ext.Window等控件,它代表應(yīng)用程序窗口的ExtJs控件。在

46、使用ExtJs的時(shí)候,掌握其中的核心控件對(duì)于我們來(lái)說(shuō)非常重要,尤其是那些基礎(chǔ)類(lèi)控件。例如上面提到的那些控件,它們都是繼承于Panel面板,因此我們要對(duì)面板這一核心控件的屬性進(jìn)行重點(diǎn)理解和掌握。下面對(duì)面板這一控件進(jìn)行大概的介紹,面板由以下幾個(gè)部分組成:一個(gè)頂部工具欄(tbar)、一個(gè)底部工具欄(bbar)、面板頭部(header)、面板尾部(bottom)、面板主區(qū)域(body)這幾個(gè)部分組成。另外,面板類(lèi)中還內(nèi)置了面板展開(kāi)、關(guān)閉等功能,并提供一系列可重用的工具按鈕,這就使得我們可以輕松實(shí)現(xiàn)自定義的行為,面板還可以放入其它任何容器中,另外面板本身又是一個(gè)容器,它里面又可以包含各種其它組件。如果我

47、們能夠掌握好Panel的應(yīng)用,那么學(xué)習(xí)TreePanel、Window等就會(huì)變得容易得多。一樣的道理,對(duì)于ExtJs的表單字段來(lái)說(shuō),不管是ComboBox,NumberField、還是DateField,它們都是 Ext.form.Field類(lèi)的子類(lèi),在它上面定義了表單字段的各種基本操作及特性。所以,在學(xué)習(xí)使用表單字段組件時(shí),F(xiàn)ield這個(gè)類(lèi)一定要作為研究的重點(diǎn),掌握了它的主要方法、事件等,就能有助于更好的學(xué)習(xí)使用其它的字段。在項(xiàng)目中,Ext本身的華麗外表的確很吸引人,但這僅僅是其外在的美,還有最核心的內(nèi)在美,即:Json(JavaScript Object Notation)。Json是一種

48、數(shù)據(jù)交互格式,一個(gè)不能實(shí)現(xiàn)數(shù)據(jù)交互功能的項(xiàng)目是沒(méi)有任何意義的,大多的Ajax框架的數(shù)據(jù)交互都基于Json,如:jQuery、ExtJs等。因此理解Json掌握J(rèn)son并熟練運(yùn)用是很重要的。以目前主流的開(kāi)發(fā)語(yǔ)言為例,.NET已經(jīng)把Json封裝到類(lèi)中,無(wú)需配置,直接與數(shù)據(jù)庫(kù)交互,輕松的封裝直接使用;Java就麻煩些,必須去下一個(gè)Json包,然后再做一些配置,才可以使用;PHP和Java差不多,也必須下載一個(gè)Json插件(和類(lèi)相似),但是不用配置,直接封裝使用。在實(shí)際的項(xiàng)目中,各自的取舍配置,都基于項(xiàng)目和需求,并不是每個(gè)項(xiàng)目(針對(duì)WEB)都一定要用到。但是,如果想在項(xiàng)目中用到此類(lèi)的Ajax框架,Js

49、on的掌握又是必須的。5.2 CXF框架Apache CXF 是一個(gè)開(kāi)源的 Services 框架,CXF 可以幫助我們利用 Frontend 編程 API 來(lái)構(gòu)建和開(kāi)發(fā) Services ,比如 JAX-WS 。這些 Services 可以支持多種協(xié)議,例如:SOAP、XML/HTTP、RESTful HTTP 或者 CORBA ,并且可以在多種傳輸協(xié)議上運(yùn)行,比如:HTTP、JMS 或者 JBI,而且CXF 大大簡(jiǎn)化了 Services 的創(chuàng)建,同時(shí)它繼承了 XFire 傳統(tǒng),一樣可以天然地和 Spring 進(jìn)行無(wú)縫集成。CXF 包含了大量的功能特性,主要集中在以下幾個(gè)方面:支持 Web

50、Services 標(biāo)準(zhǔn):CXF 支持多種 Web Services 標(biāo)準(zhǔn),包含 SOAP、Basic Profile、WS-Addressing、WS-Policy、WS-ReliableMessaging 和 WS-Security。Frontends:CXF 支持多種“Frontend”編程模型,CXF 實(shí)現(xiàn)了 JAX-WS API (遵循 JAX-WS 2.0 TCK 版本),它也包含一個(gè)“simple frontend”允許客戶(hù)端和 EndPoint 的創(chuàng)建,而不需要 Annotation 注解。CXF 既支持 WSDL 優(yōu)先開(kāi)發(fā),也支持從 Java 的代碼優(yōu)先開(kāi)發(fā)模式。容易使用: C

51、XF 設(shè)計(jì)得更加直觀與容易使用。有大量簡(jiǎn)單的 API 用來(lái)快速地構(gòu)建代碼優(yōu)先的 Services,各種 Maven 的插件也使集成更加容易,支持 JAX-WS API ,支持 Spring 2.0 更加簡(jiǎn)化的 XML 配置方式,等等。支持二進(jìn)制和遺留協(xié)議:CXF 的設(shè)計(jì)是一種可插撥的架構(gòu),既可以支持 XML ,也可以支持非 XML 的類(lèi)型綁定,比如:JSON 和 CORBA。CXF有一些優(yōu)勢(shì),它的開(kāi)發(fā)簡(jiǎn)單,在Stand alone方式下執(zhí)行效率高,可以靈活部署,比如可以部署在一些輕量級(jí)的容器上,像Tomcat或者基于Spring的容器;可以在Java EE應(yīng)用服務(wù)器中部署Services;還可

52、以在獨(dú)立的客戶(hù)端或者服務(wù)器端進(jìn)行部署。它能夠支持多種編程語(yǔ)言。另外它還有一個(gè)重要特點(diǎn)是代碼生成的特點(diǎn),分為以下幾種類(lèi)型:Java to WSDL;WSDL to Java;XSD to WSDL;WSDL to XML;WSDL to SOAP;WSDL to Service;本系統(tǒng)采用的是其中的Java to WSDL方式。5.3 SSH框架(1)首先對(duì)該框架做大致的介紹:SSH(Spring + Struts +Hibernate)是Java Web輕量級(jí)開(kāi)發(fā)三大開(kāi)源框架的首字母的縮寫(xiě)。Java EE的體系結(jié)構(gòu)有三層:表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)持久層。開(kāi)發(fā)一個(gè)SSH項(xiàng)目,也要遵循這三層模式。

53、SSH分別實(shí)現(xiàn)這樣的功能:用Hibernate來(lái)完成數(shù)據(jù)的持久層應(yīng)用,用Spring的Bean來(lái)管理組件(主要是DAO、業(yè)務(wù)邏輯和Struts的Action),而用Struts來(lái)完成頁(yè)面的控制跳轉(zhuǎn)。(2)在應(yīng)用SSH框架進(jìn)行開(kāi)發(fā)時(shí),我們需要運(yùn)用分層的思想,比如在項(xiàng)目中用各個(gè)包來(lái)實(shí)現(xiàn)分層:org.action:放置對(duì)應(yīng)的用戶(hù)自定義的Action類(lèi)。由Action類(lèi)調(diào)用業(yè)務(wù)邏輯來(lái)處理用戶(hù)請(qǐng)求,然后控制跳轉(zhuǎn)。org.dao:放置DAO(數(shù)據(jù)訪問(wèn)對(duì)象)的接口,接口中的方法用來(lái)和數(shù)據(jù)庫(kù)進(jìn)行交互,這些方法由實(shí)現(xiàn)它們的類(lèi)來(lái)實(shí)現(xiàn)。org.dao.imp:放置實(shí)現(xiàn)DAO接口的類(lèi)。org.model:放置表對(duì)應(yīng)的POJO類(lèi)及映射文件*..service:放置業(yè)務(wù)邏輯接口。接口中的方法用來(lái)處理用戶(hù)請(qǐng)求,這些方法由實(shí)現(xiàn)接口的類(lèi)來(lái)實(shí)現(xiàn)。org.service.imp:放置實(shí)現(xiàn)業(yè)務(wù)邏輯接口的類(lèi)。org.tool:放置公用的工具類(lèi),如分頁(yè)類(lèi)。perties:實(shí)現(xiàn)Struts 2和Spring整合。struts.xml:配置Action。applicationContext.xml和web.xml(3)SSH各部分功能如下:Struts框架技術(shù)是Java Web開(kāi)發(fā)人員逐步

溫馨提示

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

評(píng)論

0/150

提交評(píng)論