• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于組件的內(nèi)容管理系統(tǒng)的設(shè)計與實現(xiàn)

      2012-08-06 12:51:14時曉青
      關(guān)鍵詞:頻道頁面組件

      時曉青

      北方工業(yè)大學(xué)軟件工程實驗室 北京 100144

      0 引言

      內(nèi)容管理系統(tǒng)的基本思想是分離內(nèi)容的管理和設(shè)計。頁面設(shè)計存儲在模板里,而內(nèi)容存儲在數(shù)據(jù)庫或獨立的文件中。當一個用戶請求頁面時,各部分聯(lián)合生成一個標準的HTML 頁面。理解了內(nèi)容和表現(xiàn)之間的差別,也就理解了內(nèi)容管理的價值。回顧過去,從靜態(tài)網(wǎng)站到動態(tài)網(wǎng)站:早期的網(wǎng)站由純粹的HTML頁面組成,每一個頁面,都是由設(shè)計師將內(nèi)容與設(shè)計進行整合,然后合成一個頁面。后來動態(tài)網(wǎng)站技術(shù)的出現(xiàn),人們將內(nèi)容本身保存在關(guān)系數(shù)據(jù)庫里,然后當用戶瀏覽時再動態(tài)地從數(shù)據(jù)庫中取出內(nèi)容,使用程序生成HTML傳達給用戶。純粹的靜態(tài)技術(shù)過分強調(diào)內(nèi)容的表現(xiàn)形式,從而使得效率低下,而動態(tài)網(wǎng)頁技術(shù)則因為包含比較高的技術(shù)含量,以及受限于技術(shù),從而忽略了內(nèi)容的表現(xiàn)。內(nèi)容管理系統(tǒng)中通過模板技術(shù)來解決這個矛盾。內(nèi)容的存儲使用關(guān)系數(shù)據(jù)庫,而使用模板來合成最終的頁面。模板讓設(shè)計師的才能發(fā)揮到極致,而又不影響效率。

      本系統(tǒng)屬于框架性的內(nèi)容管理系統(tǒng),可以作為二次開發(fā),此系統(tǒng)作為一個發(fā)布平臺,包括內(nèi)容模塊(新聞頻道、論壇頻道、分享頻道、相冊頻道、個人中心頻道),資源模塊(圖片管理、css管理、js管理),工具模塊(在線幫助、安裝軟件),功能模塊(新聞發(fā)布、欄目管理、上傳下載、用戶管理、角色管理)。

      1 系統(tǒng)架構(gòu)

      本系統(tǒng)采用ssh框架,結(jié)合freemarke模板引擎技術(shù)?;贐/S結(jié)構(gòu)的WEB層包括視圖表現(xiàn)層、業(yè)務(wù)邏輯層、持久化層和數(shù)據(jù)庫層,采用Struts框架來實現(xiàn)表示層,Spring實現(xiàn)業(yè)務(wù)層,Hibernate實現(xiàn)持久層,這三種技術(shù)相結(jié)合實現(xiàn)WEB的四層結(jié)構(gòu),構(gòu)成一個開放框架?;谶@種框架結(jié)構(gòu)有利于內(nèi)容管理系統(tǒng)的開發(fā)和管理,有利于系統(tǒng)業(yè)務(wù)的重用和改動,而Hibernate高速緩存技術(shù)的使用,使數(shù)據(jù)的存儲和讀寫速度得到大大提高,還有使用相關(guān)的組件,大大加快開發(fā)進程。

      Struts為Java Web應(yīng)用提供了現(xiàn)成的通用框架。如果沒有Struts.開發(fā)人員將不得不花大量時間和精力來設(shè)計、開發(fā)自己的框架。如果在Web應(yīng)用中恰到好處的使用它,開發(fā)人員可以節(jié)省很多時間,把精力集中在如何解決實際業(yè)務(wù)上。

      Spring也是一個完善獨立的框架,但是它的出現(xiàn)帶來了諸如事務(wù)管理之類的核心中間層概念的標準化,同時雖然Spring是一個單層框架,但是它提供了一個以統(tǒng)一的、高效的方式構(gòu)造整個應(yīng)用,并且可以將單層框架以最佳的組合揉合在一起建立一個連貫的體系。

      Hibernate實現(xiàn)持久層,基于MVC的Web應(yīng)用的數(shù)據(jù)層和與業(yè)務(wù)邏輯層之間有持久層,這也是應(yīng)用中最容易出現(xiàn)錯誤的地方。開發(fā)者通常低估持久層框架在自己的Web應(yīng)用中的作用,所以往往不被重視。一個效率好的持久層需要花費大量的開發(fā)時間,而且很容易產(chǎn)生缺乏功能和難以管理的現(xiàn)象。目前有許多開源的關(guān)系映射(ORM)框架,其中Hibernate更是因為它出眾的性能被java社區(qū)廣泛使用。Hibernate是Java應(yīng)用和關(guān)系數(shù)據(jù)庫之間的橋梁,它負責Java對象和關(guān)系數(shù)據(jù)庫之間的映射。Hibernate內(nèi)部封裝了通過JDBC訪問數(shù)據(jù)庫的操作,向上層應(yīng)用提供了面向?qū)ο蟮臄?shù)據(jù)訪問API。

      在這種架構(gòu)下,使得程序有很強的擴展性,在現(xiàn)有基礎(chǔ)上增加新的功能的難易程度降低到最低。整個系統(tǒng)的架構(gòu)模型圖如圖1所示。

      圖1 系統(tǒng)架構(gòu)圖

      本系統(tǒng)充分利用架構(gòu)優(yōu)勢,從頁面層跳轉(zhuǎn)到action層,通過spring注入,又跳轉(zhuǎn)到Service層,進行業(yè)務(wù)邏輯的處理,將業(yè)務(wù)處理的方法提取出來作為一個接口層提供給上層來使用。最后到Dao層進行增加刪除修改查看的編寫,并將各種服務(wù)提取出來作為一個接口層提供給上層。采用這種設(shè)計方法的目的,是為了盡可能的提高可維護性和強擴展性。同時將數(shù)據(jù)層進行持久化處理,方便數(shù)據(jù)庫的變化。

      2 系統(tǒng)詳細介紹

      此內(nèi)容管理系統(tǒng)作為一個信息發(fā)布平臺,前端包括資訊頻道,論壇頻道,分享頻道,相冊頻道,個人中心,應(yīng)用頻道。前端框圖如圖2所示。

      圖2 系統(tǒng)框圖

      在資訊頻道采用luence作為全文檢索的搜索引擎,基于二分詞的方法建立索引,通過boost因子改變評分機制,同時改進高亮器算法,原來Highlighter 要在查詢出的結(jié)果數(shù)據(jù)再一次分詞,然后檢索關(guān)鍵字,再給關(guān)鍵字前后附上指定的前綴后綴 ,現(xiàn)在重構(gòu)Highlighter ,接受document參數(shù),設(shè)置高亮顯示。同時系統(tǒng)添加拼音詞庫,提供拼音自動提示功能方便用戶查找信息。

      在論壇頻道,分享頻道,相冊頻道,個人中心都采用模板管理機制,內(nèi)容管理系統(tǒng)的一個很大的優(yōu)點是,使用模板機制,我們只需要在文檔中使用模板代碼,然后就可以集中精力在設(shè)計內(nèi)容上了,要改變網(wǎng)站的外觀,我們只需要修改模板,而不用修改一個一個單獨的頁面,從而減輕了我們的工作量,加速了開發(fā)過程。

      內(nèi)容管理系統(tǒng)的后臺支撐了前端的顯示,后臺包括用戶管理,角色管理,上傳下載,欄目管理,發(fā)布管理,資源管理,模板管理。同時各個模塊以組件的形式進行封裝,為其他外部系統(tǒng)提供良好的接口,具有很強的擴展性和靈活性。其用例圖如圖3所示。

      圖3 系統(tǒng)用例圖

      系統(tǒng)管理員可以管理用戶,管理角色,管理數(shù)據(jù)字典,從而保證用戶的權(quán)限及功能。

      普通用戶登錄系統(tǒng)后,可以修改其賬戶密碼以及一些基本信息。點擊資源管理,進入資源管理界面,可以查看資源管理的信息,包括圖片管理,css管理,js管理,插件管理。同時用戶還可以上傳資料,管理模板,從而對系統(tǒng)資源進行有效的管理。

      用戶進入發(fā)布管理模塊以后,點擊我要發(fā)布,可以選擇發(fā)布信息歸屬的欄目,采用的模板,使用ckeditor富文本編輯器編寫發(fā)布的內(nèi)容信息,可以自由選擇發(fā)布的路徑。充分體現(xiàn)了系統(tǒng)的靈活性。

      作為一個二次開發(fā)平臺的內(nèi)容管理系統(tǒng),當外部系統(tǒng)調(diào)用組件時,系統(tǒng)快速定位到相關(guān)模塊的頁面,根據(jù)用戶輸入的參數(shù),為其提供服務(wù)。從而大大的提高了用戶的開發(fā)速度,節(jié)約了資源。系統(tǒng)提供的接口畫面如圖4所示。

      圖 4 組件接口圖

      3 系統(tǒng)總結(jié)

      與其他的內(nèi)容管理系統(tǒng)相比較,此系統(tǒng)的開發(fā)有很多自己的特點。該系統(tǒng)選用的是目前比較流行的開源框架,成熟度較高,系統(tǒng)各層問耦合度低,很好的處理了業(yè)務(wù)邏輯和持久性邏輯和Ul組件很好的耦合,內(nèi)容管理系統(tǒng)選用模板化輸出頁面,分離了代碼和應(yīng)用的表現(xiàn)部分,極大地方便了程序員和內(nèi)容制作者的工作。高速緩存的使用又使性能得到很大提高。系統(tǒng)有如下的特點:

      (1) 分層設(shè)計,耦合度低

      該系統(tǒng)最大的特點在于采用分層結(jié)構(gòu)并配合時下流行的組合框架Struts、Spring和Hibernate來進行開發(fā)。良好的框架自然地形成代碼分離的原則,更為重要的是,框架把業(yè)務(wù)邏輯和持久性邏輯分開能減輕了開發(fā)人員從頭構(gòu)建持久層代碼的精力,從而集中精力來處理邏輯問題。分層的另一大好處是,模塊的刪除和增加都比較方便,對以后系統(tǒng)的升級和維護帶來很大的好處。

      (2) 頁面模板化輸出

      模板化輸出最大的好處在于,它分離了代碼(或程序邏輯)和表現(xiàn)(輸出)。由于這種分離,可以修改程序邏輯而不必擔心輸出的效果如何。模板把程序員從混合了大量文本信息的雜亂代碼中解放出來;使得制作文本內(nèi)容的人無需面對程序邏輯,就可以輕松地編寫和修改內(nèi)容。模板的另一個優(yōu)點是它保護了系統(tǒng),避免了有意或無意帶來危險的代碼。

      (3) 高速緩存的使用優(yōu)化性能

      利用Hibernate的緩存技術(shù),把數(shù)據(jù)庫數(shù)據(jù)的拷貝存放在緩存中,可以減少直接訪問數(shù)據(jù)庫的頻率,從而提高應(yīng)用的性能。

      (4) luence高亮算法

      利用重構(gòu)Highlighter ,接受document參數(shù),設(shè)置高亮顯示。

      (5) 拼音自動提示功能

      提供拼音詞庫,提供自動提示功能。

      (6) 各個應(yīng)用組件化,提供接口,未其他系統(tǒng)服務(wù)。

      [1] 趙文.什么是內(nèi)容管理Enl.光明日報.2002.

      [2] 張嬋,羅佳.企業(yè)內(nèi)容管理綜述[J].現(xiàn)代計算機.2005.

      [3] 干鈞.內(nèi)容管理系統(tǒng)分析.蕪湖職業(yè)技術(shù)學(xué)院學(xué)報.2006.

      [4] 李剛.Struts2權(quán)威指南.電子工業(yè)出版社.2007.

      [5] 夏昕,曹曉剛,唐勇.深入淺出Hibernate.電子工業(yè)出版社.2005.

      [6] 石雪松.內(nèi)容管理的真正內(nèi)涵.北京:中國計算機用戶.2003.

      [7] 韓嘯,曹輝.內(nèi)容管理的關(guān)鍵技術(shù)[J].中國傳媒科技.2004.

      [8] 羅時飛.精通SPRINQ北京:電子工業(yè)出版社.

      [9] Bruce Eckel.Thinking in Java(3th)[M].Person.2002.

      [10] Rob Harrop and Jan Machacek.Pro Spnng[M].Apress.2005.

      猜你喜歡
      頻道頁面組件
      刷新生活的頁面
      無人機智能巡檢在光伏電站組件診斷中的應(yīng)用
      能源工程(2022年2期)2022-05-23 13:51:50
      新型碎邊剪刀盤組件
      重型機械(2020年2期)2020-07-24 08:16:16
      U盾外殼組件注塑模具設(shè)計
      4K頻道開播,你準備好了嗎
      寒假快樂頻道
      頻道
      風(fēng)起新一代光伏組件膜層:SSG納米自清潔膜層
      太陽能(2015年11期)2015-04-10 12:53:04
      同一Word文檔 縱橫頁面并存
      淺析ASP.NET頁面導(dǎo)航技術(shù)
      长治市| 新余市| 天津市| 彭水| 阿拉善右旗| 琼中| 于都县| 孝昌县| 霸州市| 德钦县| 龙口市| 固安县| 金秀| 安乡县| 清河县| 中江县| 光泽县| 隆尧县| 张掖市| 开化县| 宜君县| 凤阳县| 神农架林区| 甘德县| 金湖县| 泸溪县| 巴塘县| 武强县| 枞阳县| 桂平市| 德江县| 红河县| 怀柔区| 杭锦旗| 龙井市| 义马市| 大渡口区| 西宁市| 南投县| 图木舒克市| 泽州县|