999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Web框架的博客管理系統設計與實現

2017-05-19 12:36:20劉磊
計算機時代 2017年5期

劉磊

摘 要: 設計并實現了一個基于B/S架構的個人博客管理系統,包括游客瀏覽博客、用戶發表博客及使用爬蟲抓取網絡新聞等功能。系統前端使用當前流行的響應式布局框架Bootstrap開發,頁面能匹配不同分辨率;后端使用Hibernate、Spring、Struts三大經典組合框架開發,系統擴展性強。本文論述了本系統的功能設計、流程設計、數據模型設計、效果實現等軟件開發關鍵階段的開發過程。

關鍵詞: Web框架; SSH框架; Bootstrap框架; 個人博客; 網絡爬蟲

中圖分類號:TP393.02 文獻標志碼:A 文章編號:1006-8228(2017)05-20-04

Design and implementation of blog management system based on Web framework

Liu Lei

(The Open University of Guangdong(Guangdong Polytechnic Institute), Guangzhou, Guangdong 510000, China)

Abstract: In this paper, a personal blog management system based on B/S architecture is designed and implemented, which includes the functions of the visitors browsing the blog, the blog users publishing the blog and the crawler crawling the network news. The front end of the system is developed with Bootstrap, which makes the page can be matched with different resolutions, and the back-end is developed with the classic combination framework combined with Hibernate, Spring and Struts, which makes the system scalable. This paper discusses the developing process of the software development, such as function design, process design, data model design and the realization of the effects.

Key words: Web framework; SSH framework; Bootstrap framework; personal blog; Web crawler

0 引言

博客,又稱網絡日志,是一種表達個體思想、彰顯個人風格的互聯網工具,通常為個人自主管理的網站。用戶可以自由的在博客上發表文章,最新的文章排列在最前顯示,游客可以瀏覽博文;除了提供信息展示的功能,博客還提供評論、回復評論的交互功能,以提高博客的用戶粘連度。一個典型的博客囊括了文字、圖像、其他博客或網站的鏈接,以及相關媒體,博客是社會媒體網絡的一部分。博客系統是指,使用計算機語言編寫、安裝,方便用戶在互聯網上建立個人博客的一整套系統[1]。

本文嘗試從軟件工程的角度,詳細闡述個人博客管理系統的功能設計、流程設計和數據模型設計,技術選型使用經典的J2EE企業級開發框架SSH和響應式前端框架Bootstrap,最后分析了系統關鍵功能實現。

1 功能結構設計

本文設計的博客系統主要實現三個功能:發表和瀏覽日志、新聞爬蟲與收藏、內容評論與回復。

1.1 發表日志

權限控制:未注冊的用戶只能查看公開日志;需要登錄才能增刪改,查看隱藏日志。

需要實現的模塊有七個。①用戶登錄:用戶使用帳號密碼登錄系統,認證成功則轉入個人主頁,失敗則顯示錯誤信息;②用戶注冊:填寫用戶名、密碼、個人信息,提交數據庫保存;③個人資料:填寫博主基本信息,包括博客名、作者簡介、性別、郵箱等;④發表日志:用戶發表日志,內容包括主題主題、正文、圖片、媒體等信息,可以選擇是否公;⑤刪除日志:用戶可以選擇刪除已經發表的日志,系統會從數據庫刪除這些信息;⑥查看日志:用戶或游客可以瀏覽公開的日志內容;⑦修改日志:用戶修改已經發表的日志,系統保存修改內容。

1.2 新聞爬蟲與收藏

權限控制:未注冊用戶只能查看爬蟲新聞,需要登錄才能設置爬蟲篩選條件和進行收藏。

需要實現的模塊有二個。①新聞爬蟲:博客用戶可以設置篩選條件,爬蟲程序根據預定義規則獲取網絡信息并存儲到系統數據庫;②收藏:博客用戶可以收藏本網站其他用戶的日志,查看收藏記錄。

1.3 評論與回復

權限控制:允許匿名用戶發表評論,只有被評論的日志作者有權限回復、刪除評論。

需要實現的模塊有四個。①發表評論:系統允許訪客匿名評論所閱讀的日志;②回復評論:日志作者可以對日志的評論進行回復,與訪客進行互動;③刪除評論:博客用戶可以指定刪除對日志的評論;④自動顯示:評論自動顯示在對應日志的下方。

系統總體功能結構設計如圖1所示。

2 業務流程設計

本系統角色包括游客與用戶,游客可以瀏覽博客文章列表、查看博主詳細資料、查看博文內容、發表匿名評論等;游客無需登錄,進入系統主頁后,點擊菜單即可使用博客功能。用戶注冊賬號即成為博主,可以發表博文、編輯博文、刪除博文、編輯個人資料;同時系統提供了從互聯網抓取最新新聞到博客系統的功能,用戶可以啟動新聞爬蟲抓取新聞、刪除新聞內容等。系統業務流程設計如圖2所示。

3 數據庫模型設計

個人博客管理系統主要關注博客文章的發表,分析系統需求,博客系統最關鍵的是用戶實體、文章欄目實體和文章內容實體,本系統加入了評論和新聞爬取功能,所以需要提供評論和新聞兩個實體。數據庫模型設計如圖3所示。

4 技術框架選型

本系統前端選用流行的Bootstrap框架,Bootstrap是目前很受歡迎的HTML、CSS和JS框架,用于開發響應式布局、移動設備優先的Web項目,它簡潔靈活,使得Web開發更加快捷,Bootstrap基于HTML5、CSS3、jQuery開發,Bootstrap內置的CSS媒體查詢(Media Query)功能,可以開發出響應式布局的網頁,自動適應不同分辨率效果;同時提供了豐富的Web組件,包括下拉菜單、按鈕組、按鈕下拉菜單、導航、導航條、路徑導航、分頁、排版、縮略圖、警告對話框、進度條、媒體對象等。使用這些組件,可以快速地搭建一個漂亮、功能完備的網站前端[5-6]。

本系統后端選用經典的SSH集成框架開發,SSH集成框架是Hibernate、Spring、Struts三大框架的組合,基于SSH框架的系統從職責上分為四層:表示層、業務邏輯層、數據持久層和域模塊層,可以幫助開發人員在短期內搭建結構清晰、可復用性好、維護方便的Web應用程序。其中使用Struts作為系統的整體基礎架構,負責MVC的分離,在Struts框架的模型部分,控制業務跳轉,利用Hibernate框架對持久層提供支持,Spring做管理,管理Struts和Hibernate。具體做法是:首先用面向對象的分析方法,根據需求提出一些模型,將這些模型實現為基本的Java對象;然后編寫基本的DAO(Data Access Objects)接口,并給出Hibernate的DAO實現,采用Hibernate架構實現的DAO類來實現Java類與數據庫之間的轉換和訪問;其次使用Struts連接業務邏輯和視圖展現,接收、處理、發送數據并控制流程;最后由Spring做整合,管理Struts和Hibernate,提供IOC容器使代碼松耦合以及AOP框架的切面功能[2-4]。

5 關鍵功能與實現

本系統的關鍵功能包括發布博客日志、新聞爬蟲等模塊,用戶登錄成功后可以發表博客、啟動新聞爬蟲可以抓取互聯網上的新聞鏈接和內容,下面分析關鍵功能的實現。

5.1 發布博客日志

一篇博客日志可以由文字、圖片、視頻、音頻等元素組成,發布博客日志功能包括添加日志標題、添加發布時間、添加日志內容等。其中添加日志內容最復雜,需要實現添加各種元素和布局排版元素,添加日志內容通常使用富文本編輯器實現。本系統使用UEditor編輯器,UEditor是百度公司開發的所見即所得富文本web編輯器,具有輕量級、可定制、注重用戶體驗等特點,開源基于MIT協議,提供了基本文檔格式化、網絡圖片、視頻、地圖、表情等豐富的功能,適合于編輯復雜的圖文內容。在JSP頁面嵌入UEditor的關鍵代碼如下:

<!-- 加載編輯器的容器 -->

<!-- 配置文件 -->

<!-- 編輯器源碼文件 -->

<!-- 實例化編輯器 -->

發布博客日志功能效果如圖4所示。

5.2 獲取網絡新聞

通過新聞爬蟲程序獲取網絡新聞,新聞爬蟲是一種按照一定的規則,自動地抓取互聯網新聞的程序。新聞爬蟲程序通常包括控制器、解析器、資源庫三部分。控制器主要負責給多線程中的各個爬蟲線程分配工作任務;解析器主要負責下載網頁,進行頁面的處理,主要是將規則外的JS腳本標簽、CSS代碼內容、HTML標簽、空格字符等內容處理掉,解析器是爬蟲程序的主要部分;資源庫用于存儲下載到的網頁資源[7]。本系統使用HttpClient實現了一個輕量級新聞爬蟲,主要包括四個類。①CrawlBase類:模擬http請求的基類;②CrawlListPageBase類:CrawlBase的子類,實現了從頁面中獲取鏈接的URL信息基類;③DoRegex類:封裝的一些基于正則表達式字符串匹配查找類;④CharsetUtil類:編碼方式檢測類。部分關鍵代碼如下:

public void crawl()throws Throwable {

while(continueCrawling()) {

CrawlerUrl url=getNextUrl();

//獲取待爬取隊列中的下一個URL

if(url!=null) {

printCrawlInfo();

String content=getContent(url); //獲取URL的文本信息

//聚焦爬蟲,只爬取與主題內容相關的網頁,這里采用正則匹配簡單處理

if(isContentRelevant(content,this.regexpSearchPattern)) {

saveContent(url,content); //保存網頁至本地

//獲取網頁內容中的鏈接,并放入待爬取隊列中

Collection urlStrings=extractUrls(content,url);

addUrlsToUrlQueue(url,urlStrings);

} else {

程序System.out.println(url+"舍棄");

}

//延時防止被對方屏蔽

Thread.sleep(this.delayBetweenUrls);

}

}

closeOutputStream();

}

6 結束語

博客是互聯網發表信息的重要工具,本文以發表博客、新聞獲取的需求為出發點,設計并實現了通用的個人博客管理系統,技術方案選用SSH框架開發后端,具有穩定、高效、可擴展性強得優點;使用Bootstrap框架開發前端,頁面簡潔大方,兼容性強,能自動響應匹配不同終端設備的分辨率。本文實現的個人博客管理系統能方便的發布到互聯網,供不同用戶注冊使用,且基于成熟框架,系統運行穩定,相信對于讀者進行軟件開發有一定的參考意義,但系統的安全性本文沒有涉及,這些還需要進一步研究。

參考文獻(References):

[1] 谷巖.博客系統的設計與實現初探[J].電腦知識與技術,2013.35.

[2] 李雷孝,劉志強,杜慧敏,冀強.Struts和Hibernate整合框架研究與應用[J].內蒙古工業大學學報(自然科學版),2010.3.

[3] 屠曉云.基于SSH的學生學習交流平臺的設計與實現[J].電腦知識與技術,2012.25.

[4] 周利江.基于SSH框架的J2EE應用研究[J].電腦編程技巧與維護,2012.12.

[5] 李金亮,李春青.基于BootStrap的Web開發設計研究[J].中小企業管理與科技(中旬刊),2014.5.

[6] 張子杰,莊育飛.基于Bootstrap和SSH的求職招聘系統設計與實現[J].軟件導刊,2016.10.

[7] 孫立偉,何國輝,吳禮發.網絡爬蟲技術的研究[J].電腦知識與技術,2010.15.

主站蜘蛛池模板: 国产网站免费观看| 国产乱人乱偷精品视频a人人澡| 亚洲视频二| 国产精品9| 全部免费毛片免费播放| 日韩免费无码人妻系列| 国产主播在线观看| 高清国产在线| 天天做天天爱夜夜爽毛片毛片| 久热精品免费| 国产精女同一区二区三区久| 四虎永久在线精品影院| 国产亚洲欧美在线视频| 亚洲欧州色色免费AV| 国产伦精品一区二区三区视频优播 | 国产h视频免费观看| 2022国产无码在线| 香蕉视频在线观看www| 青青草原国产精品啪啪视频| 99热最新在线| 亚洲欧美日韩天堂| 国产午夜福利亚洲第一| 免费无码AV片在线观看国产| 在线观看国产一区二区三区99| 欧洲高清无码在线| 波多野结衣二区| 91精品视频网站| AV不卡无码免费一区二区三区| 欧美一区二区自偷自拍视频| 无码一区二区三区视频在线播放| 亚洲中文字幕在线观看| 久久久久久久97| 四虎成人免费毛片| 亚洲aⅴ天堂| 第一区免费在线观看| 国产麻豆精品手机在线观看| 免费一极毛片| 日韩久草视频| 亚洲天堂视频网站| 97精品国产高清久久久久蜜芽| 丝袜无码一区二区三区| 欧美日韩中文字幕二区三区| 国产成人综合久久精品下载| 黄网站欧美内射| 在线欧美日韩国产| 91丝袜在线观看| 成年看免费观看视频拍拍| 欧美成人精品欧美一级乱黄| 伊人大杳蕉中文无码| 二级特黄绝大片免费视频大片| 国产精品露脸视频| 亚洲国产中文在线二区三区免| www.精品国产| 国产尤物视频在线| 国产精品无码影视久久久久久久 | 欧美日韩v| 国产精品综合久久久| 九九视频免费在线观看| 欧美特级AAAAAA视频免费观看| 六月婷婷激情综合| 麻豆精品在线播放| 性视频久久| 国产成人精品男人的天堂| 国产va欧美va在线观看| 国产精品免费p区| 国产又黄又硬又粗| 欧美成a人片在线观看| 亚洲欧美极品| 91精品国产综合久久不国产大片| 国产成人免费手机在线观看视频| 国产99在线观看| 韩日免费小视频| 亚洲欧美精品一中文字幕| 全部无卡免费的毛片在线看| 性做久久久久久久免费看| 亚洲伊人久久精品影院| 国产人成午夜免费看| 伊人久久福利中文字幕| 中文字幕人妻av一区二区| 国产chinese男男gay视频网| 成人无码区免费视频网站蜜臀| 蜜臀av性久久久久蜜臀aⅴ麻豆|