小说阅读网站的设计

发布时间:2012-08-24 17:00:45   来源:文档文库   
字号:

小说阅读网站的设计与实现

摘要本小说阅读网站以方便、快捷、多样化和人性化为目标,建立一个能够使广大读者与作家以及网站管理员真诚沟通的阅读空间,促进大家的共同提高。

该网站设计是用ASP实现,其中网站的前台是用Dreamweaver进行框架及布局的设计,后台运用Access数据库,网络服务器平台是由WINDOWS操作系统内置的IIS。读者可以直接在网站阅读小说,查看小说公告:管理员通过小说后台管理系统可以直接进行管理操作,能实现小说的在线更新、修改、留言回复等各项功能。

关键词 小说阅读网站;ASP Dreamweaver;access



Design and implementation of The Novel Reading Website

Abstract: Novel reading website with convenient, diversification and humanity as the goal, the establishment of a website that can make the reader and writer and webmaster sincere communication reading space, promote the common improve.

This design used asp is novel website,prosceniums have used dreamweaver which carried out frame and layout design. And database has adopted access.the network server platform is IIS which sets by the windows operating the system in. The reader may directly in the webisite read novels, examing novel announcement; the manager may drectly carry on the management operation through the novel backstage management system to realize the novel on-line renewal, the revision,teh messang repiy and so on.

Keywords: asp; dreamweaver;access;

1 绪论

1.1本课题背景

当计算机网络在人们生活的各个领域迅速曼延之时,人们获取信息的方式也更加的直接迅速,网络化使信息领域变得更为广泛,在也没有了时间和空间的限制。人们获取信息大部分是通过网站的方式得到的。因此网站建设在Internet应用上的地位显而易见,而本网站的制作室为人们在精神食粮的获取上起到大大小小的作用。

在网络发表小说不管对读者还是对小说作者都是有直接好初的,对于读者来说不光在网络上迅速得到作者最新发表的小说,而对于小说读者来说把作品发表在网络上他能以最快的速度获得到读者对作品的意见。这样作者可以最快的修改错误为书籍的出版做好准备。这样便捷的交互方式,即通过先进的计算机和网络技术,克服地域的限制。作者和读者之间直接的交流。

1.2关于小说网站的设计与实现

对于开发的小说网站来说其实是建立在HTTP开放的网络标准之上的,采用浏览器/服务器(B/S)模式,使读者在系统的前台方便阅读小说的一个小说系统。

系统的表示层用WEB方式实现,具有安全性和开放效率;数据用微软数据库系统:ACCESS,以提高数据可用的效率和数据的完整性。

1.3 系统开发工具选用及简介

Active Server Pages动态服务器网页,一般简称为ASP”,ASP之所以能受到大家的重视与使用的原因,主要在于所产生的执行结果都是标准的HTML格式,而且这些程序是在网络服务端中执行,使用一般的浏览器(如IE Netscape)都可以正确地获得ASP执行结果,并且将这ASP执行的结果直接在浏览器中浏览

ASP.NET构架可以使用Microsoft公司的最新产品 Visual Studio开发软件进行开发,因为ASP.NET是基于通用语言(如C#VB)进行编译运行的程序,所以它所具有的强大性和适应性,ASP.NET可以使完成一些常用的任务如客户端的身份信息验证、单个表单的提交、数据搜索和网站配置变得更加简单。

ACCESS 微软提供的Access拥有一套功能强大的应用工具,其完善程度以满足专业开发人员的需要。虽然如此,新手也能十分容易的学习和掌握该产品。通过创建或使用强大的数据库解决方案,你能够更为轻松的组织、访问和共享信息资源。通过A冲厕所时可以访问和使用来自不同资源的信息,在熟悉的界面下使用格式和来自程序的信息。合并大量数据资源。Access支持多种数据格式,包括扩展语言(xml)、ole、开放式数据库连接(odbc)和microsoft windows sharepoint services。链接各种雨雾系统。通过表格的链接,你可以再access 窗体、报表和数据访问页面中同时访问多个 数据库的数据。它还能够将来自其他microsoft access数据库、microsoft excel电子表格、odbc数据源、sql server数据库以及其他的数据库资源的表格进行链接。充分利用企业数据。Sql sever数据被整合到你的access解决方案中。你不需要学习任何transaction-sql,就可以通过 stored procedure designer(存储过程设计器)创建和修改存储在sql sever中的捡到存储过程。

DREAMWEAVER 是美国macromedia公司开发的集网页制作和管理网站于一身的网页编辑器,它是第一套针对专业网页设计师特别发展的可视化网页开发工具,利用它可以轻而易举的制作出跨越平台限制的网页。 Dreamweaver界面灵活,代码简洁,并且支持用户模版,开发使用户在短时间内构建出个性化的网页,收到众多网站建设与管理人士的钟爱。它与fireworksflash一起,并称为网页制作三剑客,已经为网页设计必不可少的优秀工具之一。



2 小说阅读网站的总体分析与设计

小说网站是一个信息交流的平台,小说网站提供平台小说作者和读者之间相互交流,方便快捷的信息获取方式得到人们的青睐。从读者对小说网络的需求入手,逐步分析各个模块,进行系统模块设计、数据库的设计,然后实现一个模块,最后呈现一个完整的网络小说。

2.1网站系统分析于功能简介

本小说阅读网站目标在于为读者和小说提供信息交流的平台,首先小说网站能够及时发布最新的小说作品信息并得到及时的反馈;其次小说网站留言板模块促进读者与小说作者及网站管理人员之间的交流与促进;同时小说网站本身能得到读者与小说作者反馈的信息同时促进网站的改进,能够加强三方面的了解和合作;并且小说后台管理方面的提供给小说管理人员方便的操作。

对于本小说阅读网站主要分为前台和后台两大的系统。小说前台主要是读者看到的这一部分,而小说后台则是为小说管理人员对网站上的内容进行添加、删除、修改操作。下面是对两个模块的分析;

小说前台部分答题分为新到小说、今日更新、公告、原创小说、精彩推荐、用户推荐、用户登录、文章搜索和各分类小说模块具体功能如下;

新到小说模块主要是你介绍费网游类各类新到小说的一个提示,对新读者的一种提示,小说可以在各类小说中找到;

今日更新模块大体主要是对连载小说的更新;

网站公告是向读者发布一些小说及文学界的信息;

原创小说模块主要发布一些短篇这类额小说。主要是网游直接向管理员提供;

精彩推荐模块主要是网站管及读者提供的好的小说网站;

用户模块主要是对在本网站注册的用户提供更多的符文,对有一些加密的小说可以直接阅读;

文章搜索主要是对不熟悉本网站的读者方便在网站搜索小说。

小说后台管理部分失地网站管理员提供的系统,主要包括小说操作、公告、留言、公员的管理,个模块具体功能如下;

小说操作模块主要是对前台小说的添加、删除、修改操作;

公告和留言板模块主要是上传公告和管理员对留言的批复;

会员管理模块式管理员对注册网站的用户一些阅读权限的操作。

2.2 系统功能模块设计

系统模块大体设计 根据以上对asp小说阅读网站系统的功能分析,得到如图1的系统功能模块图

前台系统

新到小说

原创小说

用户登录

小说公告

精彩链接

后台系统

小说管理

公告管理

链接管理

注册用户管理

系统管理

1小说网站系统功能模

系统模块功能集合具体设计 在上节功能模块的描述,能很方便的看出小说系统的布局,每一个功能模块都需要针对不同的表完成不同的数据库操作。下面简单的接受了每个模块的具体功能和用途;

网站公告模块:主要是对小说网站的一些信息的发布。

栏目信息:包括栏目编号、栏目名称、栏目所属编号、栏目排版顺序、栏目链接地址、栏目添加时间等。

小说公告:包括公告编号、公告名称、公告内容、公告发布者、公告点击率等等。

友情链接信息:包括友情链接编号、友情链接的名称、友情链接的网站、点击率等等。

小说信息:包括小说信息编号、小说信息标题、小说信息内容、小说信息的作者、小说信息的加入时间、关键字等等。

留言信息:留言编号、留言者性别、留言主题、留言内容等等。

在小说后台管理中,没一处管理都是对应前台的每一个模块,这样做到不出现不必要的错乱和差错。

2.3 数据库设计

数据库是一个系统最中意的后勤保障,数据库的结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响,合理的数据库结构可以提高数据的效率,保证数据的完整和一致。同时,合理的数据库结构也将有利于程序的实现。

目前和asp配套使用的数据主要有sql server2000accessexceldb2sybaseoracle等,其中aspsql sever2000 是微软提供给企业及个人用户的完美组合,无论速度和安全性都不错,access现实被普片的应用于个人网站的建立方面。

对于小型的网站来说由于access移植非常方便,只有提供asp环境及access数据库连接的驱动,代码法制到asp服务器的相关目录下就可以使用,而不用修改任何设置,几月本远程教学系统的移植方便性和现有条件下asp服务器几乎全部为windows系统的考虑,所以本系统将采用access数据库进行开发。

在本系统中安全性能非常好,所以用户和管理远的密码都是通过现在应用十分广泛但是又没有可逆操作的md5加密方法,即使从源文件中直接查看密码也都得16位(着了采用16位加密)的英语和数字的组合,看到也无猜解其真实密码;另外上传文件时采取验证码文件扩展名,防止任何asp从后台被上传带网址上而破坏文件。

创建数据库 根据数据库的分析和系统功能要求在access中创建数据库,本数据库以access2003为基础,创建一个名字jdxs的数据库。这样就可以再数据库中创建各个应用表了。

数据可逻辑结构设计 数据库jdxs包含以下过几个表:系统管理信息表(admin)、小说分类表(sort)、具体小说内容表(info)。小说用户注册表(jdxs—user)、公告表(announce)、精彩链接呢表(friendlink)、留言表(words)。

首先创建一个数据表来存储网站管理员的学习,在添加管理时只能在后台操作。

编号 字段名称 数据类型 说明

1 id 自动编号 主键

2 username 文本 管理员名

3 password 数字 密码

4 oskey 高级/中级/ 管理员类别

初级

Sort表主要是为了后台中导航而设计,根据点击不同的小说有不同的sortの,这样在地址栏上现实不同的链接而得到不同的小说。

编号 字段名称 数据类型 说明

1 id 自动编号 主键

2 names 文本 名称

3 B_id 数字 所属于的大类

4 s_order 数字 排序

5 setting 文本 图文 简明 多项 单页

6 blank / 是否在新的窗口打开

7 daohang 文本 一级导航的排序

8 tuijian / class里是否显示推荐图文

9 indexshow / 是否在首页显示最新的文章

10 hide / 是否隐藏一级栏目

11 info 备注 单页里的内容

12 explain 文本 对栏目的简短说明

13 addtime 日期/时间 加入时间

14 hit 数字 点击率

Sort表基本包括了小说数据中用到的大部分值,只要在此表中搜索便可以应用。

Info表主要是小说内容的一些信息。

编号 字段名称 数据类型 说明

1 id 自动编号 信息编号

2 title 文本 标题

3 content 备注 信息内容

4 sort1 数字 一级栏目号

5 sort2 数字 二级栏目号

6 Ispic 数字 12

7 pic 备注 图文

8 key 文本 关键字

9 hits 数字 点击率

10 date 时期/时间 修改或添加的时间

11 writer 文本 作者

12 writefrom 文本 作品出处

13 author 文本 加入的管理员

14 adddate 日期/时间 加入的时间

15 readgrade 数字 阅读等级

16 pw good / 推荐

17 pass 数字 是否通过

18 special 数字 读者观看级别

Info表主要是用于后台上传小说,对小说的一些设置,相应的增加时间作者等都在表中有体现,子啊小说前台会自动产生,通过此表的设置还能对小说的观看级别设置,比如可以设置成只有vip用户可以观看一类小说。

Announce(小说公告表)

编号 字段名称 数据类型 说明

1 id 自动编号 公告标号

2 title 文本 题目

3 time 日期/时间 加入时间

4 content 备注 内容

5 admin 文本 加入的管理员

6 hits 数字 点击率

为了 存储留言者的留言信息,建立信息表

编号 字段名称 数据类型 说明

1 id 自动标号 留言编号

2 name 文本 留言者姓名

3 sex 文本 性别

4 email 文本 email

5 title 文本 留言主题

6 words 备注 留言内容

7 date 日期/时间 提交时间

8 rreply 备注 管理员回复内容

9 view 数字 查看次数

Words的建立主要是面向留言者的,通过此表把留言者的一些基本信息都记录下来,这样有利于管理员对留言者的留言做出判断是否回复。

为了存储友情链接信息,建立友情链接信息表

编号 字段名称 数据类型 说明

1 name 文本 文章的名称

2 browse 数字 被浏览的次数

3 content 备注 文章的内容

4 sort 文本 文章所属的章节

5 date 日期/时间 文章的发布日期

系统中还有于上述表中相似的数据表,由于篇幅的限制就不在此一一列出。

3 小说阅读网站系统的具体实现

3.1 系统全局程序文件的设计

对于任何软件来说对于全局变量的设计都能使程序更加的简明了化,而基于asp的程序设计业尤为重要,程序的函数化、模块化设计更能使程序在运用上得到方便的使用。在程序设计的过程中如果要用到此函数只需要在文件的头部把此文件包含进来,通过调用就可以很方便地使用了。

下面我们简单地了解一下这几个程序的内容以及这几个文件早整个系统中的作用:

Jaxs_setup.asp文件 主要是序的具体标题的设计,在程序中任何一个要用到下面的语句只要在<% %>中加入等号前面的语句可以方便的得到应用。其程序语句如下:



3 小说阅读网站概要设计

该小说网站分为读者、作家和管理员三类用户,下面分别对他们的功能进行介绍:

3.1 读者功能模块

该小说网站的设计对象就是读者,网站用户分为三类,读者是最众多的一类用户。读者在注册并登录网站后,可以实现搜索小说、阅读小说、下载小说、对小说投票、参与讨论等功能,具体如图3-1所示。

3-1读者功能层次图

3.2 作家功能模块

作家是小说网站小说的提供者,一个小说网站只有有了优秀的作家,优秀作家提供的优秀作品才能吸引更多的读者来到该网站。作家可以以一个读者的身份使用读者所有的功能,同时作家还可以上传小说以及对已经上传的小说章节进行更新,作家的功能具体如图3-2所示。

3-2作家功能层次图

3.3 管理员功能模块

管理员的作用是维护一个网站的所有信息,使网站能够安全正常的运行,在该网站中,管理员主要对读者信息、作家信息、小说信息以及所有用户的评论信息进行管理。管理员的主要功能如图3-3 所示。

3- 3管理员功能层次图

3.4 局部数据库数据表设计

本网站根据系统需求以及实际需要,共创建了18个数据表,下面分别详细介绍这18张数据表,其实它们可以分为用户信息和小说信息两大类。

1.组别信息表(groupInfo

组别信息表存放的是用户类型信息,其中groupIDyonhu中的groupID对应。它的结构如表3-1所示。

3-1 groupInfo 的数据字段

字段名称

字段类型

主键

外键

缺省值

允许为空

描述

groupID

Char(1)

/

/

组别号

groupName

Varchar(10)

/

/

/

组别名

2.用户信息表(yonhu

用户信息表记录了管理员、作家和普通用户三类用户的相关信息,因为登录一定会使用用户名和密码进行验证,且密码可以改而用户名不能改,所以设置用户名为主键,它的结构如表3-2所示。

3- 2 yonhu的数据字段

字段名称

字段类型

主键

外键

缺省值

允许为空

描述

username

nchar(10)

主键

/

/

用户名

psw

nchar(10)

/

/

/

密码

Emai

ntext

/

/

/

邮箱

novelcoin

Int

/

/

/

小说币

safepath

ntext

/

/

/

路径

groupID

Chr(1)

/

/

/

组别号

3.小说分类表(noveltype

小说分类表记录了小说的各种类型以及与其对应的id号,其中表noveltype中的typeID与表小说信息表(novelInfo)中的typeID对应。该表的具体数据结构如下表3-3所示。

3- 3 noveltype的数据字段

字段名称

字段类型

主键

外键

缺省值

允许为空

描述

typeID

Char(1)

/

/

组别号

typeName

Varchar(10)

/

/

/

组别名

4.作家信息表(zuojia

作家信息表记录了所有签约作家的作品信息,它和用户信息表以及小说信息表有着交集,但不同的是它将作家单独列举出来,并记录作家的主要作品,通过该表可以方便读者通过作家寻找的他要搜索的小说,它的结构如表3-5所示。

3- 5 zuojia数据字段

字段名称

字段类型

主键

外键

缺省值

是否为空

描述

Writer

Nchar(10)

主键

/

/

作家姓名

Psw

Nchar(10)

/

/

/

密码

Novel1

Ntext

/

/

/

作品1

Novel2

Ntext

/

/

/

作品2

Novel3

Ntext

/

/

/

作品3

Email

Ntext

/

/

/

邮箱

5.小说信息表(novelInfo

小说信息表记录了本网站的所有签约小说,对小说进行了分类,存储了小说的推荐票数、收藏票数以及点击数,给出了小说路径,它的结构如表3-4所示。

3- 4 novelInfo的数据字段

字段名称

字段类型

主键

外键

缺省值

允许为空

描述

NovelID

Int

主键

Novelname

Nchar(10)

/

外键

/

小说名

Writer

Nchar(10)

/

/

/

作者

Adress

Ntext

/

/

/

地址

Click

Int

/

/

/

点击量

Image

Ntext

/

/

/

图片

Introduce

Ntext

/

/

/

小说介绍

typeID

char(1)

/

/

组别号

Shoucang

Int

/

/

/

收藏票数

Tuijian

Int

/

/

/

推荐票数

Yuepiao

Int

/

/

/

月票

Path

Ntext

/

/

/

路径

6.管理员信息表(manager

管理员信息表记录了管理员的信息,只有用户名和密码两个字段,这个数据表不作为查询使用,主要是为了可以更加方便地知道管理员用户名和密码,它的结构如表3-4所示。

3- 6 manager数据字段

字段名称

字段类型

主键

外键

缺省字段

是否为空

描述

Name

Nchar(10)

主键

/

/

用户名

Psw

Ntext

/

/

/

密码

7.章节信息表(zhangjie

章节信息表记录了小树网站所有小说的章节信息,zhangjie表中的NovelID与小说信息表novelInfo表中的NovelID对应。该表的数据结构如表3-7所示。

3- 7 zhangjie的数据字段

字段名称

字段类型

主键

外键

缺省字段

是否为空

描述

Zhangjie

Ntext

/

/

/

小说章节

NovelID

Int

主键

/

/

/

小说编号



4 小说阅读网站详细设计与实现

4.1 开发工具的选用及介绍

由于ASP.NET具有强大性、适应性、简单性和易学性等最新特性,本小说网站的设计选用基于ASP.NET技术的Visual studio 2010 SQL server 2008 ,其中Visual studio 2010 作为开发平台,而SQL server 2008为后台数据库,它们均为最新软件版本,使用的操作系统为Windows7

1. Visual studio 2010

Visual Studio是目前最为流行的应用程序开发环境(软件平台),它是由微软公司新近推出的。Visual Studio 2010将它的集成开发环境(IDE)的界面进行了重新组织和设计,使得软件程序的开发更加简单清晰。它是经典的一个版本,而且它可以自定义开始页;新功能还包括:支持大多数显示器; C# 4.0中的动态编程和类型; 使用Visual Studio 2010的特性支持时分双工; 支持Office Quick Search特性等九种。 

2. SQL server 2008

基于SQL结构化查询语言的数据库主要有SQL Server 2000SQL Server 2005SQL Server 2008.其中SQL Server 2008是至今为止功能最强大最全面的产品版本,它对于以前的版本进行了关键的改进,又增加了许多新的特性,可以概括为三点:可信任、智能和高效。

4.2 登录和注册功能模块

4.2.1 登录功能模块

登录模块使已注册用户通过用户名和密码登小说网,从而享有诸如下载小说、参与小说讨论、投票等未登录读者所没有的功能,本网站的登录很简单,没有单独的页面,而是设置在网站首页的顶端,也即模板页的顶端,用户登录前后模板将发生改变,登录界面如下图所示。

4- 1登录模块界面

上图是未登录时的模板,在登录后模板将发生变化,例如用户张三登录了该网站,登录后的界面如下图4-2所示。

4- 2 张三登录网站后的界面

登录模块的主要代码如下:

protected void loginBtn_Click(object sender, EventArgs e)

{ connection.Open(); //打开数据库连接

SqlCommand Command = new SqlCommand(); //新建command对象

Command.CommandText = "select * from 搜书 where 小说名='" + this.TextBox3.Text + "'"; //定义command SQL语句

Command.Connection = connection; //定义command对象数据库连接

SqlDataReader Dr; //定义记录集对象Dr

Dr = Command.ExecuteReader(); //执行SQL语句

if (Dr.Read()) //如果Dr中有数据则执行

{

Session["xiaoshuoID"] =this.TextBox3.Text; //文本框中数据赋给Session

Session["zuozhe"] = Dr["作者"].ToString();//同上

Session["Image"] = Dr["图片"].ToString();//同上

Session["introduce"] = Dr["介绍"].ToString();//同上

Session["adress"] = Dr["地址"].ToString();//同上

Response.Redirect("小说首页.aspx"); //跳转到小说首页界面

Dr.Close(); //关闭记录集对象Dr

connection.Close(); //关闭连接

}

}

4.2.2 注册功能模块

注册它使得用户可以对该网站申请用户名和密码,注册流程如下图:

4- 3 注册流程图

该模块用于读者注册该小说网站的用户,在注册时,用户必须输入用户名和密码,邮箱为选填项,用户注册需要选择是否以该用户名注册小说阅读网作家,选择否即注册为普通用户,选择是该用户将成为小说阅读网作家,用户注册页面如下图4-4所示。

4- 4注册模块的界面

该模块功能实现的主要代码如下:

protected void RegisterBtn_Click(object sender, EventArgs e)

{

//通过控件获得用户输入信息

string str1="insert into yonhu(username,psw,Email,shizuojia)values('" + name + "','" + psw + "','" + email + "','"+"shi"+"')";//定义插入SQL语句

connection.Open();//打开连接

SqlCommand myCommand = new SqlCommand(); //定义command对象

myCommand.CommandText = str1;//确定command对象SQL语句

myCommand.Connection = connection;//确定command对象数据库连接

if (TextBox2.Text == TextBox3.Text)//如果密码与重复密码相同

{

if (RadioButton1.Checked == true)//如果选择以该用户名注册网站作家

{ myCommand.ExecuteNonQuery();//执行插入操作

}

Response.Write("");//弹出注册成功窗口

}

else

{

Literal2.Text = "*重复密码出错*";

}

connection.Close(); //关闭连接

}

4.3 密码修改功能模块

修改密码可以使用户为了方便记忆而改掉之前的密码,这也大大提高了用户的安全性保障。修改密码步骤如下:

1. 输入原密码

2. 输入新密码:

3. 重复输入新密码;

4. 点击确认提交;

5. 提交失败重复上述操作。

在本网站中,密码修改功能在个人主页中实现,用户需先登录该网站,然后进入个人主页,点击密码修改按钮进行修改操作。密码修改模块的界面如图4-5所示。

4- 5密码修改界面

该密码修改模块的流程图如图4-6所示。

4- 6 密码修改流程图

其主要实现代码如下:

protected void PswChangeBtn_Click(object sender, EventArgs e)

{

SqlCommand myCommand = new SqlCommand(); //定义command对象

myCommand.CommandText = "select * from yonhu where username='" + Session["用户名"] + "'and psw='"+this.TextBox2.Text+"' ";//定义查询语句

myCommand.Connection = connection;//定义command对象数据库连接

connection.Open();//打开数据库连接

SqlDataReader Dr; //定义记录集对象

Dr = myCommand.ExecuteReader();//执行查询操作

if (Dr.Read())//如果记录集Dr中有数据则执行

{ if (this.TextBox3.Text == this.TextBox4.Text)//如果新密码等于重密码

{ Dr.Close(); //关闭连接

SqlCommand myCommand1 = new SqlCommand(); //定义command对象

myCommand1.CommandText = "update yonhu set psw='" + this.TextBox3.Text +

"' where username='" + Session["用户名"] + "' ";//定义SQL语句

myCommand1.Connection = connection; //定义command对象数据库连接

myCommand1.ExecuteNonQuery(); //执行更新操作

Response.Write("");//提示成功

}

else Response.Write("");//提示出错

}

else Response.Write("");//提示出错

connection.Close();//关闭连接

}

4.4 阅读和搜索小说模块

4.4.1 阅读小说功能模块

登录该网站的读者可以通过阅读小说功能对小说进行阅读,读者可以通过点击页面小说弹出小说首页然后点击阅读小说进行阅读,也可以通过先搜索到小说然后执行同样的操作来阅读小说,一般情况下,阅读小说的流程如图4-7所示。

4- 7小说阅读流程图

阅读小说功能由三个界面组成,如图4-8小说首页界面、图4-9小说章节界面和图4-10小说正文界面。

4- 8小说首页界面

4- 9小说章节界面

4- 10小说正文界面

该功能的主要代码如下:

protected void Page_Load(object sender, EventArgs e)

{ string fs =" WebSite2\word\"+Session["adress"].ToString()+"\\" + Session["title"].ToString() + ".txt";//将文件地址赋值给字符串fs

StreamReader m_streamReader = new StreamReader(fs, System.Text.Encoding.GetEncoding("gb2312"));//定义文件流

m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);//读取文件

this.Label2.Text = "";

string strLine = m_streamReader.ReadLine();//将文件流中的数据第一行读入

while (strLine != null)//如果数据没有读完

{ this.Label2.Text += strLine + "\n";//将数据循环赋值给Lable1

strLine = m_streamReader.ReadLine();//将文件流的数据赋值给strLine

}

Label3.Text = Session["title"].ToString();//读取session中的数据

m_streamReader.Close();//关闭数据流对象

}

}

4.4.2 搜索小说功能模块

在本网站中,有多个页面都能进行小说搜索的操作,主要是在首页以及个人主页,为了方便读者快速方便的找到小说,该网站为用户提供了三种方法,用户可以分别从小说名、小说作者以及小说类型进行搜索,点击搜索菜单,如果在数据表中找到指定小说将会在单独页面进行显示,然后用户点击阅读即可进行小说阅读。

搜书是为了使读者更加方便快捷的找到自己想要阅读的小说,搜书功能模块的界面如图4-11所示。

4- 11搜书界面

该功能实现的主要代码如下:

protected void SoushuBtn_Click(object sender, EventArgs e)

{ connection.Open();//打开数据库连接

SqlCommand Command = new SqlCommand();//定义command对象

Command.CommandText = "select * from 搜书 where 小说名='" + this.TextBox3.Text + "'";//定义Command的方法

Command.Connection = connection;//定义Command的数据库连接

SqlDataReader Dr;//定义记录集对象Dr

Dr = Command.ExecuteReader();//执行查询操作

if (Dr.Read())//如果Dr中有数据就执行

{ //将文本框中的数据赋值给session

Session["xiaoshuoID"] =this.TextBox3.Text;

Session["zuozhe"] = Dr["作者"].ToString();//同上

Session["Image"] = Dr["图片"].ToString();//同上

Session["introduce"] = Dr["介绍¦"].ToString();//同上

Session["adress"] = Dr["地址"].ToString();//同上

Session["yuepiao"] = Dr["月票"].ToString();//同上

Session["tuijianpiao"] = Dr["推荐票数"].ToString();//同上

Session["shoucanpiao"] = Dr["收藏票数"].ToString();//同上

Session["safepath"] = Dr["safepath"].ToString();//同上

Response.Redirect("小说首页.aspx");//跳转到小说首页界面

Dr.Close();//关闭记录集

connection.Close();//关闭数据库连接

}

}

4.5小说讨论功能模块

小说讨论模块是为了增强读者与作者之间的沟通,讨论模块界面如图4-12

4- 12 讨论界面

代码如下:

4.6 小说投票和下载功能模块

4.6.1 小说投票功能模块

投票功能是为了让读者自己选出好的小说,网站将会根据票数更新小说排行榜,读者就可以根据排行榜来选择要看的小说,投票模块的界面如图4-13

4- 13投票模块界面

该模块功能实现的主要代码如下:

protected void Toupiao_Click(object sender, EventArgs e)

{ if(Session["用户名"].ToString()!="")//判断读者是否登录网站

{ int d = (int)DR["月票"] + 1;//将数据表中月票字段值加1赋值给d

DR.Close();//关闭数据库连接

SqlCommand Command2 = new SqlCommand();//定义command对象

Command2.Connection = connection;//定义Command2的数据连接

Command2.CommandText = "update 搜书 set 月票='" + d + "' where 小说名='" + Session["xiaoshuoID"] + "' ";//定义Command2的更新语句

Command2.ExecuteNonQuery();//执行更新操作

//提示投票成功

Response.Write("");

connection.Close();//关闭数据库连接

}

}

//提示用户小说币不足

Else Response.Write("");

}

4.6.2 小说下载功能模块

下载小说是为了方便读者,它是小说阅读网站必不可少的一项功能,小说下载的界面如图4-14所示:

4- 14小说下载界面

实现小说下载功能的主要代码如下:

protected void Xiazai_Click(object sender, EventArgs e)

{

if (Session["用户名"].ToString() != "")//判断读者是否登录

{

DownLoadFile(Session["path"].ToString());//调用下载函数

}

//如果读者未登录则提示请先登录

else Response.Write("");

}

//定义下载函数

void DownLoadFile(string filename)

{ Response.Clear();//清除缓冲区中的所有HTML输出

Response.Buffer = true;

Response.Charset = "utf-8";//设置输出流的HTTP字符集

//attachment参数表示作为附件下载

Response.AddHeader("Content-Disposition","attachment; filename="+HttpUtility.UrlEncode

(filename,System.Text.Encoding.UTF8));

//设置输出流的HTTP MIME类型

Response.ContentType="application/octet-stream";

Response.WriteFile(filename);//把文件流发送到客户端

Response.End();

}

4.7文件上传功能模块

在这里上传文件主要体现在作家上传小说和小说章节,它体现在作家专区界面,如下图4-15所示:

4- 15作者专区界面

该功能实现的主要代码如下:

protected void btnFileUpload_Click(object sender, EventArgs e)

{

if (FileUpLoad1.HasFile) //判断文件是否小于10Mb

{ if (FileUpLoad1.PostedFile.ContentLength < 10485760)

{

try { FileUpLoad1.PostedFile.SaveAs(Server.MapPath("~/word/tianchen/")+ FileUpLoad1.FileName); //上传文件并指定上传目录的路径 Literal1.Text = "上传成功!";

}

catch (Exception ex)

{

Literal1.Text = "出现异常,无法上传!"; //lblMessage.Text += ex.Message;

}

}

Else Literal1.Text = "上文件不能大于10MB!"

}

else Literal1.Text = "尚未选择文件!"

}

4.8用户信息及小说信息管理功能模块

4.8.1 用户信息管理功能模块

用户信息管理界面如图4-16所示:

4- 16用户信息管理界面

实现该功能的主要代码如下:

protected void YonhuManage_Click(object sender, EventArgs e)

{ connection.Open();//打开数据库连接

SqlCommand Command = new SqlCommand();//定义command对象

Command.CommandText = "select * from yonhu where username='" + this.TextBox13.Text + "'";定义CommandSQL语句

Command.Connection = connection;

SqlDataReader Dr;//定义Command数据库连接

Dr = Command.ExecuteReader();//执行查询操作

if (Dr.Read())//如果记录集中有数据

{ Literal2.Text = "*该用户名已存在*";

Dr.Close();

connection.Close();//关闭连接

}

else

{ connection.Close();

connection.Open();//打开连接

SqlCommand myCommand = new SqlCommand();

myCommand.CommandText = "insert into yonhu(username,psw ,Email,novelcoin)values('" + this.TextBox13.Text + "','" + this.TextBox14.Text + "','" + this.TextBox15.Text + "','" + this.TextBox16.Text + "')";

myCommand.Connection = connection;

myCommand.ExecuteNonQuery();//执行插入操作

Response.Write("");

}

connection.Close();

}

4.8.2 小说信息管理功能模块

小说信息管理界面如图4-17所示:

4- 17 小说信息管理界面

实现该功能的主要代码如下:

protected void NovelManage_Click(object sender, EventArgs e)

{ connection.Open();//打开连接

SqlCommand Command = new SqlCommand();

Command.CommandText = "select * from 搜书 where 小说名='" + this.TextBox7.Text + "' and 作者='"+this.TextBox8.Text+"'";

Command.Connection = connection;

SqlDataReader Dr;//定义记录集对象

Dr = Command.ExecuteReader();//执行查询操作,并将查询结果赋值给记录集Dr

if (Dr.Read())//如果Dr中有数据

{ Literal2.Text = "*该记录已存在*";

Dr.Close();

connection.Close();//关闭连接

}

else

{ connection.Close();

connection.Open();//打开连接

SqlCommand myCommand = new SqlCommand();

myCommand.CommandText = "insert into 搜书(小说名,作者 ,点击,收藏票数,推荐票数,月票)values('" + this.TextBox7.Text + "','" + this.TextBox8.Text + "','" + this.TextBox9.Text + "','" + this.TextBox10.Text + "','" + this.TextBox11.Text + "','" + this.TextBox12.Text + "')";

myCommand.Connection = connection;

myCommand.ExecuteNonQuery();//执行SQl(插入)语句

Response.Write("");

}

connection.Close();//关闭连接

}



5 小说阅读网站功能测试

5.1用户注册功能测试

5-1注册测试用例表

测试1描述

注册模块

用例目的

测试能否正确注册用户

前提条件

输入操作

期望输出

实际情况

示例1:输入用户名:张三

密码:123

重复密码:123

邮箱:932581474@qq.com

示例2:输入用户名:admin

密码:234

重复密码:233

邮箱:932581478@qq.com

示例3:输入用户名:ask

密码:

重复密码:

邮箱:932581448@qq.com

示例4:输入用户名:bkb

密码:555

重复密码:555

邮箱:932581478@qq.com

示例5:输入用户名:jacorot

密码:444

重复密码:444

邮箱:932581479@qq.com

示例1:提示该用户名已存在

示例2:提示重复密码错误

示例3:提示输入密码

示例4:成功注册,弹出注册成功对话框

示例5:成功注册,弹出注册成功对话框

与期望的输出情况一致

5.2用户登录功能测试

5-2用户登录用例图

测试2描述

登录模块

用例目的

测试能否正确登录网站

前提条件

输入操作

期望输出

实际情况

示例1:输入用户名:张三

密码:

示例2:输入用户名:admin

密码:234

示例3:输入用户名:

密码:123

示例4:输入用户名:李四

密码:88

示例5:输入用户名:观棋

密码:12345

示例1:提示用户名或密码错误

示例2:提示用户登录成功

示例3:提示请输入用户名

示例4:提示登录成功,转到管理员界面

示例5:提示登录成功,点击作者专区进入作家主页

与期望的输出情况一致

5.3 密码修改功能测试

5-3密码修改用例图

测试3描述

密码修改模块

用例目的

测试能否正确修改密码

前提条件

输入操作

期望输出

实际情况

示例1:输入旧密码:

新密码:321

重密码:321

示例2:输入旧密码:123

新密码:32

重密码:321

示例3:输入旧密码:123

新密码:

重密码:

示例4:输入旧密码:124

新密码:321

重密码:321

示例5:输入旧密码:123

新密码:321

重密码:321

示例1:提示请输入旧密码

示例2:提示重复密码出错

示例3:提示请输入新密码

示例4:提示旧密码输入错误

示例5:提示密码修改成功

与期望的输出情况一致

5.4 小说阅读功能测试

5-4阅读小说功能模块用例图

测试4描述

阅读小说功能模块

用例目的

测试能否正常阅读小说

前提条件

输入操作

期望输出

实际情况

示例1:打开小说天辰首页,点击阅读小说,点击目录第一章阅读

示例2:打开小说长生不死首页,点击阅读小说选项,点击目录第二章节阅读

示例3:打开小说代嫁皇妃首页,点击阅读小说,点击目录第一章阅读

示例4:打开小说步步惊心首页,点击阅读小说,点击目录第一章阅读

示例1:先弹出天辰小说目录,然后弹出天辰小说正文

示例2:先弹出长生不死小说目录,然后弹出长生不死小说正文

示例3:先弹出代嫁皇妃小说目录,然后弹出代嫁皇妃小说正文

示例4:先弹出步步惊心小说目录,然后弹出步步惊心小说正文

与期望的输出情况一致

5.5小说搜索功能模块测试

5-5搜索小说功能模块用例图

测试5描述

搜索小说功能模块

用例目的

测试能否正常搜索小说

前提条件

输入操作

期望输出

实际情况

示例1:在搜索框中输入天辰,点击搜索

示例2:在搜索框中输入长生不死,点击搜索

示例3:在搜索框中输入桐华,点击搜索

示例4:在搜索栏中输入观棋,点击搜索

示例1:弹出天辰小说的首页

示例2:弹出长生不死小说的首页

示例3:弹出步步惊心小说的首页

示例4:弹出长生不死小说的首页

与期望的输出情况一致

5.6小说讨论功能模块测试

5-6小说讨论功能模块用例图

测试6描述

小说讨论功能模块

用例目的

测试能否正常参与小说讨论

前提条件

输入操作

期望输出

实际情况

示例1:在文本框中输入“ok”,点击发表

示例2:在文本框中输入“长生不死”,点击发表

示例3:在文本框中输入“ok”,点击发表

示例4:不在文本栏中进行输入,点击发表

1:显示发表内容“ok”,并显示发表用户

示例2:显示发表内容“长生不死”,并显示发表用户

示例3:弹出如要发表需先登录网站提示窗口

示例4:弹出发表内容不能为空提示

与期望的输出情况一致

5.7 小说下载功能模块测试

5-7下载小说功能模块用例图

测试4描述

下载小说功能模块

用例目的

测试能否正常下载小说

前提条件

输入操作

期望输出

实际情况

示例1:登录网站后在天辰小说首页点击下载小说按钮

示例2:登录网站后在长生不死小说首页点击下载小说按钮

示例3:登录网站后在步步惊心小说首页点击下载小说按钮

示例4:未登录网站情况下在天辰小说首页点击下载小说按钮

示例1:成功下载小说天辰,弹出下载成功窗口

示例2:成功下载小说长生不死,弹出下载成功窗口

示例3:成功下载小说步步惊心,弹出小说下载成功窗口

示例4:弹出欲下载小说请先登录网站的窗口

与期望的输出情况一致

5.8 小说投票功能模块测试

5-8小说投票功能模块用例图

测试4描述

小说投票功能模块

用例目的

测试能否正常对小说进行投票

前提条件

输入操作

期望输出

实际情况

示例1:点击投推荐票三次

示例2:点击投推荐票

示例3:点击投收藏票三

示例4:点击投收藏票

示例5:点击投月票三次

示例6:点击投月票

示例7:点击投推荐票

示例1:推荐票票数增加三票,弹出三次投票成功窗口

示例2:弹出您的小说币不足提示窗口

示例3:收藏票票数增加三票,弹出三次投票成功提示窗口

示例4:弹出您的小说币不足的提示窗口

示例5:月票票数增加三票,弹出三次投票成功提示窗口

示例6:弹出您的小说币不足提示窗口

示例7:弹出欲给小说投票请先登录网站的提示窗口

与期望的输出情况一致

5.9用户信息管理功能模块测试

5-9 用户信息管理模块用例图

测试5描述

管理员模块

用例目的

测试管理员功能能否正常实现

前提条件

输入操作

期望输出

实际情况

示例1:选中一条用户信息,点击删除

示例2:选中一条用户信息,点击编辑,并在编辑后点击更新按钮

示例3:输入新的用户信息,点击添加新纪录按钮

示例1:该用户信息被删除

示例2:该用户信息被修改

示例3:新的用户记录被存入数据表

示例4:该小说信息被删除

示例5:该小说信息被更改

示例6:新的小说信息被存入数据表

与期望的输出情况一致

5.10小说信息管理功能测试

5-10小说信息管理功能模块用例图

测试5描述

小说信息管理模块

用例目的

测试小说信息功能能否正常实现

前提条件

输入操作

期望输出

实际情况

1:选中一条小说信息,点击删除

示例2:选中一条小说信息,点击编辑,并在编辑之后点击更新

示例3:输入新的小说信息,点击创建新纪录

示例1:该小说信息被删除

示例2:该小说信息被更改

示例3:新的小说信息被存入数据表

与期望的输出情况一致

5.11 文件上传功能测试

6-6作家模块用例图

测试6描述

作家功能模块

用例目的

测试作家模块功能能否实现

前提条件

输入操作

期望输出

实际情况

示例1:选中要上传的小说,点击上传文件

示例2:选中一个图片,点击上传文件

示例3:选中要上传的小说章节,点击上传文件,然后在目录中添加新的章节

示例4:选中一个20M的文件,点击上传

示例1:上传成功,弹出上传成功提示窗口

示例2:提示文件格式不正确

示例3:弹出章节目录更新成功,弹出上传成功提示串口

示例4:提示文件太大

与期望的输出情况一致

5.12测试报告

6-8测试报告表

测试用例名称

测试结果

注册测试

验证正确,成功注册用户

登录测试

验证正确,跳转页面正确

密码修改测试

密码修改成功

阅读小说测试

能够正确弹出小说正文页面进行阅读

搜索小说测试

能够按照输入正确找到小说,跳转页面

小说投票测试

能够正确对小说进行投票

小说下载测试

登录用户能够正确下载小说

小说讨论测试

能够发表个人留言

用户信息管理测试

能够正确对用户信息进行管理

小说信息管理测试

能够正确对小说信息进行管理

文件上传测试

能够正确上传文件



结论

本篇论文主要针对小说网站的设计与实现展开讨论。本人的毕业设计的题目是小说阅读网站设计,该论文围绕着小说阅读网站的使用技术、开发软件、网站设计目标、网站功能的设计与实现加以论述。

本小说阅读网站使用ASP.NET技术,基于C#后台编程语言,在Visual Studio 2010软件开发平台进行开发完成。在该网站中,用户被分为读者、作家和管理员三类。读者在注册用户并登录该网站后可以进行小说阅读、小说搜索、小说投票、小说下载、小说评论以及密码修改等操作;作家作为为读者提供优秀小说作品的一类用户,拥有读者所有的功能,与此之外,作家可以上传自己的最新小说,并且对自己之前上传的小说进行章节更新;管理员与读者以及作家不同,管理员是网站信息的管理者,它负责对该网站所涉及到的一切用户信息和小说作品信息进行管理。

在本小说网站中存在很多的不足,比如小说币的获得,小说的分类,用户个人信息的不足等。在本网站中,小说币由管理员每周给每位读者提供固定的数额,如果好一点的话,应该由读者通过发表评论积攒小说币,这样会增加读者发表评论的积极性。对于小说的分类,本网站将小说分为了历史、穿越、言情、武侠、科幻五大类,分类不够细和明确。而用户个人信息在该网站中只有用户名、密码以及小说币三类,如果优化用户信息则可以为用户添加昵称、图像、登录总计时间等来丰富读者的个人信息。



致谢

在此次毕业论文即将完成之际,由衷的感谢我的指导老师李绘卓,在我松懈时督促我学习,在我遇到难题时耐心地给与我帮助,在我迷茫时不忘给我鼓励,从开题报告的撰写到小说网站的设计,再到写毕业论文,老师一直在不断的关心和帮助着我,让我从一个对动态网页设计基本陌生的初学者成为一个具有一定网站开发能力的爱好者。同时,我也要感谢一直在我身边帮助我的同学们,是他们的帮助让我更好地去完成我的毕业设计。

老师和同学们的帮助让我更加容易的去学习和了解网站开发技术和思想,当然,在毕业设计的过程中,我自己也在不断地去学习,下载相关的书籍,在百度上查找视屏进行观看,去掌握更多的网站开发的技术和技巧。在小说网站的设计过程中我也学到了很多道理,对于一件事物我们要有一个全局观念,而在基础的设计过程中要时刻做到细心和认真。

最后,再次感谢李绘卓老师和同学们的帮助,在今后的工作和学习中我一定会牢记老师的教诲,认真仔细对待工作和学习的每一天。



参考文献

[1]. 蒋朝芳.生产车间物资信息管理系统的设计与实现[D].四川:电子科技大学,2010.

[2]. 李海芸.利用Asp.net开发全国计算机等级考试成绩查询系统[J].甘肃:科技信息,2008.

[3]. 郑艳.“信息技术基础”在线作业批阅系统的设计与实现[J].无锡:无锡职业技术学院学报,2011.

[4]. 傅明丽,李健.基于Asp.net/C#的考生报名信息采集[J].贵州:中国成人教育,2007.

[5]. 张丽;马丽.ASP.NET中用TreeView实现对服务器目录的浏览和设置[J].河南:光盘技术,2008.

[6]. 赵铭建,赵慧,乔孟丽,康梅娟.网页设计与制作[M].东营:中国石油大学出版社,2007.

[7]. 蔡利民.基于XMLWeb数据收集的研究与实现[J].广西:广西工学院学报,2003.

[8]. 刘洁.基于B/S架构的考试系统设计与实现[D].天津:天津大学,2011.

[9]. 林志庆.基于ASP.NET技术的网站管理信息系统设计[J].福建:福建电脑,2010.

[10]. 杨云.搭建一个安全的ASP.NET网站[N].电脑报,2004.

[11]. 金理清.浅析ASP.NET的网站关键技术设计与实现[J].浙江:电脑编程技巧与维护,2009.

[12]. 程聃.基于asp.net网上教育系统地设计与实现[D].成都:电子科技大学,2010.

[13]. Min HuJing Zhang.A Scalability Design of ASP.NET Page Skin[J].Energy Procedia,2011.

[14]. Wen-chao Fan.Based on extended three-tier architecture web disk design[J].Procedia Engineering,2011.

[15]. Mo Jinglin.Design and Implementation of Distance Teaching Platform Based on ASP.NET[J].Energy Procedia,2011.

本文来源:https://www.2haoxitong.net/k/doc/fef2940a4a7302768e993909.html

《小说阅读网站的设计.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式