基于SSM框架的小说网站浏览与管理系统设计与实现## 标题
摘要:计算机和计算机网络的飞速发展,人们对计算机网络的依赖是越来越大。而计算机网络创新了许多娱乐方式,而网络小说就是其中一种,网络小说的诞生也最终致使网络小说网站的诞生。而现在网络小说也成为了潮流娱乐方式的一种,网络小说网站也越来越多。而现在国内最大的小说网站当属起点小说网,起点小说网崛起较早,分类和发展也相对齐全,但因为崛起较早的原因,其受众形象定位比较靠拢早期的玄幻,仙侠,武侠等,也就是说,当一个人想找玄幻,仙侠等小说等时,第一时间就会想到起点小说网。而现在新兴的比如,日本的轻小说,以及伴随着动漫发展而崛起的二次元小说,这类小说在起点小说网里是相对较小的分类,这种小说相对来讲边幅较小,写作时间十分自由,建立一个微型的小说网可以让更多有意愿的人去尝试写作,将小说网站做得更专业化非常重要。
小说网站的实现以及后台对小说网站的管理,小说网站包括读者和作者两大角色,小说网站实现了读者阅读小说和收藏小说和下载小说的功能,而作者也实现方便的创建作品和上传章节,具有更自由的创作空间。后台管理系统则包括了对网站内容的更改,以及编辑对作者上传的内容进行审核,避免出现错误。
针对微型小说网站的设计与实现,网页采用HTML5,CSS,JavaScript,jQuery技术提供更好的阅读体验,数据库采用MySQL更好的提取内容,框架则采用SSM的模式,即Spring+SpringMVC+MyBatis,同样为了更好的设计页面,采用了Dreamweaver(网页制作)、Photoshop(网站美工)来完成,软件开发在idea平台上,idea提供不错的开发便利,同时提供虚拟路径,以虚拟路径来访问静态资源非常方便。
微型小说网的开发有助于实现小众网络文学的兴起,同时可以满足人民日益增长的精神需求和娱乐活动。也可以促进现代网络文学的蓬勃发展。
关键词:网络文学,小说网站,小说
Design and implementation of novel website browsing and management system based on Spring+SpringMVC+MyBatis framework
Abstract:With the rapid development of computer and computer network, people rely more and more on computer network. And the computer network has innovated many entertainment ways, and the network novel is one of them, the birth of the network novel also finally causes the birth of the network novel website. And now the network novel also became a kind of fashion entertainment way, the network novel website also more and more. But now the largest novel website in China is the starting novel website. The starting novel website rose earlier, and its classification and development are relatively complete. However, because of the earlier rise, its audience image positioning is closer to the early fantasy, Xianxia, Wuxia, etc., that is to say, when one wants to find the fantasy, Xianxia and other novels, he will think of the starting novel website at the first time. For example, Japanese light novels and the second-order meta novels rising with the development of anime are relatively small categories in the starting novel network. This kind of novel has relatively small margins and free writing time. The establishment of a micro small network can let more willing people try to write and make the novel website more professional Important.
The realization of the novel website and the management of the novel website in the background. The novel website includes two roles: the reader and the author. The novel website realizes the functions of readers reading novels, collecting novels and downloading novels, while the author also realizes the convenient creation of works and uploading chapters, with more free creation space. The background management system includes the change of the website content and the editor’s review of the content uploaded by the author to avoid errors.
For the design and implementation of the micro novel website, HTML 5, CSS, JavaScript and jQuery technologies are used to provide better reading experience. MySQL is used to extract content in the database, and SSM mode is used in the framework, namely Spring + springmvc + mybatis. In order to design the page better, Dreamweaver and Photoshop are used to complete the design, Software development on the platform of idea, idea provides good development convenience, at the same time provides virtual path, which is very convenient to access static resources.
The development of micro novel network is helpful to realize the rise of minority network literature, and can meet the increasing spiritual needs and entertainment activities of the people. It can also promote the vigorous development of modern network literature.
Key words:Network literature, novel website, novel
目录
第1章绪论 8
1.1系统开发的背景及意义 8
1.2 国内外网络文学现状 9
1.2.1国外网络文学发展状况 9
1.2.2国内网络文学发展状况 9
1.2.3 目前网络文学发展状况 10
1.3 设计的主要研究内容 11
第2章系统需求分析 12
2.1 系统的需求分析 12
2.2 系统的功能需求 12
2.3 数据流图 16
2.4数据字典 18
2.5 实体关系图(E-R图) 21
2.6 本章小结 23
第3章系统设计 24
3.1 系统设计 24
3.1.1 系统总体架构设计 24
3.1.2 数据库设计 26
3.1.3 系统模块的设计 32
3.2 本章小结 39
第4章系统实现 40
4.1 网站替换图片的功能实现 40
4.2 编辑审核章节功能的实现 43
4.3 网站管理员对小说管理的功能实现 44
4.4 小说阅读功能的实现 46
4.5 作者对小说的管理的功能实现 47
4.6 读者小说书架管理的功能实现 48
4.7本章小结 49
第5章系统测试 51
5.1 系统测试 51
5.1.1 测试的意义 51
5.1.2 测试的目的 51
5.1.3 软件测试方法 51
5.2 测试计划 51
5.3 系统测试用例 53
5.3.1网站轮播内容替换测试 53
5.3.2编辑审核章节测试 53
5.3.3网站管理员对小说进行封禁的功能测试 54
5.3.4小说加入书架功能测试 54
5.3.5小说阅读界面获取章节内容功能测试 55
5.4 本章小结 55
第6章结束语 56
6.1 全文总结 56
6.2 课题展望 56
参考文献 57
致谢 59
1.1系统开发的背景及意义
计算机和计算机网络的飞速发展,人们对计算机网络的依赖是越来越大。而计算机网络创新了许多娱乐方式,而网络小说就是其中一种,网络小说的诞生也最终致使网络小说网站的诞生。而现在网络小说也成为了潮流娱乐方式的一种,网络小说网站也越来越多。基于iResearch、Alexa、Google Ad Planner、Google Trends for Websites等国内外知名网站流量统计工具,针对网络小说网站的流量、点击量及用户使用情况进行查询分析发现,排名前5位的文学网站分别为起点中文网、快眼看书、晋江原创网、搜读网及纵横中文网[吴琼. (2012). 网络小说及其读者关注度分析. 图书馆建设(03), 72-75.]。起点小说网崛起较早,分类和发展也相对齐全,但因为崛起较早的原因,其受众形象定位比较靠拢早期的玄幻,仙侠,武侠等,也就是说,当一个人想找玄幻,仙侠等小说等时,第一时间就会想到起点小说网。而现在新兴的比如,日本的轻小说,以及伴随着动漫发展而崛起的二次元小说,这类小说在起点小说网里是相对较小的分类,这种小说相对来讲边幅较小,写作时间十分自由,建立一个微型的小说网可以让更多有意愿的人去尝试写作,将小说网站做得更专业化。
下面就是目前的一些小说网站的背景:其一,就目前的小说阅读环境来看,除了国内比较大的小说网站,一些小型的网站里其广告比较多而且经常挡住小说内容,影响阅读体验;其二,目前国内比较大的小说网站,其小说分类较多的主要是目前比较火的玄幻,魔幻之类的类型,而相对小众的如日本的轻小说的文风类型的则极少;其三,一些网上完结的小说它下载途径不明,而且目录缺失,目录不对,影响阅读体验。
所以其项目的意义在于以方便、快捷、多样化和为目标,发展小众的阅读文体,提供给用户更好的阅读体验,提高安全的下载路径,建立一个能够使广大读者与作家以及网站管理员真诚沟通的阅读空间。
1.2 国内外网络文学现状
1.2.1国外网络文学发展状况
首先国外的网络文学的发展并不发达,其一原因是版权问题,其小说的内容大多以同人内容的形式在同人社区发布,类似的平台有类似平台有AO,Fanfiction[Black R W . Online Fan Fiction, Global Identities, and Imagination[J]. Research in the Teaching of English, 2009, 43(4):397-425.],但其大多不是盈利性质的。欧美最有名的网络小说,要数:《五十层灰(Fifty Shades of Grey)》(及续集《五十层黑》(Fifty Shades Darker)和《五十层飞》(Fifty Shades Freed)),Fifty Shades 系列最开始是作为《暮光之城》的同人小说在网上连载的,后来才改成现在的设定。也有像亚马逊 Kindle Worlds这样的官方授权的[Gemma Bothe. (2014). What about the Conversation? The Lack of Social Interaction in Kindle Worlds. Association of Internet Researchers Conference.]。其二,相比较中国已经发展的非常成熟的网络文学的写作套路来讲,国外的还是稍显逊色,而且中国的网络文学的商业运行模式已经相当成熟。其三,中国的网络文学市场在向海外开拓,在网络文学公司以及政治上的推动,国内的成熟的网络文学模式及内容吸引了越来越多的国外用户[火眼财经. (2017). 中国网络小说在国外已火成这样……. 人生与伴侣:极品(5), 66-67.],国内的网络文学公司在逐渐侵占国外的市场。国外的网络文学发展就相对困难。
1.2.2国内网络文学发展状况
一开始传统小说因为历史和政治原因,相对现在的网络文学,其娱乐性要低很多。二十六来,随着我国人口基数的扩大,其所需的精神食粮越来越大,同时随着计算机和网络的发展,网络文学的发展由当初的自发小型创作到现在的庞大的商业链。同时也成为了成为新时代中国新文艺发展的重要组成部分。为祖国的文化建设,人民的文化生活,起到了至关重要的作用。
随着网络和网络游戏的流行,一种新的文学样式——玄幻小说也悄然兴起并发展壮大,成为21世纪初一种引人注目的文学现象。由于网民的年轻化。玄幻小说的作者也呈现年轻化倾向,玄幻小说由此构成“80后”写作的一种重要方式。同时也为中国当代通俗文学写作注入了新的活力[杜湘君. (2007). 论网络玄幻小说. 湖北经济学院学报:人文社会科学版,004(011), 112-113.]
但与此同时也暴露了许多问题,其一,每年的小说盗版问题都会对作家造成重大损失,打击创作热情。其二,网络文学的创作的套路化,每当有红极一时的作品,就会有大量的跟风作品的出现,缺少独立自主的创作精神。其三,网络文学,很多人都知道其红的作品赚了很多钱,却很少人提及其作者的社会地位以及文学地位。其四,网络小说相对传统小说有更多的娱乐性,但同时也会缺少一定的文学性,每年都有大量的同质化,文学性底下的网文作品出现。
1.2.3 目前网络文学发展状况
目前的网络文学发展的前景还是不错的,好的作品有了动漫改编,电影改编的可能,有了更多的上升空间[谢宏娟. (2011). 中国网络小说影像改编作品研究. (Doctoral dissertation, 南京艺术学院).]。目前来讲可以说起点小说网是老牌网站,其资源,内容都是最好的,
但发家早,其固有形象暂难以改变,而现在的其他一些小网站则开辟了另外一条路,发展小众的网络文学,如日本的轻小说形式[徐义红. (2014). 网络小说与轻小说之对比研究. 大连海事大学学报(社科版)(6), 102-106.],基于动漫发展的二次元小说[刘丽玲, & 王丽萍. (2011). 简论网络同人小说. 教师教育论坛(6), 41-42.],以及最近的基于欧美的克苏鲁的小说形式。
网络文学是在互联网和现代通信等技术条件下产生的新型文学样式。目前,人们对网络文学的看法还不一致,但是已经引起了人们极大的必趣和广泛关注。中国网络文学产生于上世纪末,目前还处于粗放和无序的初始化时期。我们认为。在不远的将来,它必将超越传统文学,取得主流文学的地位。在其发展过程中,它将历经初期、形成和成熟三个阶段,最终完成自己的历史使命[高松寿. (2006). 中国网络文学发展进程拟测. 新闻爱好者(6), 45-45.]。
1.3 设计的主要研究内容
小说网系统开发在idea平台上的,利用Spring+SpringMVC+MyBatis[疯狂软件.Spring+MyBatis企业应用实战(第2版). 电子工业出版社 2018.4]作为框架开发的小说网站和管理系统,包括了读者模块,书籍模块,作者模块,编辑模块,网站管理员模块,网站内容模块,这几个模块。本文的主要研究内容如下:
(1)采用HTML5[李军.网页制作—HTML、CSS、JavaScript.清华大学出版社2012.1(2015.7重印)],CSS,JavaScript,jQuery。技术[姚敦红等.jQuery程序设计教程教程.人民邮电出版社2013.12(2017.5重印)
]利用Dreamweaver(网页制作)、Photoshop(网站美工)等软件来建立小说网站的门户界面。
(2)数据库的建立采用MySQL,以小说网站数据库的内容
(3)对系统的模块设计的展示
(4)对系统的实现
(5)系统方法的测试
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 数据流图
图2-2 读者登录DFD
2 读者注册数据流图
读者注册数据流图过程为:第一步,读者点进注册界面,输入账号和密码;第二步,服务端判断账号是否重复,第三步,验证通过后,读者输入密码,点击注册,注册成功后,跳转到登录界面。
图2-3 读者注册DFD
图2-4读者阅读小说DFD
4.作者上传章节数据流图
作者上传章节数据流图过程:第一步,作者点击我的作品按钮,服务端响应,返回小说列表,第二步,作者点击上传章节按钮,跳转到上传章节界面,第三步,填写内容,点击提交,提交到服务端。
图2-5 作者上传章节DFD
5.网站管理员替换网站轮播图片数据流图
网站管理员替换网站轮播图片数据流图过程:第一步,网站管理员点击网站轮播管理,服务端响应,返回网站轮播图片信息,跳转到网站轮播图片管理页面, 第二步,点击替换按钮,获取轮播图片信息,跳转到替换轮播图片页面,上传新的轮播图片,填写内容,点击提交,跳转到网站轮播图片管理页面。
图2-6网站管理员替换网站轮播图片DFD
2.4数据字典
表2-1 数据字典表
含义 符号 说明
BOOK_STATUS 1 连载中
BOOK_STATUS 2 完本
AUTHORPOST_STATUS 3 未通过审核
AUTHORPOST_STATUS 4 通过审核
WAPPER_STATUS 5 封推
WAPPER_STATUS 6 书单
WAPPER_STATUS 7 主编
WAPPER_STATUS 8 热门
BACKUSER_TYPE 9 网站管理员
BACKUSER_TYPE 10 编辑
BOOK_STATUS 11 封禁
如表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-7 系统的实体-联系图(ER图)
如图2-7所示,该图是小说网系统的实体-联系图,具体描述如下:
(1)
书籍的属性包括封面图片地址,编号,作者,类型,书名,创建时间,完结时间,最后更新时间,点赞数,收藏数,章节数,收藏数,简介。
(2)
作者的属性包括用户名,密码,编号,账号,完结作品的数量,连载作品的数量,头像图片地址,创建时间。
(3)
编辑的属性包括用户名,编号,创建时间,账号,密码。
(4)
读者的属性包括编号,用户名,账号,密码,创建时间。
(5)
需要审核的作品属性包括书名,类型,封面地址,简介,大纲,作者,审核状态。
(6)
书籍章节的属性包括标题,书籍编号,章节数,章节内容。
(7)
需审核的章节的属性包括标题,章节内容,书名,章节数,审核状态。
2.6 本章小结
本章对小说网站和管理系统进行了需求分析,并且进行了系统的功能设计。根据本文设计,系统包括六个模块,其包含的模块包括读者模块,书籍模块,作者模块,编辑模块,网站管理员模块,网站内容模块。画出了数据流图,通过数据库内容,给出了数据字典,并画出E-R图。
3.1 系统设计
小说网系统的设计包括系统的系统总体架构设计,数据库设计,系统模块的设计,以下三个小节就是系统设计的内容。
3.1.1系统总体架构设计
图3-1 系统总体架构设计
如图3-1所示,表现层调用业务接口,持久层即mybaits,即dao接口,业务层即service接口,调用dao接口[李洋. SSM框架在Web应用开发中的设计与实现 [J]. 计算机技术与发展, 2016(12):190-194,共5页.]
3.1.2 数据库设计[王成良,柳玲,徐玲。数据库技术及应用.清华大学出版社2011]
本系统运用MySQL做数据库,如下:
(1) 读者信息表(readerinfo):
表3-1readerinfo表
列名 数据类型 可为空 注释
Id Int(20) NOT NULL 读者编号
readername Varchar(50) NULL 读者昵称
readerCode Varchar(50) NOT NULL 读者账号
readerPassword Varchar(50) NOT NULL 读者密码
creationDate datetime NOT NULL 创建时间
如表3-1所示,Id作为读者编号用于执行查询相关信息时的关键词,readername作为读者昵称,readerCode和readerPassword作为读者登录用的账号和密码,creationDate作为读者注册时的创建时间。
(2) 作者信息表(authorinfo)
表3-2 authorinfo表
列名 数据类型 可为空 注释
Id Int(30) NOT NULL 作者编号
authorCode Varchar(50) NOT NULL 作者账号
authorName Varchar(50) NULL 作者昵称
authorPassword Varchar(50) NOT NULL 作者密码
authorPicPath Varchar(200) NULL 图片地址相对路径
authorLocPath Varchar(200) NULL 图片地址绝对路径
acrossWork Int(30) NULL 通过的审核数
noAcrossWork Int(30) NULL 未通过的审核数
completeWork Int(30) NULL 完结的作品数
stillWork Int(30) NULL 连载的作品数
creationDate datetime NOT NULL 创建时间
如表3-2所示,Id作为作者的编号用于查询相关信息时的关键词,authorCode和authorPassword则作为作者登录用的账号和密码,authorName则是作者的笔名,authorPicPath和authorLocPath则是用于通过地址获取作者头像的图片相对路径以及绝对路径,acrossWork则是作者通过编辑审核的数量,noAcrossWork则是未通过审核数量, stillWork和completeWork则是目前作者在连载的作品数量以及完结作品的数量,creationDate则是作者注册的创建时间。
(3) 小说表(book)
表3-3book表
列名 数据类型 可为空 注释
id Int(20) NOT NULL 小说编号
bookname Varchar(50) NOT NULL 小说书名
bookimgPicPath Varchar(500) NOT NULL 封面地址相对路径
bookimgLocPath Varchar(500) NOT NULL 封面地址绝对路径
author Varchar(20) NOT NULL 作者
allclick Int(30) NULL 总点赞数
allcollection Int(30) NULL 总收藏
bookmesssage Varchar(250) NOT NULL 简介
chapter Int(10) NULL 章节数
booktype Int(2) NOT NULL 小说类型
bookstatus Int(2) NOT NULL 小说状态
creationDate Datetime NOT NULL 创建时间
finishetime Datetime NULL 完结时间
lastUpdate Datetime NULL 最后更新时间
downNun bigInt(30) NULL 总下载数
如表3-3所示,这些都是小说的信息列名,也是在小说目录界面展现给读者的主要内容的列名,其中就包括了小说的封面,小说名,作者,简介,点赞数等等。
(4) 小说分类表(book_type)
表3-4 book_type表
列名 数据类型 可为空 注释
id Bigint(30) NOT NULL 分类编号
valueName Varchar(50) NOT NULL 分类名称
creationDate Datetime NOT NULL 创建时间
如表3-4所示,id作为分类编号,对应表3-3的booktype,valueName则是分类的名称。
(5) 章节内容表(bookcontents)[Widenius, M. , Axmark, D. , & Dubois, P. . (2002). Mysql Reference Manual. O’Reilly & Associates, Inc.]
表3-5 bookcontents表
列名 数据类型 可为空 注释
chapter Bigint(30) NOT NULL 章节数
bookid Bigint(30) NOT NULL 小说编号
content Longtext NOT NULL 小说内容
如表3-5所示,bookid对应表3-3的id,用于查询相关信息的关键词,content则是展现给读者的小说内容,章节数则是小说内容对应的章节。
(6) 小说内容标题表(booktitle)
表3-6 booktitle表
列名 数据类型 可为空 注释
bookid Bigint(30) NOT NULL 小说编号
chapter Bigint(30) NOT NULL 章节数
title Varchar(20) NOT NULL 小说标题
如表3-6所示,bookid对应表3-3的id,chapter对应表3-5的chapter,用于查询对应章节的内容,title则是小说章节目录里的章节标题。
(7) 书架表(bookshelf)
表3-7 bookshelf表
列名 数据类型 可为空 注释
Id Bigint(30) NOT NULL 读者编号
valueName Varchar(50) NOT NULL 小说书名
creationDate Datetime NOT NULL 创建时间
如表3-7所示,Id对应表3-1的id,也就是读者的编号,valueName对应表3-3里的bookname,即小说名。
(8) 后台管理人员表(backend_user)
表3-8 backend_user表
列名 数据类型 可为空 注释
id Int(30) NOT NULL 后台人员编号
backCode Varchar(50) NOT NULL 后台人员账号
backName Varchar(50) NOT NULL 后台人员名称
userType Int(30) NOT NULL 后台人员类型
backPassword Varchar(50) NOT NULL 后台人员密码
creationDate Datetime NOT NULL 创建时间
如表3-8所示,这表主要存储后台人员的信息表,Id作为后台人员的编号,backName 则是后台人员的真实姓名,backCode和backPassword则是后台人员用于登录系统的账号和密码,userType则是后台人员的类型。
(9) 数据字典表(dictionary)
表3-9dictionary表
列名 数据类型 可为空 注释
id Int(10) NOT NULL 数据字典编号
typeCode Varchar(50) NOT NULL 数据分类
valueid Int(10) NOT NULL 字典值编号
valueName Varchar(50) NOT NULL 字典名称
如表3-9所示,该表的主要作用就是用于存储数据字典,数据字典的符号基本为数字,即valueid。
(10) 章节审核表(checkchapter)
表3-10checkchapter表
列名 数据类型 可为空 注释
bookname Varchar(50) NOT NULL 书名
chapter Bigint(30) NOT NULL 章节数
booktitle Varchar(20) NOT NULL 标题
content Longtext NOT NULL 章节内容
Ischeck Int(2) NOT NULL 审核状态
如表3-10所示,该表用于存储作者提交审核的章节,除Ischeck以外,其他列名均是小说的内容信息,而Ischeck则是用于表示审核的状态。
(11) 新书审核表(checkbook)
表3-11checkbook表
列名 数据类型 可为空 注释
bookname Varchar(50) NOT NULL 小说书名
booktype Int(2) NOT NULL 小说类型
bookimgPicPath Varchar(500) NOT NULL 封面图片相对地址
bookimgLocPath Varchar(500) NOT NULL 封面图片绝对地址
bookmesssage Varchar(250) NOT NULL 小说简介
bookoutline Longtext NOT NULL 小说大纲
author Varchar(50) NOT NULL 作者
Ischeck Int(2) NOT NULL 审核状态
如表3-11所示,该表用于存储作者提交新建作品的内容,除Ischeck以外,其他列名均是小说的内容信息,bookoutline则是作者新建作品的大纲内容。
(12) 网站首页轮播图片表(website)
表3-12website表
列名 数据类型 可为空 注释
id Bigint(30) NOT NULL 小说编号
wapperType Int(2) NOT NULL 轮播类型
wapperBookname Varchar(50) NOT NULL 轮播小说书名
wapperBookLogoPicPath Varchar(200) NOT NULL 轮播图片地址相对路径
wapperBookLogoLocPath Varchar(200) NOT NULL 轮播图片地址绝对路径
如表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.1 网站替换图片的功能实现
(1)下图4-1是网站替换图片的界面,界面中有一个文件上传的按钮,点击按钮即可上传图片,书名的文本框可以调整轮播的书籍名称,单击替换按钮即可替换网站首页的轮播图片以及小说。
图4-1 网站替换图片页面图
如图4-1所示,进行表单的填写和上传后,点击替换按钮即可看到网站首页轮播图片的改变。
(2)以下即网站替换图片的功能实现的主要代码
public String updatewapper(Website website, HttpServletRequest request,
@RequestParam(value = “w_logoPicPath”, required = false) MultipartFile attach){
String logoPicPath = null;
String logoLocPath = null;
if (!attach.isEmpty()) {
String path = System.getProperty(“catalina.home”) + java.io.File.separator + “img”;
logger.info("uploadFile path: " + path);
String oldFileName = attach.getOriginalFilename();//原文件名
String prefix = FilenameUtils.getExtension(oldFileName);//原文件后缀
int filesize = 500000;
if (attach.getSize() > filesize) {//上传大小不得超过 50k
request.setAttribute(“fileUploadError”, Constants.FILEUPLOAD_ERROR_4);
return “manager/wapperchange”;
} else if (prefix.equalsIgnoreCase(“jpg”) || prefix.equalsIgnoreCase(“png”)
|| prefix.equalsIgnoreCase(“jepg”) || prefix.equalsIgnoreCase(“pneg”)) {//上传图片格式
String fileName =website.getWapperTypevalue()+ website.getNewwapperBookname() + “.jpg”;//上传LOGO图片命名
File targetFile = new File(path, fileName);
if (!targetFile.exists()) {
targetFile.mkdirs();
}
try {
attach.transferTo(targetFile);
} catch (Exception e) {
// TODO Auto-generated catch block
e.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 {
String file=managerWorkService.getwapperImg(website.getId(),website.getWapperType()).getWapperBookLogoLocPath();
File fileLoc= new File(file);
fileLoc.delete();
if (managerWorkService.updatewapperimg(website)) {
return “redirect:/manager/flatform/wappermanager”;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.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)
public String addchapter(Bookinfo bookinfo) {
try {
editWorkService.editAddChapterOne(bookinfo);
editWorkService.editAddChapterTwo(bookinfo);
editWorkService.updateIscheck(bookinfo);
} catch (Exception e) {
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)
public String setbookstatus(@PathVariable Integer id){
try {
managerWorkService.setbookstatus(id);
}
catch (Exception e){
e.printStackTrace();
}
return “redirect:/manager/flatform/bookmanager”;
}
代码简单描述:在小说管理页面获取小说id后,点击封禁按钮,主要执行操作
managerWorkService.setbookstatus(id);更新小说的状态为封禁。
(3)下面是小说管理功能里的查看代码实现
@RequestMapping(value=“/getbook/{id}”,method=RequestMethod.GET)
public String getbook(@PathVariable Integer id,Model model){
Bookinfo bookinfo=null;
try {
bookinfo=managerWorkService.getBookById(id);
}catch (Exception e){
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)
public String content(@PathVariable String chapter, @PathVariable Integer id, HttpServletRequest request) {
Bookinfo content = null;
try {
content = bookService.getContent(String.valueOf(chapter), Integer.valueOf(id));
} catch (Exception e) {
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 (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "author/authorbook";
代码简单描述:在获取小说修改页面的图片上传路径后,将相对路径和绝对路径保存到bookinfo里,在小说修改页面里点击提交按钮,提交表单后,执行操作
authorService.addbookimg(bookinfo)将bookinfo里的值添加到数据库的变更审核表。
(3)以下是作者对小说进行上传章节的功能代码实现
@RequestMapping(value = “/doaddchapter”, method = RequestMethod.POST)
public String addchapter(Bookinfo bookinfo) {
try {
authorService.addchapter(bookinfo);
} catch (Exception e) {
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)
public String addbookshelf(@PathVariable Integer id,@PathVariable String bookname,HttpSession session) {
List bookshelves=null;
try {
bookShelfService.addBookShelf(id,bookname);
bookshelves=bookShelfService.getBookShelf(id);
} catch (Exception e) {
e.printStackTrace();
}
session.setAttribute(Constants.Reader_BOOKSHELF_SESSION, bookshelves);
return null;
}
代码简单描述:读者登录后点击小说目录界面的加入书架按钮,执行两个操作
bookShelfService.addBookShelf(id,bookname);将小说书名内容添加到数据库书架表里,同时bookshelves=bookShelfService.getBookShelf(id);
session.setAttribute(Constants.Reader_BOOKSHELF_SESSION, bookshelves);获取读者的书架信息,更新读者的书架session。
4.7 本章小结
本章介绍了从系统的总体架构、数据库的设计和系统部分模块设计与实现四个方面阐述了小说网系统的模块实现,包括读者模块下的子模块,作者对作品进行操作的模块功能。最后则是小说网系统的重要实现界面。
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.1 全文总结
小说网系统是开发在idea平台上,数据库采用MySQL数据库,框架则是Spring+SpringMVC+MyBatis开发的软件,同时还采用了Dreamweaver(网页制作)、Photoshop(网站美工)来完成小说网的界面设计。
本文开始讲述了系统开的意义和目的,分析了小说网系统开发的需求。详细讲述了系统的设计包括数据库设计与模块设计,以及系统总架构设计。
在第4章阐述了系统的实现,展示了系统界面的实现,包括读者登录注册模块,读者阅读小说的界面,网站小说向读者展示的界面。
第5章讲述了系统测试的重要性,以及小说网系统的测试具体计划,以及测试用例,减少错误的可能。
最后,小说网系统的设计,是通过大学基本学习的内容开发的系统,相对简单,适合微型小说网系统的开发,本文就给出了一个小说网系统的结构化分析。
6.2 课题展望
随着计算机网络的发展,网络文学会越来越好,相关的法律法规也会越来越多完善,而届时,网络文学或许会获得更好的发展,而小说网系统的开发可能在未来还有不足,仍有很大的进步空间。目前小说网系统还存在许多不足之处。如:
(1)界面不够美观
(2)内容不够充实
(3)网站的功能过于简单
因此基于以上缺点,小说网系统仍会继续根据这些不足,提升体验。
[1] 吴琼. (2012). 网络小说及其读者关注度分析. 图书馆建设(03), 72-75.
[2] Black R W . Online Fan Fiction, Global Identities, and Imagination[J]. Research in the Teaching of English, 2009, 43(4):397-425.
[3] Gemma Bothe. (2014). What about the Conversation? The Lack of Social Interaction in Kindle Worlds. Association of Internet Researchers Conference.
[4] 火眼财经. (2017). 中国网络小说在国外已火成这样……. 人生与伴侣:极品(5), 66-67.
[5] 杜湘君. (2007). 论网络玄幻小说. 湖北经济学院学报:人文社会科学版,004(011), 112-113.
[6] 谢宏娟. (2011). 中国网络小说影像改编作品研究. (Doctoral dissertation, 南京艺术学院).
[7] 徐义红. (2014). 网络小说与轻小说之对比研究. 大连海事大学学报(社科版)(6), 102-106.
[8] 刘丽玲, & 王丽萍. (2011). 简论网络同人小说. 教师教育论坛(6), 41-42.
[9] 高松寿. (2006). 中国网络文学发展进程拟测. 新闻爱好者(6), 45-45.
[10] 疯狂软件.Spring+MyBatis企业应用实战(第2版). 电子工业出版社 2018.4
[11] 李军.网页制作—HTML、CSS、JavaScript.清华大学出版社2012.1(2015.7重印)
[12] 姚敦红等.jQuery程序设计教程教程.人民邮电出版社2013.12(2017.5重印)
[13] 李洋. SSM框架在Web应用开发中的设计与实现 [J]. 计算机技术与发展, 2016(12):190-194,共5页.
[14] 王成良,柳玲,徐玲。数据库技术及应用.清华大学出版社2011
[15] Widenius, M. , Axmark, D. , & Dubois, P. . (2002). Mysql Reference Manual. O’Reilly & Associates, Inc.
[16] 软件工程导论 张海潘,牟永敏 .-6版.-北京:清华出版社,2013(2017.12重印)
感谢四年来的大学生活,学到很多,感谢老师的教诲和辛苦指导,感谢大学四年的大学舍友的共勉与支持。我很高兴在大学里能遇到舍友和大学老师,让我大学四年过得很充实和与愉快。同样在这里感谢老师对我的论文的指导和修改意见,本论文自建立开题报告以来,少不了老师的辛苦指导,老师的意见对我修改至今的论文非常重要,感谢老师协助我顺利完成论文。同时感谢大学课堂让我学会的知识技能完成了本项目及论文。感谢家人在我写论文的期间的支持与理解。