本文摘要:本電子信息工程論文主要闡述了一個電子小說網(wǎng)站的設計與實現(xiàn)過程,該網(wǎng)站主要實現(xiàn)了小說的閱讀、查找、以及小說的發(fā)表等功能。整個網(wǎng)站從設計到開發(fā),再到實現(xiàn),完全是由個人實現(xiàn)。由于個人能力有限,加之時間倉促,網(wǎng)站還存在很多待完善的地方,還有很多細
本電子信息工程論文主要闡述了一個電子小說網(wǎng)站的設計與實現(xiàn)過程,該網(wǎng)站主要實現(xiàn)了小說的閱讀、查找、以及小說的發(fā)表等功能。整個網(wǎng)站從設計到開發(fā),再到實現(xiàn),完全是由個人實現(xiàn)。由于個人能力有限,加之時間倉促,網(wǎng)站還存在很多待完善的地方,還有很多細節(jié)需要處理。
《桂林電子科技大學學報》是桂林電子科技大學主管主辦的以反映自然科學研究成果為主的綜合性學術期刊。主要刊載信息與通信工程、信號與信息處理、計算機應用技術、儀器科學與技術、控制理論與控制工程、機械設計制造及其自動化、管理科學與工程、電磁場與微波技術、機械電子工程、工業(yè)藝術設計、材料加工工程、信息與計算科學、應用數(shù)學、工商管理等方面的學術論文。讀者對象為相關專業(yè)的科研人員、工程技術人員及高等院校師生。
隨著科技的發(fā)展,書籍電子化、閱讀數(shù)字化的趨勢越來越明顯,人們的閱讀方式也隨之改變。小說迷們的讀物資源,已經(jīng)不再是單一的紙質(zhì)小說了。電子小說因其小巧輕便、方便閱讀、易于存儲等有點而深受人們喜愛。但是有時候因為互聯(lián)網(wǎng)資源眾多,特定的電子小說的搜索如同大海撈針;同時,電子小說版權問題的制約,電子小說資源還是有一定的限制。
國內(nèi)大大小小的閱讀網(wǎng)站雖然數(shù)量眾多,但卻良莠不齊。一些優(yōu)秀的電子小說網(wǎng)站雖然資源豐富、小說質(zhì)量高,但是卻存在付費的限制。一些小型的在線電子書籍網(wǎng)站雖然免費,但是卻存在資源不足的問題,正版、高品質(zhì)的電子小說少之又少。
本電子小說網(wǎng)站旨在為用戶提供豐富的電子小說資源,以及良好的在線閱讀體驗。該網(wǎng)站主要實現(xiàn)了會員的登錄注冊、小說的查找閱讀、小說的發(fā)表、小說管理、用戶管理等功能。根據(jù)用戶的喜愛,收錄了大量的電子小說,為用戶提供了豐富的閱讀資源。該網(wǎng)站基于B/S結(jié)構(gòu),利用SSH框架搭建,用MVC設計思想,通過Javabean、Ajax、Jsp和MySQL等技術實現(xiàn)。
關鍵詞:電子小說網(wǎng)站;在線閱讀;Java;MVC;Struts2
1. 緒論
1.1 設計背景
隨著科技的發(fā)展,書籍電子化、閱讀數(shù)字化的趨勢越來越明顯,人們的閱讀方式也隨之改變。小說迷們的讀物資源,已經(jīng)不再是單一的紙質(zhì)小說了。電子小說因其小巧輕便、方便閱讀、易于存儲等有點而深受人們喜愛。但是有時候因為互聯(lián)網(wǎng)資源眾多,特定的電子小說的搜索如同大海撈針;同時,電子小說版權問題的制約,電子小說資源還是有一定的限制。
國內(nèi)大大小小的閱讀網(wǎng)站雖然數(shù)量眾多,但卻良莠不齊。一些優(yōu)秀的電子小說網(wǎng)站雖然資源豐富、質(zhì)量較高,但是卻存在付費的限制。一些小型的在線電子書籍網(wǎng)站雖然免費,但是卻存在資源不足的問題,正版、高品質(zhì)的電子小說少之又少。
縱觀國內(nèi)的電子小說網(wǎng)站,要想長期擁有大量的用戶群體,電子小說的質(zhì)量、資源以及小說的免付費問題是關鍵所在。
1.2 選題意義
作為一種新興的小說形式,電子小說具有非常好的發(fā)展前景。本文針對網(wǎng)絡小說的特點,設計并實現(xiàn)了一個電子小說網(wǎng)站。電子小說網(wǎng)站界面美觀,交互性強,收錄的電子小說種類繁多,滿足了小說迷在線閱讀的需求,給小說迷帶來良好的用戶體驗。該電子小說網(wǎng)站還提供了作品發(fā)表的功能,為哪些喜歡寫作的讀者提供了一個良好的創(chuàng)作平臺。通過該平臺,可以將自己的作品分享給其他小說迷閱讀。該電子小說網(wǎng)站還為作者和讀者之間提供了良好的互動,作者的作品更新完畢之后,讀者可以對其進行評價、與作者進行交流。
對于開發(fā)人員來說,設計并實現(xiàn)一個電子小說網(wǎng)站,需要開發(fā)人員熟悉開發(fā)一個Web系統(tǒng)的全過程,同時需要開發(fā)人員掌握面向?qū)ο箝_發(fā)思想,熟悉計算機開發(fā)軟件工程的思想、熟練使用數(shù)據(jù)庫建立技術。
在當前具有良好互聯(lián)網(wǎng)技術與環(huán)境支持的時代下,設計并實現(xiàn)一個電子小說網(wǎng)站順應了網(wǎng)絡發(fā)展的潮流,體現(xiàn)了開發(fā)人員學以致用的精神。獨立設計并實現(xiàn)電子小說網(wǎng)站,讓我把所學的知識應用到了實際,并鍛煉了我開發(fā)一個web系統(tǒng)的實戰(zhàn)能力。
2. 開發(fā)環(huán)境介紹
2.1 系統(tǒng)配置介紹
操作系統(tǒng):Windows 2000 Server/Professional、Windows XP Professional、Windows7、Linux系統(tǒng)均可。
cup:能夠運行Windows系列或者Linux操作系統(tǒng)均可,沒有特殊要求。
內(nèi)存:建議2GB以上內(nèi)存,能保證Windows系類的操作系統(tǒng)的正常運行。
硬盤容量:10GB以上存儲。
2.2 開發(fā)技術介紹
2.2.1 Java介紹
Java是Sun公司推出的一種面向?qū)ο蟮某绦蛟O計語言,是當今最流行的程序設計語言。Java具有良好的跨平臺性,不必考慮系統(tǒng)兼容性問題以及遷移問題。Java是一種開源的編程語言,為了方便用戶使用,很多Java愛好者利用Java開發(fā)出許多的開源框架供大家使用,為用戶的編程帶了較高的開發(fā)效率和優(yōu)越的性能。JavaEE技術在企業(yè)中得到廣泛的應用,因其良好的通用性、高效性和跨平臺的特點,在全球移動互聯(lián)網(wǎng)中有著不可替代的作用。
2.2.2 MySQL數(shù)據(jù)庫介紹
MySQL是一種關聯(lián)型數(shù)據(jù)庫系統(tǒng),關聯(lián)數(shù)據(jù)庫是通過將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi)。因為MySQL數(shù)據(jù)庫的這種特點,使得數(shù)據(jù)的訪問速度增加了,并提高了靈活性。MySQL所使用的SQL語言是用于訪問數(shù)據(jù)庫的最常用標準化語言。由于其速度快、體積小、成本低等特點,尤其是開源這一特點,備受一般中小型網(wǎng)站的青睞,許多開發(fā)商都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫
2.2.3 Struts2框架介紹
Struts2是在 struts1和WebWork的技術基礎上進行了合并的全新的Struts 2框架。Struts2 不是Struts1的升級,而是在WebWork核心XWork的基礎上包裝了Struts1,所以Struts 2可以理解為WebWork的更新產(chǎn)品。Struts2減少了對框架API和Servlet API的依賴,可擴展性有了很大的提高。Struts2的核心jar包中的struts-default.xml文件中設置了很多默認類型,默認攔截器等,對于這些默認設置,用戶可以自行更改,實現(xiàn)了良好的可插拔性。除此之外,Struts還提供了豐富的標簽庫--Taglib。Taglib運用起來靈活多樣,能打打提高開發(fā)效率,同時還提供了給用戶自定義標記的接口,用戶可以按照需要定義自己需要的標記。
3. 系統(tǒng)分析
3.1 需求分析
一個好的電子小說網(wǎng)站,既要符合一般網(wǎng)站的設計規(guī)范,同時也要滿足不同用戶的個性和喜好,設計出具有特色的功能。這些功能的設計不是憑空想象,而是根據(jù)用戶的實際需求來設計開發(fā)的。
3.1.1 系統(tǒng)需求分析
為了保證系統(tǒng)的正常運行,該電子小說網(wǎng)站必須符合一般的網(wǎng)站設計規(guī)范與要求,保證該系統(tǒng)的健壯性、良好的遷移性和安全性。為了實現(xiàn)上述要求,采用Java語言開發(fā)電子小說網(wǎng)站。因為Java語言本身具有很高的安全性,同時Java語言具有突出的跨平臺的特點,符合健壯性和遷移性的需求。
3.1.2 用戶需求分析
該系統(tǒng)的主要用戶分為兩部分,一部分是系統(tǒng)的管理員,另一部分是該網(wǎng)站的讀者。對于系統(tǒng)的管理員來說,管理員登錄之后,可在權限范圍內(nèi)對系統(tǒng)進行管理。對于讀者來說,在登錄和未登錄的情況下,都能進行一些操作。在未登錄的情況下,讀者算是游客的身份,只能進行小說的瀏覽、查找與閱讀;在讀者注冊并登錄的情況下,除了游客的功能,還可享受會員功能,如小說的評論、收藏、發(fā)表等功能。
管理員主要有以下四個功能模塊:權限管理、用戶管理、小說管理、廣告管理。后臺管理員功能如下圖所示:
圖1 管理員功能圖
讀者功能主要有以下:注冊會員、注冊讀者、閱讀小說、評論小說、發(fā)表小說、訂閱小說、收藏小說等功能。讀者功能如下圖:
圖 2 用戶功能圖
3.2 功能分析
3.2.1 功能模塊劃分
該電子小說網(wǎng)站分為兩部分,一部分是面向讀者的部分,主要包括讀者注冊會員、注冊作者、閱讀小說、評論小說、發(fā)表小說、收藏小說、訂閱小說等功能。另一部分是管理員功能,主要有權限管理、用戶管理、小說管理、廣告管理等功能。如下圖所示:
圖 3 系統(tǒng)功能圖
3.2.2 功能描述
讀者部分功能:
1)讀者注冊會員:如果沒有在本網(wǎng)站注冊,也可查看小說,但是不能對小說進行評論和收藏,只有注冊為本網(wǎng)站的會員之后,才能對小說進行評論和收藏,以及訂閱。
2)注冊作者:只有注冊成為本網(wǎng)站的會員之后,才能在本網(wǎng)站注冊作者,然后才可以在本網(wǎng)站發(fā)表小說。
3)閱讀小說:查找并閱讀感興趣的小說。
4)評論過小說:當讀者閱讀完小說之后,可以對其進行評論。評論的前提是必須是本網(wǎng)站的會員,而且要登錄。
5)發(fā)表小說:本網(wǎng)站的注冊作者才有權限在本網(wǎng)站發(fā)表小說。并提交給后臺管理員審閱。
6)收藏小說:如果讀者最自己喜歡的小說看了一半或者連載小說還沒更新的情況下,讀者可以收藏該小說,等小說有了更新可找到相印的書簽并進行閱讀。
7)訂閱小說:讀者可根據(jù)自己的喜好,訂閱不同類型的小說。當該類型的小說有了新作品時,系統(tǒng)會發(fā)送相印的提示給讀者,以便讀者繼續(xù)閱讀。
管理員功能:
1)權限管理:管理本網(wǎng)站會員和作者的權限。
2)用戶管理:包括對本網(wǎng)站的會員和作者的管理。如有發(fā)現(xiàn)會員或作者的言論違反規(guī)定,則會對發(fā)言者進行相印的控制。
3)小說管理:小說管理包括對小說的類別管理、小說的添加與刪除管理、新作品的審閱管理。
4)廣告管理:本網(wǎng)站在有些頁面預留了適當?shù)奈恢,可用來投放廣告。廣告管理包括廣告的添加與刪除、廣告價格設定、廣告位置設定等。
4. 系統(tǒng)設計
4.1 設計思想
網(wǎng)站采用MVC設計思想來對系統(tǒng)進行設計。MVC是一種軟件架構(gòu)模式,基本思想是:將一個軟件的組成劃分成三部分,即:模型、視圖、控制器。
視圖,即展現(xiàn)給用戶的圖形界面,與用戶交互的接口。電子小說網(wǎng)站用到的主要視圖技術有Html、Jsp等。視圖主要是數(shù)據(jù)的展現(xiàn),也就是表示邏輯,將模型提供的數(shù)據(jù)以合適的方式展現(xiàn)給用戶。另外,還提供UI用戶接口,用戶通過視圖想系統(tǒng)發(fā)送請求。
模型,即封裝的業(yè)務邏輯。模型相當與一個黑箱操作,接受視圖發(fā)送來的請求,并返回最終的處理結(jié)果,其中的過程封裝起來,不被用戶看到。根據(jù)數(shù)據(jù)庫中的表,創(chuàng)建的實體也屬于模型,把系統(tǒng)中用到的對象都抽取出來封裝成業(yè)務模型。
控制器,控制器是連接視圖與模型的橋梁?刂破鲗⒁晥D與模型的關系解耦。當視圖的請求到達時,控制器根據(jù)不同的請求,決定調(diào)用哪個模型。完成處理過程之后,控制器將處理結(jié)果發(fā)送給相應的視圖,展現(xiàn)給用戶。一個模型可能對應多個視圖,一個視圖可能對應多個模型。
5. 數(shù)據(jù)庫設計
5.1 數(shù)據(jù)庫概念結(jié)構(gòu)設計
數(shù)據(jù)庫概念結(jié)構(gòu)設計就是通過對用戶的需求分析,將用戶的需求信息抽象為概念結(jié)構(gòu)。系統(tǒng)概念結(jié)構(gòu)設計直接關系到整個系統(tǒng)的質(zhì)量,是數(shù)據(jù)庫設計的關鍵步驟。它反映了設計人員對用戶需求的理解以及對系統(tǒng)的把握程度。數(shù)據(jù)庫的設計必須滿足安全性和合理性,通過對用戶的需求分析,抽象出系統(tǒng)中的實體,然后根據(jù)實體設計數(shù)據(jù)庫邏輯結(jié)構(gòu)。
通過分析,抽象出用戶實體,如下圖:
5.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設計
根據(jù)對系統(tǒng)抽象出來的E-R圖,將E-R圖轉(zhuǎn)換成邏輯結(jié)構(gòu),根據(jù)邏輯結(jié)構(gòu),轉(zhuǎn)換成關系模型。根據(jù)系統(tǒng)的E-R圖,轉(zhuǎn)換的關系模型如下(主鍵用下劃線表示):
用戶(用戶編號,昵稱,郵箱,密碼,頭像,QQ,電話,用戶等級,郵箱驗證碼,最后登錄IP,最后登錄時間);
小說(小說編號,書名,作者,封面,狀態(tài),推薦數(shù)目,最后修改時間,描述);
作者(作者編號,讀者編號,筆名,作家密碼,真是姓名,性別,身份證號碼,詳細地址,郵編,作家簡介);
小說類別(類別編號,類別名,描述,父類ID,排序);
小說分卷(卷編號,小說編號,卷名,卷描述,卷排序);
小說章節(jié)(章節(jié)編號,卷編號,小說編號,章節(jié)名,章節(jié)內(nèi)容,狀態(tài),字數(shù),排序,發(fā)表時間);
書簽(書簽編號,讀者編號,章節(jié)編號,添加時間);
書架(書架編號,讀者編號,小說編號,添加日期);
評論(評論編號,讀者編號,小說編號,評論內(nèi)容,評論時間);
回復(回復編號,作者編號,回帖編號,回復內(nèi)容,回復時間);
5.3 物理設計
本系統(tǒng)所用的數(shù)據(jù)庫是MySQL,運行環(huán)境是基于Windows的。通過對系統(tǒng)概念結(jié)構(gòu)和邏輯結(jié)構(gòu)的設計,為了讓系統(tǒng)高效率的運行,設計的表有:xl_author(作家表),xl_bookmark(書簽表),xl_bookshelf(書架表),xl_category(小說類別表),xl_category_novel(小說類別關系表),xl_chapter(小說章節(jié)表),xl_comment(評論表),xl_novel(小說表),xl_reversion(回復表),xl_user(用戶表),xl_volume(小說分卷表)。
作家表,用來存放小說作家的信息,如下圖所示:
6. 系統(tǒng)實現(xiàn)
系統(tǒng)采用三大框架SSH中的Struts2搭建,運用MVC設計思想設計系統(tǒng)結(jié)構(gòu),采用MySQL數(shù)據(jù)庫存貯后臺數(shù)據(jù),前臺與后臺的數(shù)據(jù)交互采用JDBC連接池的方式實現(xiàn)。視圖層采用JSP和html等變現(xiàn)層技術;控制層是用的Struts2框架,在struts.xml文件中配置FilterDispatcher前端控制器和每個Action的對應關系。當瀏覽器向服務器發(fā)送請求時,Struts2的前端控制器根據(jù)struts.xml配置文件決定調(diào)用不同的Action,然后將返回結(jié)果發(fā)送給對應的頁面,再在頁面展現(xiàn)數(shù)據(jù)。系統(tǒng)工程結(jié)構(gòu)如下圖所示:
8. 總結(jié)
這次畢業(yè)設計,是對大學四年學習的檢驗,是考驗我們獨立解決問題的能力。通過這次的畢業(yè)設計,我對Java有了更深入的了解,同時系統(tǒng)用到的struts2框架有了更進一步的認識。
在完成本次畢業(yè)設計的過程中,碰到過一些問題,但正是這些問題,讓我明白了自身的不足。在對這些問題尋求解決的過程中,我獲得了不小的收獲,學到了很多課堂上學不到的東西。這次畢業(yè)設計鍛煉了我獨立解決問題的能力,提高了我編寫代碼的技能。
轉(zhuǎn)載請注明來自發(fā)表學術論文網(wǎng):http:///dzlw/9585.html