Springboot一个小说阅读APP的设计与实现
摘 要
大数据时代下,数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求,利用互联网服务于其他行业,促进生产,已经是成为一种势不可挡的趋势。在小说在线阅读的需求下,开发一款小说阅读APP,将复杂的系统进行拆分,能够实现对需求的变化快速响应、系统稳定性的保障,能保证平台可持续、规模化发展的要求。
本文研究的小说阅读APP完善了对应的软体架设以及程序编码的工作,采取Mysql作为后台数据的主要存储单元,采用Springboot框架、JSP技术、Ajax技术进行业务系统的编码及其开发,实现了本系统的全部功能。同时完成小说阅读APP的基本功能:小说浏览、留言反馈、交流论坛、小说信息、小说分类、评价小说、小说发布等。
关键词:小说阅读APP;整体式结构;Mysql数据库
Design and implementation of a novel reading APP in Springboot
Abstract
In the era of big data, data is growing explosively. In order to meet the trend of the information age and the requirements of information security, it has become an irresistible trend to use the Internet to serve other industries and promote production. Under the demand of online novel reading, develop a novel reading APP to split the complex system, which can achieve rapid response to the change of demand, guarantee the stability of the system, and ensure the requirements of sustainable and large-scale development of the platform.
The novel reading APP studied in this paper has improved the corresponding software setup and program coding work, adopted MySQL as the main storage unit of background data, and adopted Springboot framework, JSP technology and Ajax technology to code and develop the business system, thus realizing all functions of the system. At the same time, complete the basic functions of the novel reading APP: novel browsing, message feedback, exchange forum, novel information, novel classification, novel evaluation, novel release, etc.
Key words:Novel reading APP; Integral structure; Mysql database
目 录
随着计算机网络在中国的广泛普及,在线小说阅读以是近年来新兴的互联网模式,它是在原有的文字、图片等静态信息浏览的基础上,增加了一系列的其他信息的综合平台。小说阅读APP就是提供了这一服务的具有动态交互功能的管理信息系统,它实现了一个基于APP上的小说网站。用户可以在线浏览小说信息并根据自己的喜好进行小说的阅读,收藏,评论。通过这个小说阅读APP,使用户足不出户就可以进行查看自己需要的小说信息,随时随地的浏览网页。摆脱了传统的阅读小说的局限性。
小说阅读APP可以给作者和读者提供一个相互交流的平台,作者将自己满意的作品发布到这个平台让更多的人看到它们,而读者可以在这个平台寻找自己感兴趣的作品并发布自己对作品的评论,作者能及时根据读者的评论来修改自己的作品内容、调解创作思路。这个平台的存在也可以减少买小说书的次数,节约不少金钱。
2007年4月,加拿大在互联网络上举办了一个"全国小说"的写作活动。参加活动的作家一共有12位,代表加拿大全国12个省区的作家。12位知名作家在12个小时内完成了一篇集体创作的小说。小说的主题是"跨国故事"(Cross Country Story)。
美国著名作家约翰•厄普代克与另外44名作家一起在网上合作完成了题为"故事由谋杀开始"的小说。这次网络小说写作活动由著名的网上书店亚马逊公司主持。网络小说又一次风靡一时。
据统计,目前国内上网的约1000万网民中,21岁到35岁的占80%。网络文学兴起的背后是70年代乃至80年代出生的青年作家、青年文学爱好者的迅速成长。有人甚至将网络文学形容为"时代新文化运动的先声",网络文学的兴起能够"吹响新文明的号角"。
国内的网络书屋大致是在1997后出现的,网易等公司提供的免费空间,为初期书站的发展提供了物质基础。初期的网络书站主要以转载为主,版权意识薄弱。部分网站是通过将武侠、言情等实体书扫描到网上来充实网站内容,而更多的网站则是直接从别的站转载。在这种大环境下,黄金书屋利用先发优势牢牢占据了网络书站老大的位置。号称“上网读书不识黄金书屋,再称网虫也枉然”。
可以掌握多门外语,而一个计算机科学家精通的大多是编程语言,它不是人类的自然语言,比如C语言、Java、Perl等等。由于不同的公司开发出的“中间件”不够规范,所以Sun公司推出J2EE,用这个标准来解决弊病。它提供了良好的机制,让每个层次允许与之相对的服务器、组件运行,使得系统的搭建稳定可用、开发高效、维护方便。
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVVM框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVVM。
-
- MySQL数据库
用MySQL这个软件,是因为它能接受多个使用者访问,而且里面存在Archive等。它会先把数据进行分类,然后分别保存在表里,这样的特别操作就会提高数据管理系统自身的速度,让数据库能被灵活运用。MySQL的代码是公开的,而且允许别人二次编译升级。这个特点能够降低使用者的成本,再搭配合适的软件后形成一个良好的网站系统。虽然它有缺点,但是综合各方面来说,它是使用者的主流运用的对象。
-
- B/S结构
B/S(Browser/Server)比前身架构更为省事的架构。它借助Web server完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到“瘦身”效果, 不需要考虑不停装软件的问题。
-
- JavaScript 运行模式
JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。
1.1是一种解释性脚本语言(代码不进行预编译)。
1.2主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。
1.3可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。
1.4跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
1.5 JavaScript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。JavaScript提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字。而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。
-
- 小程序框架以及目录结构介绍
整个小程序框架系统分为两部分:逻辑层和视图层。小程序开发框架的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生 小程序 体验的服务。小程序在视图层与逻辑层间提供了数据传输和事件系统,提供了自己的视图层以及逻辑层框架,让开发者能够专注于数据与逻辑。框架的核心是一个响应的数据绑定系统,可以让数据与视图非常简单地保持同步。在逻辑层做数据修改,在视图层就会做相应的更新。框架提供了一套基础的组件,这些组件自带微信风格的样式以及特殊的逻辑,开发者可以通过组合基础组件,创建出强大的微信小程序 。
在软件开发的过程中系统的可行性分析是必不可少的,可行性的研究就是评估问题是否能得到解决并且是要以最少的时间和最少的代价来解决。为实现上面的目标还要必须考虑到解决这些问题的方法的优点和缺点,还要考虑到实现了这些系统规模的开发带来的经济效益。这里可以用技术的可行性,操作的可行性,经济的可行性对我们的系统进行可行性的研究。小说阅读APP的可行性分析如下所示:
小说阅读APP采用的是Java编程语言并于MVVM模式,数据库部分采用的是当前流行的MYSQL数据库,小说阅读APP中的所有数据资源都存储在Mysql数据库中,本系统多处采用了AJAX的异步操作,AJAX技术可以对用户指定部分的数据进行局部刷新,不仅减少了服务器对页面的解析而且极大增加了用户的体验度。本系统的环境配置也较为简单,因为用的是HBuilder编辑器,而HBuilder里面有自带的Apache服务器和JDK环境,因此不需要我们在重新配置。
本系统采用Java、Mysql来支持事务和数据逻辑用H5来做前台页面的显示。
HTML网页中的不同组成成分是采用标签的形式来进行标识的。以下是HTML的基本的组成布局:
![](https://i-blog.csdnimg.cn/blog_migrate/f537a0d1fb56681cf41bbed9a52fc440.png)
图3-1 HTML基本构成图
小说阅读APP是在Java和Mysql的环境中运行的,而系统的成本也只是主要分布在软件的开发和维护上。但如果系统上线投入使用之后,不仅可以方便人们,还节省了用户的时间和精力,而且还极大限度的方便了运营者,减少了运营者的工作强度。小说阅读APP其实也不太复杂,在开发的时候经济支出也不大,在开发系统时时间用的也不多,从时间的优势和对经济利益方面产生的好处远超过维护和管理的成本,所以开发此系统是可行合适的。
本系统是基于浏览器和服务器的小说阅读APP,系统开发完成之后用户只需要在浏览器中输入正确的URL地址即可进行访问。本系统的前台页面简单明了,在没有操作指导的情况下也可以进行操作,无论是系统管理员还是普通用户在页面中所有的操作都是在浏览器中完成的,因此只要电脑在有网络的情况下,打开浏览器都能操作。而且在使用之前也不用进行相关的环境配置,因此本系统方便、简单、易于使用,所以该系统是容易并且可操作的。
根据用户对系统的需求,要求系统简单操作,能够准确,完整的对信息进行管理。小说阅读APP在对需求做解析后,整个系统主要分为两个部分:管理员和普通用户,每个模块下的分支功能不一样。对功能做出如下说明:
管理员模块:系统用户管理、小说分类管理、关于我们设置、用户注册管理、小说发布管理、小说分类管理、信誉记录管理、评价小说管理、留言反馈管理、论坛管理。
用户模块:小说浏览、公告栏、发布小说、信誉编辑、小说信息、留言反馈、小说点赞收藏等。
用户用例图如下所示。
![](https://i-blog.csdnimg.cn/blog_migrate/fe928437e7ef0754316d9f2e41c9640a.png)
图3-1 用户用例图
管理员用例图如下所示。
![](https://i-blog.csdnimg.cn/blog_migrate/03b23c7f6d0eaddf83acf7746995eaad.png)
图3-1 管理员用例图
根据用例图,对一些重要的用例进行描述。
注册用例描述如下表所示。
表3-1 注册用例描述
用例名称 |
注册 |
参与者 |
用户 |
描述 |
用户填写相关信息完成注册成为系统的用户 |
前置条件 |
无 |
后置条件 |
用户填写相关信息并用户账号可用 |
事件流 |
|
补充说明 |
|
登录用例描述如下表所示。
表3-1 登录用例描述
用例名称 |
登录 |
参与者 |
用户 |
描述 |
用户填写用户名和密码登录系统 |
前置条件 |
用户已注册 |
后置条件 |
用户名和密码正确 |
事件流 |
(1)用户在登录页面输入用户名和密码 (2)系统检测用户输入的用户名和密码 (3)显示登录成功并返回主页面 |
补充说明 |
(a)系统检查除密码不正确,返回登录页面 |
个人信息管理用例描述如下表所示。
表3-1 个人信息管理用例描述