新聞管理系統(tǒng)設(shè)計與實現(xiàn)研究
時間:2022-11-06 10:42:26
導(dǎo)語:新聞管理系統(tǒng)設(shè)計與實現(xiàn)研究一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
摘要:針對傳統(tǒng)新聞管理系統(tǒng)存在的準(zhǔn)確性低和時效性差等問題,為了增強新聞管理系統(tǒng)的信息交互,減輕網(wǎng)站更新維護(hù)的工作量,提高網(wǎng)站的更新效率,利用SpringMVC架構(gòu)的高內(nèi)聚低耦合開源框架技術(shù)思想和體系結(jié)構(gòu),應(yīng)用Web前端開發(fā)技術(shù),借助B/S模式,結(jié)合Java語言和MySQL數(shù)據(jù)庫,設(shè)計并開發(fā)了輕量級的新聞管理系統(tǒng)。給出了系統(tǒng)架構(gòu)和Web模型設(shè)計,實現(xiàn)了用戶注冊登錄、新聞評論和系統(tǒng)后臺管理等功能。測試結(jié)果表明,在不同的操作系統(tǒng)和瀏覽器環(huán)境下,系統(tǒng)運行效果穩(wěn)定,操作方便、快捷,其功能達(dá)到了設(shè)計要求,為實現(xiàn)新聞資訊的高效管理提供了可視化、可擴(kuò)展的信息平臺,具有一定的實用價值。
關(guān)鍵詞:SSM框架;新聞;管理系統(tǒng);B/S模式;SpringMVC框架;數(shù)據(jù)庫設(shè)計
新聞資訊作為信息的一部分,具有種類繁雜、形式多樣等特點。傳統(tǒng)的新聞信息來源方式簡單,傳遞途徑單一,傳播過程環(huán)節(jié)較多,信息的準(zhǔn)確度降低,信息的時效性較差。隨著互聯(lián)網(wǎng)技術(shù)和人工智能的不斷發(fā)展,人們對新聞資訊的來源方式以及準(zhǔn)確性和時效性都提出了更高的要求[1]。如何更好地解決諸如信息來源單一、準(zhǔn)確性低和時效性差等問題,已經(jīng)成為各行各業(yè)尤其是新聞出版領(lǐng)域從業(yè)人員十分關(guān)注的焦點。根據(jù)市場調(diào)查顯示,目前網(wǎng)站新聞的管理主要有兩種方式:一種是靜態(tài)HTML頁面,其更新信息時需要重新制作頁面,然后上傳頁面并修改相應(yīng)鏈接,這種方式因為效率太低,基本上未被廣泛使用[2];另一種是基于ASP和腳本語言,將動態(tài)網(wǎng)頁和數(shù)據(jù)庫相結(jié)合,通過后臺的應(yīng)用程序管理新聞[3],這是目前較為流行的做法。但是由于ASP技術(shù)本身的局限性使得現(xiàn)存的新聞系統(tǒng)還存在較多需要改進(jìn)的缺陷。針對傳統(tǒng)新聞管理系統(tǒng)存在的準(zhǔn)確性低和時效性差等問題,利用SpringMVC架構(gòu)的高內(nèi)聚低耦合模式[4⁃5],應(yīng)用Java,Web等前端開發(fā)技術(shù),借助B/S平臺模式,設(shè)計并實現(xiàn)輕量級的新聞管理系統(tǒng),通過引用網(wǎng)絡(luò)數(shù)據(jù)庫,為網(wǎng)站新聞系統(tǒng)的高效管理提供可視化、可擴(kuò)展的信息平臺,減輕網(wǎng)站更新維護(hù)的工作量,提高網(wǎng)站的更新速度,加快資訊信息的傳播,保持網(wǎng)站的活動力和影響力。
1SSM開源框架
SSM是一個輕量級開源框架集,包含Spring,SpringMVC和MyBatis三個部分,主要由Spring和MyBatis兩個開源框架整合而成,其中,SpringMVC是Spring中的部分內(nèi)容,通常作為數(shù)據(jù)源較為簡單的Web項目的系統(tǒng)框架[6⁃7]。應(yīng)用程序利用頁面發(fā)送請求給控制器,控制器調(diào)用業(yè)務(wù)層處理邏輯,邏輯層向持久層發(fā)送處理請求,持久層與數(shù)據(jù)庫進(jìn)行交互,然后將結(jié)果返回給業(yè)務(wù)層,業(yè)務(wù)層將處理邏輯發(fā)送給控制器,控制器再調(diào)用視圖展現(xiàn)數(shù)據(jù)處理結(jié)果[8⁃9]?;赟SM框架的應(yīng)用程序執(zhí)行流程如圖1所示。1.1Spring框架Spring作為當(dāng)前Java運用最廣泛的一個開源框架,它是一個輕量級的控制反轉(zhuǎn)和面向切面的容器類框架[10]。Spring通過控制反轉(zhuǎn)(IoC)技術(shù),利用在配置文件中指定使用特定參數(shù)的方式調(diào)用實體類的構(gòu)造方法來實例化對象,由Spring創(chuàng)建DI(依賴注入)直接使用,不再需要程序員應(yīng)用new構(gòu)造方法顯示新建一個對象,大大降低了系統(tǒng)中各個層面之間的依賴性。Spring面向切面的編程技術(shù),在事務(wù)管理方面也具有獨特的優(yōu)勢,利用自身提供的一套JDBC訪問模板,能夠較為容易地管理數(shù)據(jù)庫事務(wù),實現(xiàn)日志記錄和安全控制。同時,Spring易于集成其他層的框架,使得每個層之間相互獨立,降低系統(tǒng)分層框架之間的耦合度。1.2SpringMVC框架SpringMVC作為Spring框架的后續(xù)產(chǎn)品,目前已經(jīng)融合于SpringWebFlow,它在系統(tǒng)中接收用戶請求,其核心的DispatcherServlet承擔(dān)中介或前臺職責(zé),將用戶請求通過HandlerMapping匹配Controller,從而具體對應(yīng)請求所執(zhí)行的操作。SpringMVC分離了控制器、模型對象和分派器以及處理程序?qū)ο蟮冉巧?,這種分離讓系統(tǒng)更容易進(jìn)行定制[11]?;赟pringMVC的Web工程模板可根據(jù)業(yè)務(wù)需求自動生成相應(yīng)的代碼,達(dá)到高效、規(guī)范、便捷的目的,解決代碼復(fù)用問題。但SpringMVC主要負(fù)責(zé)表示層,在諸如事務(wù)管理、安全檢查等Service層服務(wù)的業(yè)務(wù)邏輯方面不能很好地支持,使得系統(tǒng)的可維護(hù)性不高,而與Spring框架結(jié)合使用可有效解決上述矛盾。1.3MyBatis框架MyBatis是基于Java的持久層框架,包括SQLMaps和DataAccessObjects(DAO)[12]。它使用簡單的XML或注解用于配置和原始映射,通過對象關(guān)系映射(ObjectRelationalMapping,ORM)將接口和Java的POJOs(PlainOldJavaObjects,普通的Java對象)映射成數(shù)據(jù)庫中的記錄,從而與關(guān)系型數(shù)據(jù)庫建立聯(lián)系。MyBatis的操作均圍繞sqlSessionFactory實例展開,通過配置文件關(guān)聯(lián)到各實體類的Mapper文件,Mapper文件中配置了每個類對數(shù)據(jù)庫操作所需進(jìn)行的SQL語句映射,在每次與數(shù)據(jù)庫交互時,通過sqlSessionFactory得到sqlSession,再執(zhí)行相應(yīng)的SQL命令。用戶可以自己設(shè)計動態(tài)SQL語句和存儲過程,避免了傳統(tǒng)的JDBC代碼,簡化了傳統(tǒng)數(shù)據(jù)庫增刪查改操作的重復(fù)代碼,縮短了系統(tǒng)的開發(fā)周期,增強了系統(tǒng)的靈活性和可擴(kuò)展性。
2新聞管理系統(tǒng)設(shè)計
新聞管理系統(tǒng)采用MVC設(shè)計模式,利用SpringMVC架構(gòu)的高內(nèi)聚低耦合開源框架,實現(xiàn)系統(tǒng)的功能模塊和顯示模塊之間的分離,提高了系統(tǒng)平臺的可擴(kuò)展性、可維護(hù)性、可移植性和組件的可復(fù)用性,降低業(yè)務(wù)邏輯接口與數(shù)據(jù)接口之間的耦合度,有利于軟件系統(tǒng)的工程化管理。2.1系統(tǒng)功能需求分析及總體框架設(shè)計根據(jù)新聞與管理的實際工作流程,考慮到系統(tǒng)的主要使用對象是小型企業(yè),因此,系統(tǒng)的功能需求為:通過本系統(tǒng),企業(yè)可以和管理自身的新聞資訊信息;注冊用戶能夠通過評論與客戶進(jìn)行良好地溝通交流;直接使用靜態(tài)HTML頁面,提高用戶的訪問效率;采用模塊開發(fā)增強系統(tǒng)的維護(hù)性;系統(tǒng)需要采用適當(dāng)?shù)募用芄δ芤栽鰪姲踩?;系統(tǒng)能夠根據(jù)普通用戶和管理員用戶類型設(shè)置不同的操作權(quán)限,普通用戶只能登錄進(jìn)行主頁的操作,不能進(jìn)入管理員界面,而管理員不僅可以進(jìn)行管理員頁面操作,同時也可以進(jìn)行主頁的操作。根據(jù)系統(tǒng)的功能需求分析,系統(tǒng)總體框架設(shè)計主要包含前臺設(shè)計部分和后臺設(shè)計部分[13]。系統(tǒng)前臺設(shè)計部分主要用于頁面顯示的操作,用于顯示系統(tǒng)已經(jīng)的新聞列表及其相關(guān)具體信息,同時包括用戶注冊、用戶登錄和找回密碼等功能[14]。用戶登錄后可以和顯示新聞,也可以對已的新聞進(jìn)行評論,同時通過個人中心顯示登錄后的用戶相關(guān)信息和評論內(nèi)容。系統(tǒng)前臺功能結(jié)構(gòu)如圖2所示。系統(tǒng)后臺設(shè)計部分主要用于管理員頁面的操作,主要劃分為新聞管理、評論管理和用戶管理三個具體模塊,通過增加、刪除、修改和瀏覽等功能,實現(xiàn)新聞系統(tǒng)的高效管理[15]。新聞管理模塊主要負(fù)責(zé)對新聞信息的瀏覽、修改、刪除和查詢等具體操作功能;評論管理模塊主要負(fù)責(zé)對新聞評論內(nèi)容的瀏覽、刪除和查詢等具體操作功能,且只能查看評論的發(fā)表作者和評論時間;用戶管理模塊主要負(fù)責(zé)包括管理員在內(nèi)所有用戶的修改、刪除、查詢和權(quán)限設(shè)置等具體操作功能。系統(tǒng)后臺功能結(jié)構(gòu)如圖3所示。2.2數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計是整個系統(tǒng)設(shè)計的關(guān)鍵,合理的數(shù)據(jù)庫能夠有效地管理后臺數(shù)據(jù),既便于數(shù)據(jù)的集中管理和控制冗余,提高數(shù)據(jù)的使用率和一致性,又有利于程序的開發(fā)和維護(hù),提高軟件的實用性。系統(tǒng)采用MySQL作為后臺數(shù)據(jù)庫,根據(jù)系統(tǒng)功能要求,需要有用戶(user)表、新聞信息(new)表、新聞評論(new_comment)表和新聞類型(category)表。其中,user表主要為了記錄系統(tǒng)中所有用戶的詳細(xì)信息,含有六個字段,分別為:user_id(用戶序號,主鍵)、user_name(用戶名稱)、user_password(用戶密碼,MD5加密)、user_email(常用郵箱)、user_age(用戶年齡)和create_time(注冊時間),數(shù)據(jù)庫中user表的結(jié)構(gòu)如表1所示。新聞new表主要為了保存系統(tǒng)中所有新聞的詳細(xì)信息,含有7個字段,設(shè)計了3個主鍵,具體字段為:new_id(新聞序號,主鍵)、category_id(新聞類型序號,主鍵)、user_id(作者序號,主鍵)、title(新聞標(biāo)題)、content(新聞內(nèi)容)、create_time(時間)、key_words(關(guān)鍵字),數(shù)據(jù)庫中new表的結(jié)構(gòu)如表2所示。
3新聞管理系統(tǒng)實現(xiàn)
根據(jù)總體設(shè)計方案和功能需求,系統(tǒng)利用SpringMVC架構(gòu)的高內(nèi)聚低耦合開源框架,應(yīng)用Web前端開發(fā)技術(shù),采用B/S模式,在JDK(JavaDevelopmentKit)1.8開發(fā)平臺中利用Java語言和MySQL數(shù)據(jù)庫實現(xiàn)了基于SSM框架的輕量級新聞管理系統(tǒng)的用戶注冊登錄、新聞評論和系統(tǒng)后臺管理等功能。3.1用戶功能模塊實現(xiàn)。1)注冊模塊實現(xiàn)用戶利用瀏覽器進(jìn)入系統(tǒng)主頁,通過用戶注冊功能將增加的用戶信息保存并記錄于后臺數(shù)據(jù)庫,即可完成注冊過程。用戶注冊模塊通過調(diào)用SpringMVC框架,接收表單請求,采用JavaScript腳本在前端對注冊的用戶名、密碼和郵箱等必填信息進(jìn)行合法性檢查。注冊信息合法后再傳入后臺進(jìn)行數(shù)據(jù)驗證。首先將已注冊合法的用戶信息存儲到Redis二級緩存中進(jìn)行沖突檢測,若Redis緩存中不存在該數(shù)據(jù),則將用戶信息繼續(xù)傳入后臺數(shù)據(jù)庫進(jìn)行數(shù)據(jù)檢測,若數(shù)據(jù)庫中也無該用戶信息,則向Redis緩存和數(shù)據(jù)庫中插入數(shù)據(jù),返回,注冊成功,否則,提示注冊失敗。用戶注冊模塊的程序流程如圖4所示。2)登錄模塊實現(xiàn)用戶通過瀏覽器打開系統(tǒng)登錄頁面,登錄模塊利用Spring框架進(jìn)行表單校驗,控制跳轉(zhuǎn),調(diào)用相應(yīng)的Service服務(wù)。首先采用JavaScript腳本在前端對用戶輸入的用戶名和密碼等登錄信息進(jìn)行合法性檢測。然后,為防止用戶重復(fù)登錄,需將合法數(shù)據(jù)輸入Application和Redis二級緩存區(qū)中進(jìn)行沖突查詢。若均未找到,則將用戶登錄信息再次傳入后臺數(shù)據(jù)庫進(jìn)行數(shù)據(jù)對比和驗證。若數(shù)據(jù)正確,則返回登錄成功,否則,提示用戶名或密碼錯誤,重新進(jìn)行登錄。用戶登錄模塊的程序流程如圖5所示。3)新聞和評論模塊實現(xiàn)用戶借助瀏覽器注冊登錄成功后,在系統(tǒng)首頁點擊添加文章,輸入文章的新聞標(biāo)題、關(guān)鍵字,選擇相應(yīng)的新聞類型,調(diào)用HTML可視化KindEditor編輯器在線編輯新聞?wù)牟糠謨?nèi)容后,點擊提交即可進(jìn)行新聞。其中,新聞類型由系統(tǒng)根據(jù)輸入給定的數(shù)字序號對新聞進(jìn)行分類判斷,比如娛樂為1、軍事為2、體育為3、社會為4、歷史為5、法制為6。用戶在瀏覽新聞的過程中,如果對某一新聞感興趣,可以發(fā)表自己的看法,在該條新聞?wù)牡南路捷斎肟蛑刑砑幼约合胍l(fā)表的內(nèi)容,點擊提交,對新聞進(jìn)行評論,刷新頁面后,可在下方的全部評論中顯示評論內(nèi)容。3.2管理員功能模塊實現(xiàn)。管理員功能模塊主要包括用戶管理、新聞內(nèi)容和評論管理等功能。管理員利用瀏覽器登錄系統(tǒng)后,可以查看包括管理員在內(nèi)所有用戶的用戶名、用戶類型、注冊郵箱、年齡、注冊時間等信息;可以設(shè)置普通用戶和管理員用戶的權(quán)限,普通用戶只能登錄進(jìn)行主頁的操作,不能進(jìn)入管理員界面,而管理員不僅可以進(jìn)管理員頁面同時也可以進(jìn)行主頁的操作,還可以對用戶進(jìn)行強制下線和刪除修改等操作。管理員登錄后進(jìn)入后臺管理頁面,點擊新聞列表可顯示新聞標(biāo)題、作者、類別、關(guān)鍵字以及時間等有關(guān)新聞的所有信息。管理員能夠?qū)ζ渲械男侣勥M(jìn)行查看、修改、刪除和審核等操作。同時,管理員可輸入新聞標(biāo)題或時間等關(guān)鍵字進(jìn)行模糊查詢和關(guān)鍵字查詢。管理員進(jìn)入新聞評論管理模塊,能夠查看評論內(nèi)容、評論作者和評論時間,也能夠?qū)υu論進(jìn)行刪除和模糊查詢操作。
4新聞管理系統(tǒng)測試
4.1系統(tǒng)測試環(huán)境構(gòu)建。根據(jù)新聞管理系統(tǒng)的設(shè)計方案,結(jié)合系統(tǒng)正常工作所需要的運行環(huán)境,針對系統(tǒng)設(shè)計的功能需求,搭建系統(tǒng)測試環(huán)境[16]:系統(tǒng)運行的硬件環(huán)境是CPU在1.0GHz以上、內(nèi)存512MB以上;軟件部分要求操作系統(tǒng)平臺為Windows10;數(shù)據(jù)庫版本為MySQL5.1.46;服務(wù)器版本為Tomcat7.0以及瀏覽器使用IE10瀏覽器。4.2系統(tǒng)測試過程及結(jié)果。1)系統(tǒng)功能測試根據(jù)新聞管理系統(tǒng)設(shè)計的原型,測試過程按照系統(tǒng)需求逐一測試檢查每個模塊的功能是否完整,流程是否正確,各個模塊的銜接能否正常跳轉(zhuǎn)。主要測試能否正常注冊用戶、用戶能否正常登錄;登錄后測試用戶能否正常新聞、能否正常發(fā)表相關(guān)評論;測試管理員能否對新聞、評論和用戶等模塊進(jìn)行正常的增加、刪除、修改和查詢操作。系統(tǒng)功能測試表明,新聞管理平臺能夠進(jìn)行用戶注冊登錄和新聞評論,管理員能夠?qū)π侣?、評論和用戶等模塊進(jìn)行管理操作,系統(tǒng)整體功能相對較少,但基本達(dá)到設(shè)計的預(yù)期效果。2)系統(tǒng)壓力測試為了檢驗新聞管理系統(tǒng)的處理能力,考察當(dāng)前軟硬件環(huán)境下系統(tǒng)所能承受的最大負(fù)荷,測試系統(tǒng)能否維持在一個標(biāo)準(zhǔn)范圍內(nèi)的穩(wěn)定性,通過測試系統(tǒng)的瓶頸或者不能接受的性能點,從而獲取系統(tǒng)所能夠提供的最大服務(wù)級別,幫助找出系統(tǒng)的瓶頸所在。系統(tǒng)壓力測試采用基于Java的壓力測試工具ApacheJMeter,它可以對文件、腳本和數(shù)據(jù)庫、對象等靜態(tài)和動態(tài)的資源進(jìn)行測試,針對服務(wù)器和網(wǎng)絡(luò)模擬繁重的負(fù)載,分析在不同壓力類型下系統(tǒng)的強度和整體性能。壓力測試結(jié)果表明,新聞管理系統(tǒng)經(jīng)過500次并發(fā)訪問負(fù)載的測試,僅存在少量訪問異常,系統(tǒng)運行基本穩(wěn)定,達(dá)到了預(yù)期的性能。3)系統(tǒng)兼容性測試為了適應(yīng)不同用戶的系統(tǒng)使用需求,測試系統(tǒng)在不同操作系統(tǒng)和瀏覽器環(huán)境下運行結(jié)果是否正常??紤]不同用戶對操作系統(tǒng)的使用頻率,結(jié)合目前市面上常用的各種瀏覽器以及不同愛好用戶的使用情況,將新聞管理系統(tǒng)分別在Win7,Win8和Win10操作系統(tǒng)和IE,Chrome,F(xiàn)irefox瀏覽器下進(jìn)行兼容性測試。測試結(jié)果表明,在不同的操作系統(tǒng)和瀏覽器環(huán)境下,新聞管理系統(tǒng)均能正常運行。
5結(jié)論
利用SSM輕量級開源框架技術(shù)體系思想,應(yīng)用Web前端開發(fā)技術(shù),借助B/S模式,結(jié)合Java語言和MySQL數(shù)據(jù)庫,設(shè)計并開發(fā)了輕量級的新聞管理系統(tǒng),實現(xiàn)了用戶注冊登錄、新聞評論和系統(tǒng)后臺管理等功能。在不同的操作系統(tǒng)和瀏覽器環(huán)境下,系統(tǒng)運行效果穩(wěn)定,操作方便快捷,其功能達(dá)到了預(yù)期的設(shè)計要求,增強了新聞管理系統(tǒng)的信息交互,提高了新聞類網(wǎng)站更新維護(hù)的效率,為實現(xiàn)新聞資訊系統(tǒng)的高效管理提供了可視化、易擴(kuò)展的信息平臺。但在系統(tǒng)的功能拓展和并發(fā)訪問等方面,尚待進(jìn)一步研究完善。
作者:牛懷崗 林關(guān)成 單位:渭南師范學(xué)院