基于SSM框架的小说网站浏览与管理系统设计与实现_第1页
基于SSM框架的小说网站浏览与管理系统设计与实现_第2页
基于SSM框架的小说网站浏览与管理系统设计与实现_第3页
基于SSM框架的小说网站浏览与管理系统设计与实现_第4页
基于SSM框架的小说网站浏览与管理系统设计与实现_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于SSM框架的小说网站浏览与管理系统设计与实现摘要:计算机和计算机网络的飞速发展,人们对计算机网络的依赖是越来越大。而计算机网络创新了许多娱乐方式,而网络小说就是其中一种,网络小说的诞生也最终致使网络小说网站的诞生。而现在网络小说也成为了潮流娱乐方式的一种,网络小说网站也越来越多。而现在国内最大的小说网站当属起点小说网,起点小说网崛起较早,分类和发展也相对齐全,但因为崛起较早的原因,其受众形象定位比较靠拢早期的玄幻,仙侠,武侠等,也就是说,当一个人想找玄幻,仙侠等小说等时,第一时间就会想到起点小说网。而现在新兴的比如,日本的轻小说,以及伴随着动漫发展而崛起的二次元小说,这类小说在起点小说网里是相对较小的分类,这种小说相对来讲边幅较小,写作时间十分自由,建立一个微型的小说网可以让更多有意愿的人去尝试写作,将小说网站做得更专业化非常重要。小说网站的实现以及后台对小说网站的管理,小说网站包括读者和作者两大角色,小说网站实现了读者阅读小说和收藏小说和下载小说的功能,而作者也实现方便的创建作品和上传章节,具有更自由的创作空间。后台管理系统则包括了对网站内容的更改,以及编辑对作者上传的内容进行审核,避免出现错误。针对微型小说网站的设计与实现,网页采用HTML5,CSS,JavaScript,jQuery技术提供更好的阅读体验,数据库采用MySQL更好的提取内容,框架则采用SSM的模式,即Spring+SpringMVC+MyBatis,同样为了更好的设计页面,采用了Dreamweaver(网页制作)、Photoshop(网站美工)来完成,软件开发在idea平台上,idea提供不错的开发便利,同时提供虚拟路径,以虚拟路径来访问静态资源非常方便。微型小说网的开发有助于实现小众网络文学的兴起,同时可以满足人民日益增长的精神需求和娱乐活动。也可以促进现代网络文学的蓬勃发展。关键词:网络文学,小说网站,小说

DesignandimplementationofnovelwebsitebrowsingandmanagementsystembasedonSpring+SpringMVC+MyBatisframeworkAbstract:Withtherapiddevelopmentofcomputerandcomputernetwork,peoplerelymoreandmoreoncomputernetwork.Andthecomputernetworkhasinnovatedmanyentertainmentways,andthenetworknovelisoneofthem,thebirthofthenetworknovelalsofinallycausesthebirthofthenetworknovelwebsite.Andnowthenetworknovelalsobecameakindoffashionentertainmentway,thenetworknovelwebsitealsomoreandmore.ButnowthelargestnovelwebsiteinChinaisthestartingnovelwebsite.Thestartingnovelwebsiteroseearlier,anditsclassificationanddevelopmentarerelativelycomplete.However,becauseoftheearlierrise,itsaudienceimagepositioningisclosertotheearlyfantasy,Xianxia,Wuxia,etc.,thatistosay,whenonewantstofindthefantasy,Xianxiaandothernovels,hewillthinkofthestartingnovelwebsiteatthefirsttime.Forexample,Japaneselightnovelsandthesecond-ordermetanovelsrisingwiththedevelopmentofanimearerelativelysmallcategoriesinthestartingnovelnetwork.Thiskindofnovelhasrelativelysmallmarginsandfreewritingtime.TheestablishmentofamicrosmallnetworkcanletmorewillingpeopletrytowriteandmakethenovelwebsitemoreprofessionalImportant.Therealizationofthenovelwebsiteandthemanagementofthenovelwebsiteinthebackground.Thenovelwebsiteincludestworoles:thereaderandtheauthor.Thenovelwebsiterealizesthefunctionsofreadersreadingnovels,collectingnovelsanddownloadingnovels,whiletheauthoralsorealizestheconvenientcreationofworksanduploadingchapters,withmorefreecreationspace.Thebackgroundmanagementsystemincludesthechangeofthewebsitecontentandtheeditor'sreviewofthecontentuploadedbytheauthortoavoiderrors.Forthedesignandimplementationofthemicronovelwebsite,HTML5,CSS,JavaScriptandjQuerytechnologiesareusedtoprovidebetterreadingexperience.MySQLisusedtoextractcontentinthedatabase,andSSMmodeisusedintheframework,namelySpring+springmvc+mybatis.Inordertodesignthepagebetter,DreamweaverandPhotoshopareusedtocompletethedesign,Softwaredevelopmentontheplatformofidea,ideaprovidesgooddevelopmentconvenience,atthesametimeprovidesvirtualpath,whichisveryconvenienttoaccessstaticresources.Thedevelopmentofmicronovelnetworkishelpfultorealizetheriseofminoritynetworkliterature,andcanmeettheincreasingspiritualneedsandentertainmentactivitiesofthepeople.Itcanalsopromotethevigorousdevelopmentofmodernnetworkliterature.Keywords:Networkliterature,novelwebsite,novel

目录目录第1章绪论 81.1系统开发的背景及意义 81.2国内外网络文学现状 91.2.1国外网络文学发展状况 91.2.2国内网络文学发展状况 91.2.3目前网络文学发展状况 101.3设计的主要研究内容 11第2章系统需求分析 122.1系统的需求分析 122.2系统的功能需求 122.3数据流图 162.4数据字典 182.5实体关系图(E-R图) 212.6本章小结 23第3章系统设计 243.1系统设计 243.1.1系统总体架构设计 243.1.2数据库设计 263.1.3系统模块的设计 323.2本章小结 39第4章系统实现 404.1网站替换图片的功能实现 404.2编辑审核章节功能的实现 434.3网站管理员对小说管理的功能实现 444.4小说阅读功能的实现 464.5作者对小说的管理的功能实现 474.6读者小说书架管理的功能实现 484.7本章小结 49第5章系统测试 515.1系统测试 515.1.1测试的意义 515.1.2测试的目的 515.1.3软件测试方法 515.2测试计划 515.3系统测试用例 535.3.1网站轮播内容替换测试 535.3.2编辑审核章节测试 535.3.3网站管理员对小说进行封禁的功能测试 545.3.4小说加入书架功能测试 545.3.5小说阅读界面获取章节内容功能测试 555.4本章小结 55第6章结束语 566.1全文总结 566.2课题展望 56参考文献 57致谢 59

第1章绪论1.1系统开发的背景及意义计算机和计算机网络的飞速发展,人们对计算机网络的依赖是越来越大。而计算机网络创新了许多娱乐方式,而网络小说就是其中一种,网络小说的诞生也最终致使网络小说网站的诞生。而现在网络小说也成为了潮流娱乐方式的一种,网络小说网站也越来越多。基于iResearch、Alexa、GoogleAdPlanner、GoogleTrendsforWebsites等国内外知名网站流量统计工具,针对网络小说网站的流量、点击量及用户使用情况进行查询分析发现,排名前5位的文学网站分别为起点中文网、快眼看书、晋江原创网、搜读网及纵横中文网吴琼.(2012).网络小说及其读者关注度分析.

图书馆建设(03),72-75.吴琼.(2012).网络小说及其读者关注度分析.

图书馆建设(03),72-75.下面就是目前的一些小说网站的背景:其一,就目前的小说阅读环境来看,除了国内比较大的小说网站,一些小型的网站里其广告比较多而且经常挡住小说内容,影响阅读体验;其二,目前国内比较大的小说网站,其小说分类较多的主要是目前比较火的玄幻,魔幻之类的类型,而相对小众的如日本的轻小说的文风类型的则极少;其三,一些网上完结的小说它下载途径不明,而且目录缺失,目录不对,影响阅读体验。所以其项目的意义在于以方便、快捷、多样化和为目标,发展小众的阅读文体,提供给用户更好的阅读体验,提高安全的下载路径,建立一个能够使广大读者与作家以及网站管理员真诚沟通的阅读空间。

1.2国内外网络文学现状1.2.1国外网络文学发展状况首先国外的网络文学的发展并不发达,其一原因是版权问题,其小说的内容大多以同人内容的形式在同人社区发布,类似的平台有类似平台有AO,FanfictionBlackRW.OnlineFanFiction,GlobalIdentities,andImagination[J].ResearchintheTeachingofEnglish,2009,43(4):397-425.,但其大多不是盈利性质的。欧美最有名的网络小说,要数:《五十层灰(FiftyShadesofGrey)》(及续集《五十层黑》(FiftyShadesDarker)和《五十层飞》(FiftyShadesFreed)),FiftyShades系列最开始是作为《暮光之城》的同人小说在网上连载的,后来才改成现在的设定。也有像亚马逊

KindleWorlds这样的官方授权的GemmaBothe.(2014).WhatabouttheConversation?TheLackofSocialInteractioninKindleWorlds.

AssociationofInternetResearchersConference.。其二,相比较中国已经发展的非常成熟的网络文学的写作套路来讲,国外的还是稍显逊色,而且中国的网络文学的商业运行模式已经相当成熟。其三,中国的网络文学市场在向海外开拓,在网络文学公司以及政治上的推动,国内的成熟的网络文学模式及内容吸引了越来越多的国外用户火眼财经.(2017).中国网络小说在国外已火成这样…….

BlackRW.OnlineFanFiction,GlobalIdentities,andImagination[J].ResearchintheTeachingofEnglish,2009,43(4):397-425.GemmaBothe.(2014).WhatabouttheConversation?TheLackofSocialInteractioninKindleWorlds.

AssociationofInternetResearchersConference.火眼财经.(2017).中国网络小说在国外已火成这样…….

人生与伴侣:极品(5),66-国内网络文学发展状况一开始传统小说因为历史和政治原因,相对现在的网络文学,其娱乐性要低很多。二十六来,随着我国人口基数的扩大,其所需的精神食粮越来越大,同时随着计算机和网络的发展,网络文学的发展由当初的自发小型创作到现在的庞大的商业链。同时也成为了成为新时代中国新文艺发展的重要组成部分。为祖国的文化建设,人民的文化生活,起到了至关重要的作用。随着网络和网络游戏的流行,一种新的文学样式——玄幻小说也悄然兴起并发展壮大,成为21世纪初一种引人注目的文学现象。由于网民的年轻化。玄幻小说的作者也呈现年轻化倾向,玄幻小说由此构成“80后”写作的一种重要方式。同时也为中国当代通俗文学写作注入了新的活力杜湘君.(2007).论网络玄幻小说.

杜湘君.(2007).论网络玄幻小说.

湖北经济学院学报:人文社会科学版,004(011),112-113.但与此同时也暴露了许多问题,其一,每年的小说盗版问题都会对作家造成重大损失,打击创作热情。其二,网络文学的创作的套路化,每当有红极一时的作品,就会有大量的跟风作品的出现,缺少独立自主的创作精神。其三,网络文学,很多人都知道其红的作品赚了很多钱,却很少人提及其作者的社会地位以及文学地位。其四,网络小说相对传统小说有更多的娱乐性,但同时也会缺少一定的文学性,每年都有大量的同质化,文学性底下的网文作品出现。1.2.3目前网络文学发展状况目前的网络文学发展的前景还是不错的,好的作品有了动漫改编,电影改编的可能,有了更多的上升空间谢宏娟.(2011).

中国网络小说影像改编作品研究谢宏娟.(2011).

中国网络小说影像改编作品研究.(Doctoraldissertation,南京艺术学院).但发家早,其固有形象暂难以改变,而现在的其他一些小网站则开辟了另外一条路,发展小众的网络文学,如日本的轻小说形式徐义红.(2014).网络小说与轻小说之对比研究.

大连海事大学学报(社科版)(6),102-106.,基于动漫发展的二次元小说徐义红.(2014).网络小说与轻小说之对比研究.

大连海事大学学报(社科版)(6),102-106.刘丽玲,&王丽萍.(2011).简论网络同人小说.

教师教育论坛(6),41-42.网络文学是在互联网和现代通信等技术条件下产生的新型文学样式。目前,人们对网络文学的看法还不一致,但是已经引起了人们极大的必趣和广泛关注。中国网络文学产生于上世纪末,目前还处于粗放和无序的初始化时期。我们认为。在不远的将来,它必将超越传统文学,取得主流文学的地位。在其发展过程中,它将历经初期、形成和成熟三个阶段,最终完成自己的历史使命高松寿.(2006).中国网络文学发展进程拟测.

新闻爱好者高松寿.(2006).中国网络文学发展进程拟测.

新闻爱好者(6),45-45.

1.3设计的主要研究内容小说网系统开发在idea平台上的,利用Spring+SpringMVC+MyBatis疯狂软件.Spring+MyBatis企业应用实战(第2版).电子工业出版社2018.4作为框架开发的小说网站和管理系统,包括了读者模块,书籍模块,作者模块,编辑模块,网站管理员模块,网站内容模块疯狂软件.Spring+MyBatis企业应用实战(第2版).电子工业出版社2018.4(1)采用HTML5李军.网页制作—HTML、CSS、JavaScript.清华大学出版社2012.1(2015.7重印),CSS,JavaScript,jQuery。技术姚敦红等.李军.网页制作—HTML、CSS、JavaScript.清华大学出版社2012.1(2015.7重印)姚敦红等.jQuery程序设计教程教程.人民邮电出版社2013.12(2017.5重印)(2)数据库的建立采用MySQL,以小说网站数据库的内容(3)对系统的模块设计的展示(4)对系统的实现(5)系统方法的测试

第2章系统需求分析2.1系统的需求分析小说网站的系统需求如下:(1)网站的浏览跳转,读者可以点击小说门户网站的内容进行跳转浏览,可以进行搜索查找喜欢的内容。(2)读者的可以登录,并对自己的信息进行修改,对喜欢的小说可以添加到书架里,对喜欢的小说进行点赞支持。(3)小说章节的阅读,可以点击喜欢的小说章节进行阅读。(4)作者可以登录并对自己的信息进行修改,创建新小说,管理自己的作品,上传章节等,修改书籍封面。(5)编辑可以登录小说的管理系统平台,对作者上传的章节,建立的新书,以及更换的书籍封面进行审核。(6)网站管理员可以登录小说的管理系统平台,对读者,作者,编辑的账户进行操作,同时可以对网站的轮播内容进行更换,以及对书籍的信息的更改。2.2系统的功能需求按照小说网站的设计内容,其包含的模块包括读者模块,书籍模块,作者模块,编辑模块,网站管理员模块,网站内容模块。图2-1系统的功能模块结构图1. 读者模块(1) 登录注册功能读者可以通过账号和密码进行登录,同时也可以注册新的账号密码进行登录。(2) 修改个人信息读者登录后可以,点击个人信息进行个人的信息修改包括密码,昵称。(3) 加入书架读者在登录后,阅读喜欢的书籍可以点击书籍页面的加入书架按钮添加到书架里,点击书架里的书籍内容即可以跳转到书籍页面。(4) 下载小说读者在登录后可以下载喜欢的小说内容。(5) 点赞读者在登录后,可以对喜欢的小说点击其书籍页面的点赞按钮,进行点赞。2. 作者模块(1) 登录注册功能读者可以通过账号和密码进行登录,同时也可以注册新的账号密码进行登录。(2) 修改个人信息作者登录后可以,点击个人信息进行个人的信息修改包括密码,昵称,头像。(3) 创建小说作者在登录后,可以点击创建新作品,填完信息后发到后台编辑进行审核(4)上传章节作者在登录后,点击我的作品可以选择自己的作品进行新章节的上传,上传到后台编辑出进行审核。(5)修改书籍封面作者在登录后,点击我的作品可以选择自己的作品进行封面的更换,上传到后台编辑出进行审核。3. 书籍模块(1) 书籍页面点击小说网站里的书籍封面即可跳转到相关的小说内容包括目录,小说信息,以及相关作者的作品信息。(2) 阅读功能点击书籍页面里的章节目录即可跳转到阅读界面进行阅读。4. 编辑模块(1) 登录输入账号密码后即可登录。(2) 章节审核编辑登录后,可以点击章节审核的按钮,对作者上传的章节进行审核,审核通过后可以在书籍页面看到新的章节目录和内容。(3) 作品审核编辑登录后,可以点击作品审核,对作者新建的作品进行审核。(4) 变更审核编辑登录后可以对作者对书籍更换的封面或者简介进行审核。5 网站管理员模块(1) 用户管理网站管理员可以对小说网站的用户包括读者,作者,编辑和自己的账户管理。(2) 网站轮播管理网站管理员可以对网站首页的轮播内容进行管理。(3) 小说管理网站管理员可以对小说网站的所有小说内容进行管理。6. 网站网站内容模块(1) 网站首页的轮播对后台管理人员提交的图片进行轮播(2) 排行榜点击排行榜,显示前十的书籍(3)书库点击条件按钮对书库进行搜索

2.3数据流图1. 读者登录数据流图读者登录的数据流过程为:第一步,读者进入登录界面,输入账号和密码;第二步,服务端对账号和密码进行验证,第三步,验证通过后,获取读者信息,跳转到小说网主界面。图2-2读者登录DFD2 读者注册数据流图读者注册数据流图过程为:第一步,读者点进注册界面,输入账号和密码;第二步,服务端判断账号是否重复,第三步,验证通过后,读者输入密码,点击注册,注册成功后,跳转到登录界面。图2-3读者注册DFD3. 读者阅读小说数据流图读者阅读小说数据流图过程为:读者阅读小说第一步,点击小说封面,第二步,服务端接收请求,跳转到小说界面,获取小说信息,第三步,点击章节目录里的章节,服务端接收请求,跳转到阅读界面,获取小说章节信息。图2-4读者阅读小说DFD4.作者上传章节数据流图作者上传章节数据流图过程:第一步,作者点击我的作品按钮,服务端响应,返回小说列表,第二步,作者点击上传章节按钮,跳转到上传章节界面,第三步,填写内容,点击提交,提交到服务端。图2-5作者上传章节DFD5.网站管理员替换网站轮播图片数据流图网站管理员替换网站轮播图片数据流图过程:第一步,网站管理员点击网站轮播管理,服务端响应,返回网站轮播图片信息,跳转到网站轮播图片管理页面,第二步,点击替换按钮,获取轮播图片信息,跳转到替换轮播图片页面,上传新的轮播图片,填写内容,点击提交,跳转到网站轮播图片管理页面。图2-6网站管理员替换网站轮播图片DFD2.4数据字典表2-1数据字典表含义符号说明BOOK_STATUS1连载中BOOK_STATUS2完本AUTHORPOST_STATUS3未通过审核AUTHORPOST_STATUS4通过审核WAPPER_STATUS5封推WAPPER_STATUS6书单WAPPER_STATUS7主编WAPPER_STATUS8热门BACKUSER_TYPE9网站管理员BACKUSER_TYPE10编辑BOOK_STATUS11封禁如表2-1所示,这是数据字典表同时也是数据库里的数据字典表dictionary。下面是数据字典的数据项描述:数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系(1)数据项名:BOOK_STATUS说明:意为小说状态,即包括完本的状态,连载的状态,封禁的状态数据类型:varchar长度:50取值范围:1,2,11取值意义:1代表小说处于连载的状态,2,代表小说处于完结的状态,11代表小说处于封禁的状态逻辑关系:符号对应着数据库小说表book的booktype(2)数据项名:WAPPER_STATUS说明:意为网站首页轮播图片的位置,即封推,热门,主编数据类型:varchar长度:50取值范围:5,6,7,8取值意义:5代表值网站首页封推的位置,6代表着网站首页书单的位置,7代表着网站首页主编推介轮播图片的位置,8代表着网站首页热门轮播图片的位置。逻辑关系:符号对应数据库网站首页轮播图片表website里的wapperType(3)数据项名:BACKUSER_TYPE说明:意为后台人员的类型,包括编辑和网站管理员数据类型:varchar长度:50取值范围:9,10取值意义:9,代表着后台人员的类型为网站管理员,10,代表着后台人员类型为编辑逻辑关系:符号对应着数据库后台管理人员表backend_user的userType(4)数据项名:AUTHORPOST_STATUS说明:意为作者提交的章节或小说的审核状态数据类型:varchar长度:50取值范围:3,4取值意义:3,代表着作者提交的章节或小说处于未审核的状态,4,代表着作者提交的章节或小说的审核通过的状态逻辑关系:符号对应着数据库checkchange变更审核表,checkbook新书审核表,checkchapter章节审核表的Ischeck

2.5实体关系图(E-R图)图2-7系统的实体-联系图(ER图)如图2-7所示,该图是小说网系统的实体-联系图,具体描述如下:(1)书籍的属性包括封面图片地址,编号,作者,类型,书名,创建时间,完结时间,最后更新时间,点赞数,收藏数,章节数,收藏数,简介。(2)作者的属性包括用户名,密码,编号,账号,完结作品的数量,连载作品的数量,头像图片地址,创建时间。(3)编辑的属性包括用户名,编号,创建时间,账号,密码。(4)读者的属性包括编号,用户名,账号,密码,创建时间。(5)需要审核的作品属性包括书名,类型,封面地址,简介,大纲,作者,审核状态。(6)书籍章节的属性包括标题,书籍编号,章节数,章节内容。(7)需审核的章节的属性包括标题,章节内容,书名,章节数,审核状态。

2.6本章小结本章对小说网站和管理系统进行了需求分析,并且进行了系统的功能设计。根据本文设计,系统包括六个模块,其包含的模块包括读者模块,书籍模块,作者模块,编辑模块,网站管理员模块,网站内容模块。画出了数据流图,通过数据库内容,给出了数据字典,并画出E-R图。

第3章系统设计3.1系统设计小说网系统的设计包括系统的系统总体架构设计,数据库设计,系统模块的设计,以下三个小节就是系统设计的内容。3.1.1系统总体架构设计图3-1系统总体架构设计如图3-1所示,表现层调用业务接口,持久层即mybaits,即dao接口,业务层即service接口,调用dao接口李洋.SSM框架在Web应用开发中的设计与实现

[J].计算机技术与发展,2016(12):190-194,共5页.李洋.SSM框架在Web应用开发中的设计与实现

[J].计算机技术与发展,2016(12):190-194,共5页.

3.1.2数据库设计王成良,柳玲,徐玲。数据库技术及应用.清华大学出版社2011王成良,柳玲,徐玲。数据库技术及应用.清华大学出版社2011本系统运用MySQL做数据库,如下:(1) 读者信息表(readerinfo):表3-1readerinfo表列名数据类型可为空注释IdInt(20) NOTNULL读者编号readernameVarchar(50)NULL读者昵称readerCodeVarchar(50)NOTNULL读者账号readerPasswordVarchar(50)NOTNULL读者密码creationDatedatetimeNOTNULL创建时间如表3-1所示,Id作为读者编号用于执行查询相关信息时的关键词,readername作为读者昵称,readerCode和readerPassword作为读者登录用的账号和密码,creationDate作为读者注册时的创建时间。(2) 作者信息表(authorinfo)表3-2authorinfo表列名数据类型可为空注释IdInt(30)NOTNULL作者编号authorCodeVarchar(50)NOTNULL作者账号authorNameVarchar(50)NULL作者昵称authorPasswordVarchar(50)NOTNULL作者密码authorPicPathVarchar(200)NULL图片地址相对路径authorLocPathVarchar(200)NULL图片地址绝对路径acrossWorkInt(30)NULL通过的审核数noAcrossWorkInt(30)NULL未通过的审核数completeWorkInt(30)NULL完结的作品数stillWorkInt(30)NULL连载的作品数creationDatedatetimeNOTNULL创建时间如表3-2所示,Id作为作者的编号用于查询相关信息时的关键词,authorCode和authorPassword则作为作者登录用的账号和密码,authorName则是作者的笔名,authorPicPath和authorLocPath则是用于通过地址获取作者头像的图片相对路径以及绝对路径,acrossWork则是作者通过编辑审核的数量,noAcrossWork则是未通过审核数量,stillWork和completeWork则是目前作者在连载的作品数量以及完结作品的数量,creationDate则是作者注册的创建时间。(3) 小说表(book)表3-3book表列名数据类型可为空注释idInt(20)NOTNULL小说编号booknameVarchar(50)NOTNULL小说书名bookimgPicPathVarchar(500)NOTNULL封面地址相对路径bookimgLocPathVarchar(500)NOTNULL封面地址绝对路径authorVarchar(20)NOTNULL作者allclickInt(30)NULL总点赞数allcollectionInt(30)NULL总收藏bookmesssageVarchar(250)NOTNULL简介chapterInt(10)NULL章节数booktypeInt(2)NOTNULL小说类型bookstatusInt(2)NOTNULL小说状态creationDateDatetimeNOTNULL创建时间finishetimeDatetimeNULL完结时间lastUpdateDatetimeNULL最后更新时间downNunbigInt(30)NULL总下载数如表3-3所示,这些都是小说的信息列名,也是在小说目录界面展现给读者的主要内容的列名,其中就包括了小说的封面,小说名,作者,简介,点赞数等等。(4) 小说分类表(book_type)表3-4book_type表列名数据类型可为空注释idBigint(30)NOTNULL分类编号valueNameVarchar(50)NOTNULL分类名称creationDateDatetimeNOTNULL创建时间如表3-4所示,id作为分类编号,对应表3-3的booktype,valueName则是分类的名称。(5) 章节内容表(bookcontents)Widenius,M.,Axmark,D.,&Dubois,P..(2002).

Widenius,M.,Axmark,D.,&Dubois,P..(2002).

MysqlReferenceManual.O'Reilly&Associates,Inc.表3-5bookcontents表列名数据类型可为空注释chapterBigint(30)NOTNULL章节数bookidBigint(30)NOTNULL小说编号contentLongtextNOTNULL小说内容如表3-5所示,bookid对应表3-3的id,用于查询相关信息的关键词,content则是展现给读者的小说内容,章节数则是小说内容对应的章节。(6) 小说内容标题表(booktitle)表3-6booktitle表列名数据类型可为空注释bookidBigint(30)NOTNULL小说编号chapterBigint(30)NOTNULL章节数titleVarchar(20)NOTNULL小说标题如表3-6所示,bookid对应表3-3的id,chapter对应表3-5的chapter,用于查询对应章节的内容,title则是小说章节目录里的章节标题。(7) 书架表(bookshelf)表3-7bookshelf表列名数据类型可为空注释IdBigint(30)NOTNULL读者编号valueNameVarchar(50)NOTNULL小说书名creationDateDatetimeNOTNULL创建时间如表3-7所示,Id对应表3-1的id,也就是读者的编号,valueName对应表3-3里的bookname,即小说名。(8) 后台管理人员表(backend_user)表3-8backend_user表列名数据类型可为空注释idInt(30)NOTNULL后台人员编号backCodeVarchar(50)NOTNULL后台人员账号backNameVarchar(50)NOTNULL后台人员名称userTypeInt(30)NOTNULL后台人员类型backPasswordVarchar(50)NOTNULL后台人员密码creationDateDatetimeNOTNULL创建时间如表3-8所示,这表主要存储后台人员的信息表,Id作为后台人员的编号,backName则是后台人员的真实姓名,backCode和backPassword则是后台人员用于登录系统的账号和密码,userType则是后台人员的类型。(9) 数据字典表(dictionary)表3-9dictionary表列名数据类型可为空注释idInt(10)NOTNULL数据字典编号typeCodeVarchar(50)NOTNULL数据分类valueidInt(10)NOTNULL字典值编号valueNameVarchar(50)NOTNULL字典名称如表3-9所示,该表的主要作用就是用于存储数据字典,数据字典的符号基本为数字,即valueid。(10) 章节审核表(checkchapter)表3-10checkchapter表列名数据类型可为空注释booknameVarchar(50)NOTNULL书名chapterBigint(30)NOTNULL章节数booktitleVarchar(20)NOTNULL标题contentLongtextNOTNULL章节内容IscheckInt(2)NOTNULL审核状态如表3-10所示,该表用于存储作者提交审核的章节,除Ischeck以外,其他列名均是小说的内容信息,而Ischeck则是用于表示审核的状态。(11) 新书审核表(checkbook)表3-11checkbook表列名数据类型可为空注释booknameVarchar(50)NOTNULL小说书名booktypeInt(2)NOTNULL小说类型bookimgPicPathVarchar(500)NOTNULL封面图片相对地址bookimgLocPathVarchar(500)NOTNULL封面图片绝对地址bookmesssageVarchar(250)NOTNULL小说简介bookoutlineLongtextNOTNULL小说大纲authorVarchar(50)NOTNULL作者IscheckInt(2)NOTNULL审核状态如表3-11所示,该表用于存储作者提交新建作品的内容,除Ischeck以外,其他列名均是小说的内容信息,bookoutline则是作者新建作品的大纲内容。(12) 网站首页轮播图片表(website)表3-12website表列名数据类型可为空注释idBigint(30)NOTNULL小说编号wapperTypeInt(2)NOTNULL轮播类型wapperBooknameVarchar(50)NOTNULL轮播小说书名wapperBookLogoPicPathVarchar(200)NOTNULL轮播图片地址相对路径wapperBookLogoLocPathVarchar(200)NOTNULL轮播图片地址绝对路径如表3-12所示,该表用于存储小说网系统的首页轮播图片的地址信息。id对应小说表的小说编号,wapperType则是轮播图片在首页的地址。

3.1.3系统模块的设计 根据需求分析,小说网系统的实现包括读者模块,书籍模块,作者模块,编辑模块,网站管理员模块,网站内容模块。下文则着重介绍几个重要的模块。1.读者阅读小说功能模块读者在网站内点击小说封面或小说名,跳转到小说目录界面,然后点击小说目录界面的章节目录里的标题,跳转到小说阅读界面进行阅读。图3-2小说阅读功能流程图如图3-2所示,该流程图展示的即时读者阅读小说时的流程图2.读者添加书籍进书架功能模块读者点击网站内的小说封面或书名,跳转到小说目录界面,点击加入书架按钮就可添加书籍进书架。图3-3读者添加书籍进书架流程图如图3-3所示,该图是读者在添加书籍进书架的流程图,当书籍已在读者书架时,界面显示的是已在书架,当书籍不在读者书架时,界面显示的是加入书架。3.网站管理员对小说进行封禁功能模块网站管理员点击小说管理,跳转到小说管理页面,点击小说管理页面里的封禁按钮,同时刷新页面,被封禁的小说展示出解封的按钮。图3-4网站管理员对小说进行封禁流程图如图3-4所示,该图是网站管理员对小说执行封禁的流程图。4.作者上传章节模块作者登录后点击我的作品,显示出作者的作品,点击操作下的上传章节按钮,跳转到上传章节的页面,填写好内容后即可点击提交按钮,提交到后台编辑进行审核。图3-5作者上传章节流程图如图3-5所示,该图是作者在上传章节时的流程图。5.作者新建作品流程图作者成功登录后,点击新建作品,跳转到新建作品的页面,填写新建作品的内容,点击提交按钮即可提交到后台编辑进行审核。图3-6作者新建作品流程图如图3-6所示,该图是作者在新建作品时的流程图。6.章节审核模块编辑登录后,点击章节审核,核对章节后,点击审核通过按钮,章节即可通过审核添加到小说的章节目录里。图3-7章节审核流程图如图3-7所示,该图是编辑在后台系统进行审核时的流程图7.轮播图片更换模块网站管理员成功登录后,点击网页轮播图片管理,跳转到网页轮播图片管理界面,点击修改即可跳转到修改页面,点击上传图片即可重新更换轮播图片。图3-8轮播图片更换流程图如图3-8所示,该图是网站管理员在更换轮播图片的流程图。

3.2本章小结本章讲述了系统的总体架构设计以及数据库设计,系统模块的设计。可能稍有不齐全,还有更大的进步空间。

第4章系统实现根据上一章的系统模块的设计,本章给出了它们的实现。下面分别是它们实现的界面效果和代码实现。4.1网站替换图片的功能实现(1)下图4-1是网站替换图片的界面,界面中有一个文件上传的按钮,点击按钮即可上传图片,书名的文本框可以调整轮播的书籍名称,单击替换按钮即可替换网站首页的轮播图片以及小说。图4-1网站替换图片页面图如图4-1所示,进行表单的填写和上传后,点击替换按钮即可看到网站首页轮播图片的改变。(2)以下即网站替换图片的功能实现的主要代码publicStringupdatewapper(Websitewebsite,HttpServletRequestrequest,@RequestParam(value="w_logoPicPath",required=false)MultipartFileattach){StringlogoPicPath=null;StringlogoLocPath=null;if(!attach.isEmpty()){Stringpath=System.getProperty("catalina.home")+java.io.File.separator+"img";("uploadFilepath:"+path);StringoldFileName=attach.getOriginalFilename();//原文件名Stringprefix=FilenameUtils.getExtension(oldFileName);//原文件后缀intfilesize=500000;if(attach.getSize()>filesize){//上传大小不得超过50krequest.setAttribute("fileUploadError",Constants.FILEUPLOAD_ERROR_4);return"manager/wapperchange";}elseif(prefix.equalsIgnoreCase("jpg")||prefix.equalsIgnoreCase("png")||prefix.equalsIgnoreCase("jepg")||prefix.equalsIgnoreCase("pneg")){//上传图片格式StringfileName=website.getWapperTypevalue()+website.getNewwapperBookname()+".jpg";//上传LOGO图片命名FiletargetFile=newFile(path,fileName);if(!targetFile.exists()){targetFile.mkdirs();}try{attach.transferTo(targetFile);}catch(Exceptione){//TODOAuto-generatedcatchblocke.printStackTrace();request.setAttribute("fileUploadError",Constants.FILEUPLOAD_ERROR_2);return"manager/wapperchange";}logoPicPath=fileName;logoLocPath=path+File.separator+fileName;}else{request.setAttribute("fileUploadError",Constants.FILEUPLOAD_ERROR_3);return"manager/wapperchange";}}website.setWapperBookLogoPicPath(logoPicPath);website.setWapperBookLogoLocPath(logoLocPath);try{Stringfile=managerWorkService.getwapperImg(website.getId(),website.getWapperType()).getWapperBookLogoLocPath();FilefileLoc=newFile(file);fileLoc.delete();if(managerWorkService.updatewapperimg(website)){return"redirect:/manager/flatform/wappermanager";}}catch(Exceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}return"redirect:/manager/flatform/wappermanager";}代码描述:当上传封面图片不为空时,path是获取服务器存储静态资源的路径,判断上传文件的大小,符合条件的就获取上传文件名的后缀,判断文件是否符合上传要求,然后就可以上传新的图片,同时根据上传图片的地址更新数据库里的图片地址和小说名即,managerWorkService.updatewapperimg(website)。4.2编辑审核章节功能的实现(1)下图4-2是编辑审核作者提交新章节的功能界面,书名为要审核的小说书名,章节则是目前小说总章节数的加一,章节标题和章节内容则是编辑需要审核的内容。图4-2编辑审核章节页面图如图4-2所示,在编辑审核过后,点击审核通过按钮即可通过该章节,并在小说目录界面看到该章节的内容信息。(2)以下是编辑审核章节功能的实现代码:@RequestMapping(value="/doeditaddchapter",method=RequestMethod.POST)publicStringaddchapter(Bookinfobookinfo){try{editWorkService.editAddChapterOne(bookinfo);editWorkService.editAddChapterTwo(bookinfo);editWorkService.updateIscheck(bookinfo);}catch(Exceptione){e.printStackTrace();}return"redirect:/edit/flatform/chaptercheck";}代码简单描述:编辑审核后点击审核通过按钮,即可提交表单,代码主要执行三个操作,editWorkService.editAddChapterOne(bookinfo);将相关表单信息添加到数据库bookcontents表,editWorkService.editAddChapterTwo(bookinfo);将相关表单信息添加到数据库booktitle表,即分别添加到章节内容,章节标题里,editWorkService.updateIscheck(bookinfo);则是更新新章节的审核状态。4.3网站管理员对小说管理的功能实现(1)如下图4-3所示前面的展现,除操作外其他栏目显示的均是小说的相关信息,操作栏目下的按钮就是网站管理员可以对小说进行的管理操作。图4-3小说管理界面如图4-3所示,点击修改,查看,上传按钮都会跳转到对应的操作页面,点击封禁就会刷新页面,同时更改小说的状态。(2)下面是小说管理功能里的封禁代码实现@RequestMapping(value="/setbookstatus/{id}",method=RequestMethod.GET)publicStringsetbookstatus(@PathVariableIntegerid){try{managerWorkService.setbookstatus(id);}catch(Exceptione){e.printStackTrace();}return"redirect:/manager/flatform/bookmanager";}代码简单描述:在小说管理页面获取小说id后,点击封禁按钮,主要执行操作managerWorkService.setbookstatus(id);更新小说的状态为封禁。(3)下面是小说管理功能里的查看代码实现@RequestMapping(value="/getbook/{id}",method=RequestMethod.GET)publicStringgetbook(@PathVariableIntegerid,Modelmodel){Bookinfobookinfo=null;try{bookinfo=managerWorkService.getBookById(id);}catch(Exceptione){e.printStackTrace();}model.addAttribute("bookinfo",bookinfo);return"manager/getbook";}代码简单描述:获取小说管理页面的小说id,点击查看按钮即可跳转到查看小说信息的页面,bookinfo=managerWorkService.getBookById(id);执行从数据库里根据id编号获取小说的信息,model.addAttribute("bookinfo",bookinfo);通过model.addAttribute()把这些信息存到bookinfo里,在jsp页面里通过el表达式将值拿出来展现在界面上。4.4小说阅读功能的实现(1)如图4-4所示,读者点击章节目录里的任一章节即可跳转到章节阅读界面。图4-4小说章节目录图如图4-4所示,点击章节目录里的标题即可跳转到小说的阅读界面。(2)以下是点击小说章节目录标题进行阅读的代码实现@RequestMapping(value="/bookview/{id}/{chapter}",method=RequestMethod.GET)publicStringcontent(@PathVariableStringchapter,@PathVariableIntegerid,HttpServletRequestrequest){Bookinfocontent=null;try{content=bookService.getContent(String.valueOf(chapter),Integer.valueOf(id));}catch(Exceptione){e.printStackTrace();}request.setAttribute("content",content);return"book/bookcontent";}代码简单描述:获取小说目录界面的小说编号和章节目录里的章节数,执行操作content=bookService.getContent(String.valueOf(chapter),Integer.valueOf(id));从数据库里根据小说id和章节数进行查询获取相关的章节内容并在小说阅读界面里通过el表达式拿出来,展现在小说阅读界面。4.5作者对小说的管理的功能实现(1)下图4-5是作者登录后点击我的作品展现的界面,除操作以外,其他栏目均是小说的基本信息,操作里包括修改小说信息以及上传章节。图4-5作者查看我的作品界面图如图4-5所示,界面包括作者作品的的基本消息包括封面,Id,书名,总点击数,总收藏数等等,点击上传章节,即会跳转到上传章节的界面,点击修改,也会跳转到修改小说信息的界面。(2)以下是作者对小说进行修改的功能代码实现bookinfo.setBookimgPicPath(logoPicPath);bookinfo.setBookimgLocPath(logoLocPath);try{if(authorService.addbookimg(bookinfo)){return"author/authorbook";}}catch(Exceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}return"author/authorbook";代码简单描述:在获取小说修改页面的图片上传路径后,将相对路径和绝对路径保存到bookinfo里,在小说修改页面里点击提交按钮,提交表单后,执行操作authorService.addbookimg(bookinfo)将bookinfo里的值添加到数据库的变更审核表。(3)以下是作者对小说进行上传章节的功能代码实现@RequestMapping(value="/doaddchapter",method=RequestMethod.POST)publicStringaddchapter(Bookinfobookinfo){try{authorService.addchapter(bookinfo);}catch(Exceptione){e.printStackTrace();}return"author/addchapter";}代码简单描述:作者在上传章节的界面里填写内容后,点击上传按钮提交表单,执行操作authorService.addchapter(bookinfo);将表单内容添加到数据库的章节审核表里。4.6读者小说书架管理的功能实现(1)如图4-6所示,读者的小说书架主要内容包括小说封面和小说名,鼠标移动到小说封面后弹出遮罩层,遮罩层上包括两个链接,立即阅读和取消收藏。图4-6读者书架界面图如图4-6所示,遮罩层上有两个链接,点击立即阅读即可跳转到小说目录界面,点击取消收藏,即可将本书从书架里删除。(2)以下是读者加入书架的功能代码实现@RequestMapping(value="/doaddbookshelf/{id}/{bookname}",method=RequestMethod.GET)publicStringaddbookshelf(@PathVariableIntegerid,@PathVariableStringbookname,HttpSessionsession){List<Bookshelf>bookshelves=null;try{bookShelfService.addBookShelf(id,bookname);bookshelves=bookShelfService.getBookShelf(id);}catch(Exceptione){e.printStackTrace();}session.setAttribute(Constants.Reader_BOOKSHELF_SESSION,bookshelves);returnnull;}代码简单描述:读者登录后点击小说目录界面的加入书架按钮,执行两个操作bookShelfService.addBookShelf(id,bookname);将小说书名内容添加到数据库书架表里,同时bookshelves=bookShelfService.getBookShelf(id);session.setAttribute(Constants.Reader_BOOKSHELF_SESSION,bookshelves);获取读者的书架信息,更新读者的书架session。4.7本章小结本章介绍了从系统的总体架构、数据库的设计和系统部分模块设计与实现四个方面阐述了小说网系统的模块实现,包括读者模块下的子模块,作者对作品进行操作的模块功能。最后则是小说网系统的重要实现界面。

第5章系统测试5.1系统测试本节系统测试主要包括以下内容:测试的意义,测试的目的,软件测试的方法。5.1.1测试的意义由于现在人们对于软件的质量要求越来越高,软件的系统测试非常重要,它可以排除一些隐蔽的错误,避免用户在使用时的一些错误请求,而跳转到错误界面。5.1.2测试的目的测试的目的就是发现软件的错误。在系统测试中发现的错误可能是各式各样的,按其范围和性质可划分为功能错误、系统错误、过程错误、数据错误、编码错误几类测试是为了更好的发现程序中的错误而执行程序的过程,好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案,成功的测试是发现了至今为止尚未发现的错误的测试。软件工程导论张海潘,牟永敏编著软件工程导论张海潘,牟永敏编著.-6版.-北京:清华出版社,2013(2017.12重印)5.1.3软件测试方法本系统是采用按照软件开发的阶段的测试方法,因而本系统在交付运行之前要进行单元测试、集成测试和系统测试。5.2测试计划黑盒测试着重测试软件功能,黑盒测试并不能取代白盒测试,它是与白盒测试互补的测试方法,它很可能发现白盒测试不易发现的其他类型错误[40]。小说网系统的具体测试计划如下:测试1:名称:网站轮播内容替换测试目的:测试网站轮播内容能否正常替换内容:在网站轮播管理界面里替换网站轮播内容。测试2:名称:编辑审核章节测试目的:测试编辑审核通过章节后能否在小说目录界面看到小说章节内容:编辑审核章节点击审核通过,查看小说目录界面。测试3:名称:网站管理员对小说进行封禁的测试目的:测试网站管理员对小说进行封禁的操作内容:网站管理员点击小说的封禁按钮,查看小说书库是否出现该小说。测试4:名称:小说加入书架功能测试目的:测试小说能否正常加入到读者书架里内容:在小说目录界面里点击加入书架按钮,查看读者书架。测试5:名称:小说阅读界面获取章节内容功能测试目的:测试小说阅读界面能否正确获取小说章节内容内容:在小说目录界面点击章节目录里的章节标题进行阅读。

5.3系统测试用例本节内容包括网站轮播内容替换测试,编辑审核章节测试,网站管理员对小说进行封禁的功能测试,小说加入书架功能测试小说阅读界面获取章节内容功能测试。5.3.1网站轮播内容替换测试功能描述:网站管理员点击网站轮播管理,跳转到网站轮播管理的界面,选择要上传的图片和小说书名后,点击替换即可完成网络轮播管理的操作。表5-1网站轮播内容替换测试用例表序列测试目的测试输入测试结果测试说明测试updatewapper()能否正常执行点击浏览按钮,选择图片,填写书名文本框网站轮播内容成功替换,服务器静态资源文件夹旧图已删除,数据库成功更新上传文件超大,和上传文件格式错误均有提示。如表5-1所示,该测试用例是为了测试网站管理员替换网站轮播内容时,提交的表单触发的方法updatewapper()。5.3.2编辑审核章节测试功能描述:编辑在作者提交新章节后,点击章节审核,审核内容后,点击审核通过按钮,新章节即可通过审核,并在小说目录界面里显示。表5-2编辑审核章节测试用例表序列测试目的测试输入测试结果测试说明测试addchapte()方法是否正常执行点击章节审核界面里的审核按钮,点击审核通过按钮成功将新章节的内容添加的数据库里,同时在小说目录界面也成功显示出来如表5-2所示,该用例测试是为了测试编辑在点击审核通过按钮时,触发的方法addchapte()。5.3.3网站管理员对小说进行封禁的功能测试功能描述:网站管理员在小说管理页面里点击封禁按钮,对小说进行封禁。表5-3对小说进行封禁的测试用例表序列测试目的测试输入测试结果测试说明测试setbookstatus()方法能否正常执行网站管理员在小说管理界面,点击封禁按钮。成功将小说的状态变为封禁,网站内也无法搜索到封禁小说的内容如表5-3所示,该测试用例是为了测试网站管理员在小说管理页面点击封禁按钮,对小说执行封禁操作是,setbookstatus()能否正常执行。5.3.4小说加入书架功能测试功能描述:读者在登录后,在小说目录页面,点击加入书架按钮,即可在我的书架里查看到该书籍的信息。表5-4小说加入书架功能测试用例表序列测试目的测试输入测试结果测试说明测试addbookshelf()能否正常执行读者登录后,在小说目录界面点击加入书架按钮。成功添加书籍到读者书架里。读者未登录时,点击加入书架会弹出“您还未登录”的提示框,当书籍已在读者书架里时,加入书架的按钮会变成已在书架的字样。如表5-4所示,该测试用例是为了测试读者在喜欢的小说目录界面里,点击加入书架时触发的方法addbookshelf()能否正常执行,将数据添加的数据库里。5.3.5小说阅读界面获取章节内容功能测试功能描述:读者点击小说目录页面里的章节目录里的标题,即可跳转到小说阅读界面。表5-5小说阅读界面获取章节内容功能测试用例表序列测试目的测试输入测试结果测试说明测试content()能否正常执行读者点击章节目录里的章节标题。成功跳转到小说阅读界面,成功获取章节内容。如表5-5所示,该测试用例是为了能够测试读者在点击章节目录进行跳转阅读时,触发的方法content()能否正常执行,正常跳转和获取正常内容。5.4本章小结本章节是目前小说网系统开发的重要步骤,包括页面与功能的实现的测试。小说网系统是基于MySQL的数据库开发,的测试从数据库里获取完整数据非常重要。所以本章给出关于系统测试的意义和目的以及软件测试的具体计划,最后则是实际测试的用例。

第6章结束语6.1全文总结小说网系统是开发在idea平台上,数据库采用MySQL数据库,框架则是Spring+SpringMVC+MyBatis开发的软件,同时还采用了Dre

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论