本文摘要:本电子信息工程论文主要阐述了一个电子小说网站的设计与实现过程,该网站主要实现了小说的阅读、查找、以及小说的发表等功能。整个网站从设计到开发,再到实现,完全是由个人实现。由于个人能力有限,加之时间仓促,网站还存在很多待完善的地方,还有很多细
本电子信息工程论文主要阐述了一个电子小说网站的设计与实现过程,该网站主要实现了小说的阅读、查找、以及小说的发表等功能。整个网站从设计到开发,再到实现,完全是由个人实现。由于个人能力有限,加之时间仓促,网站还存在很多待完善的地方,还有很多细节需要处理。
《桂林电子科技大学学报》是桂林电子科技大学主管主办的以反映自然科学研究成果为主的综合性学术期刊。主要刊载信息与通信工程、信号与信息处理、计算机应用技术、仪器科学与技术、控制理论与控制工程、机械设计制造及其自动化、管理科学与工程、电磁场与微波技术、机械电子工程、工业艺术设计、材料加工工程、信息与计算科学、应用数学、工商管理等方面的学术论文。读者对象为相关专业的科研人员、工程技术人员及高等院校师生。
随着科技的发展,书籍电子化、阅读数字化的趋势越来越明显,人们的阅读方式也随之改变。小说迷们的读物资源,已经不再是单一的纸质小说了。电子小说因其小巧轻便、方便阅读、易于存储等有点而深受人们喜爱。但是有时候因为互联网资源众多,特定的电子小说的搜索如同大海捞针;同时,电子小说版权问题的制约,电子小说资源还是有一定的限制。
国内大大小小的阅读网站虽然数量众多,但却良莠不齐。一些优秀的电子小说网站虽然资源丰富、小说质量高,但是却存在付费的限制。一些小型的在线电子书籍网站虽然免费,但是却存在资源不足的问题,正版、高品质的电子小说少之又少。
本电子小说网站旨在为用户提供丰富的电子小说资源,以及良好的在线阅读体验。该网站主要实现了会员的登录注册、小说的查找阅读、小说的发表、小说管理、用户管理等功能。根据用户的喜爱,收录了大量的电子小说,为用户提供了丰富的阅读资源。该网站基于B/S结构,利用SSH框架搭建,用MVC设计思想,通过Javabean、Ajax、Jsp和MySQL等技术实现。
关键词:电子小说网站;在线阅读;Java;MVC;Struts2
1. 绪论
1.1 设计背景
随着科技的发展,书籍电子化、阅读数字化的趋势越来越明显,人们的阅读方式也随之改变。小说迷们的读物资源,已经不再是单一的纸质小说了。电子小说因其小巧轻便、方便阅读、易于存储等有点而深受人们喜爱。但是有时候因为互联网资源众多,特定的电子小说的搜索如同大海捞针;同时,电子小说版权问题的制约,电子小说资源还是有一定的限制。
国内大大小小的阅读网站虽然数量众多,但却良莠不齐。一些优秀的电子小说网站虽然资源丰富、质量较高,但是却存在付费的限制。一些小型的在线电子书籍网站虽然免费,但是却存在资源不足的问题,正版、高品质的电子小说少之又少。
纵观国内的电子小说网站,要想长期拥有大量的用户群体,电子小说的质量、资源以及小说的免付费问题是关键所在。
1.2 选题意义
作为一种新兴的小说形式,电子小说具有非常好的发展前景。本文针对网络小说的特点,设计并实现了一个电子小说网站。电子小说网站界面美观,交互性强,收录的电子小说种类繁多,满足了小说迷在线阅读的需求,给小说迷带来良好的用户体验。该电子小说网站还提供了作品发表的功能,为哪些喜欢写作的读者提供了一个良好的创作平台。通过该平台,可以将自己的作品分享给其他小说迷阅读。该电子小说网站还为作者和读者之间提供了良好的互动,作者的作品更新完毕之后,读者可以对其进行评价、与作者进行交流。
对于开发人员来说,设计并实现一个电子小说网站,需要开发人员熟悉开发一个Web系统的全过程,同时需要开发人员掌握面向对象开发思想,熟悉计算机开发软件工程的思想、熟练使用数据库建立技术。
在当前具有良好互联网技术与环境支持的时代下,设计并实现一个电子小说网站顺应了网络发展的潮流,体现了开发人员学以致用的精神。独立设计并实现电子小说网站,让我把所学的知识应用到了实际,并锻炼了我开发一个web系统的实战能力。
2. 开发环境介绍
2.1 系统配置介绍
操作系统:Windows 2000 Server/Professional、Windows XP Professional、Windows7、Linux系统均可。
cup:能够运行Windows系列或者Linux操作系统均可,没有特殊要求。
内存:建议2GB以上内存,能保证Windows系类的操作系统的正常运行。
硬盘容量:10GB以上存储。
2.2 开发技术介绍
2.2.1 Java介绍
Java是Sun公司推出的一种面向对象的程序设计语言,是当今最流行的程序设计语言。Java具有良好的跨平台性,不必考虑系统兼容性问题以及迁移问题。Java是一种开源的编程语言,为了方便用户使用,很多Java爱好者利用Java开发出许多的开源框架供大家使用,为用户的编程带了较高的开发效率和优越的性能。JavaEE技术在企业中得到广泛的应用,因其良好的通用性、高效性和跨平台的特点,在全球移动互联网中有着不可替代的作用。
2.2.2 MySQL数据库介绍
MySQL是一种关联型数据库系统,关联数据库是通过将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。因为MySQL数据库的这种特点,使得数据的访问速度增加了,并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。由于其速度快、体积小、成本低等特点,尤其是开源这一特点,备受一般中小型网站的青睐,许多开发商都选择MySQL作为网站数据库
2.2.3 Struts2框架介绍
Struts2是在 struts1和WebWork的技术基础上进行了合并的全新的Struts 2框架。Struts2 不是Struts1的升级,而是在WebWork核心XWork的基础上包装了Struts1,所以Struts 2可以理解为WebWork的更新产品。Struts2减少了对框架API和Servlet API的依赖,可扩展性有了很大的提高。Struts2的核心jar包中的struts-default.xml文件中设置了很多默认类型,默认拦截器等,对于这些默认设置,用户可以自行更改,实现了良好的可插拔性。除此之外,Struts还提供了丰富的标签库--Taglib。Taglib运用起来灵活多样,能打打提高开发效率,同时还提供了给用户自定义标记的接口,用户可以按照需要定义自己需要的标记。
3. 系统分析
3.1 需求分析
一个好的电子小说网站,既要符合一般网站的设计规范,同时也要满足不同用户的个性和喜好,设计出具有特色的功能。这些功能的设计不是凭空想象,而是根据用户的实际需求来设计开发的。
3.1.1 系统需求分析
为了保证系统的正常运行,该电子小说网站必须符合一般的网站设计规范与要求,保证该系统的健壮性、良好的迁移性和安全性。为了实现上述要求,采用Java语言开发电子小说网站。因为Java语言本身具有很高的安全性,同时Java语言具有突出的跨平台的特点,符合健壮性和迁移性的需求。
3.1.2 用户需求分析
该系统的主要用户分为两部分,一部分是系统的管理员,另一部分是该网站的读者。对于系统的管理员来说,管理员登录之后,可在权限范围内对系统进行管理。对于读者来说,在登录和未登录的情况下,都能进行一些操作。在未登录的情况下,读者算是游客的身份,只能进行小说的浏览、查找与阅读;在读者注册并登录的情况下,除了游客的功能,还可享受会员功能,如小说的评论、收藏、发表等功能。
管理员主要有以下四个功能模块:权限管理、用户管理、小说管理、广告管理。后台管理员功能如下图所示:
图1 管理员功能图
读者功能主要有以下:注册会员、注册读者、阅读小说、评论小说、发表小说、订阅小说、收藏小说等功能。读者功能如下图:
图 2 用户功能图
3.2 功能分析
3.2.1 功能模块划分
该电子小说网站分为两部分,一部分是面向读者的部分,主要包括读者注册会员、注册作者、阅读小说、评论小说、发表小说、收藏小说、订阅小说等功能。另一部分是管理员功能,主要有权限管理、用户管理、小说管理、广告管理等功能。如下图所示:
图 3 系统功能图
3.2.2 功能描述
读者部分功能:
1)读者注册会员:如果没有在本网站注册,也可查看小说,但是不能对小说进行评论和收藏,只有注册为本网站的会员之后,才能对小说进行评论和收藏,以及订阅。
2)注册作者:只有注册成为本网站的会员之后,才能在本网站注册作者,然后才可以在本网站发表小说。
3)阅读小说:查找并阅读感兴趣的小说。
4)评论过小说:当读者阅读完小说之后,可以对其进行评论。评论的前提是必须是本网站的会员,而且要登录。
5)发表小说:本网站的注册作者才有权限在本网站发表小说。并提交给后台管理员审阅。
6)收藏小说:如果读者最自己喜欢的小说看了一半或者连载小说还没更新的情况下,读者可以收藏该小说,等小说有了更新可找到相印的书签并进行阅读。
7)订阅小说:读者可根据自己的喜好,订阅不同类型的小说。当该类型的小说有了新作品时,系统会发送相印的提示给读者,以便读者继续阅读。
管理员功能:
1)权限管理:管理本网站会员和作者的权限。
2)用户管理:包括对本网站的会员和作者的管理。如有发现会员或作者的言论违反规定,则会对发言者进行相印的控制。
3)小说管理:小说管理包括对小说的类别管理、小说的添加与删除管理、新作品的审阅管理。
4)广告管理:本网站在有些页面预留了适当的位置,可用来投放广告。广告管理包括广告的添加与删除、广告价格设定、广告位置设定等。
4. 系统设计
4.1 设计思想
网站采用MVC设计思想来对系统进行设计。MVC是一种软件架构模式,基本思想是:将一个软件的组成划分成三部分,即:模型、视图、控制器。
视图,即展现给用户的图形界面,与用户交互的接口。电子小说网站用到的主要视图技术有Html、Jsp等。视图主要是数据的展现,也就是表示逻辑,将模型提供的数据以合适的方式展现给用户。另外,还提供UI用户接口,用户通过视图想系统发送请求。
模型,即封装的业务逻辑。模型相当与一个黑箱操作,接受视图发送来的请求,并返回最终的处理结果,其中的过程封装起来,不被用户看到。根据数据库中的表,创建的实体也属于模型,把系统中用到的对象都抽取出来封装成业务模型。
控制器,控制器是连接视图与模型的桥梁。控制器将视图与模型的关系解耦。当视图的请求到达时,控制器根据不同的请求,决定调用哪个模型。完成处理过程之后,控制器将处理结果发送给相应的视图,展现给用户。一个模型可能对应多个视图,一个视图可能对应多个模型。
5. 数据库设计
5.1 数据库概念结构设计
数据库概念结构设计就是通过对用户的需求分析,将用户的需求信息抽象为概念结构。系统概念结构设计直接关系到整个系统的质量,是数据库设计的关键步骤。它反映了设计人员对用户需求的理解以及对系统的把握程度。数据库的设计必须满足安全性和合理性,通过对用户的需求分析,抽象出系统中的实体,然后根据实体设计数据库逻辑结构。
通过分析,抽象出用户实体,如下图:
5.2 数据库逻辑结构设计
根据对系统抽象出来的E-R图,将E-R图转换成逻辑结构,根据逻辑结构,转换成关系模型。根据系统的E-R图,转换的关系模型如下(主键用下划线表示):
用户(用户编号,昵称,邮箱,密码,头像,QQ,电话,用户等级,邮箱验证码,最后登录IP,最后登录时间);
小说(小说编号,书名,作者,封面,状态,推荐数目,最后修改时间,描述);
作者(作者编号,读者编号,笔名,作家密码,真是姓名,性别,身份证号码,详细地址,邮编,作家简介);
小说类别(类别编号,类别名,描述,父类ID,排序);
小说分卷(卷编号,小说编号,卷名,卷描述,卷排序);
小说章节(章节编号,卷编号,小说编号,章节名,章节内容,状态,字数,排序,发表时间);
书签(书签编号,读者编号,章节编号,添加时间);
书架(书架编号,读者编号,小说编号,添加日期);
评论(评论编号,读者编号,小说编号,评论内容,评论时间);
回复(回复编号,作者编号,回帖编号,回复内容,回复时间);
5.3 物理设计
本系统所用的数据库是MySQL,运行环境是基于Windows的。通过对系统概念结构和逻辑结构的设计,为了让系统高效率的运行,设计的表有:xl_author(作家表),xl_bookmark(书签表),xl_bookshelf(书架表),xl_category(小说类别表),xl_category_novel(小说类别关系表),xl_chapter(小说章节表),xl_comment(评论表),xl_novel(小说表),xl_reversion(回复表),xl_user(用户表),xl_volume(小说分卷表)。
作家表,用来存放小说作家的信息,如下图所示:
6. 系统实现
系统采用三大框架SSH中的Struts2搭建,运用MVC设计思想设计系统结构,采用MySQL数据库存贮后台数据,前台与后台的数据交互采用JDBC连接池的方式实现。视图层采用JSP和html等变现层技术;控制层是用的Struts2框架,在struts.xml文件中配置FilterDispatcher前端控制器和每个Action的对应关系。当浏览器向服务器发送请求时,Struts2的前端控制器根据struts.xml配置文件决定调用不同的Action,然后将返回结果发送给对应的页面,再在页面展现数据。系统工程结构如下图所示:
8. 总结
这次毕业设计,是对大学四年学习的检验,是考验我们独立解决问题的能力。通过这次的毕业设计,我对Java有了更深入的了解,同时系统用到的struts2框架有了更进一步的认识。
在完成本次毕业设计的过程中,碰到过一些问题,但正是这些问题,让我明白了自身的不足。在对这些问题寻求解决的过程中,我获得了不小的收获,学到了很多课堂上学不到的东西。这次毕业设计锻炼了我独立解决问题的能力,提高了我编写代码的技能。
转载请注明来自发表学术论文网:http://www.fbxslw.com/dzlw/9585.html