基于web的新闻发布系统完整论文内容摘要:

3.图片处理模块 : (1)选择图片文件; (2)上传图片文件; (3)存储图片新闻; (4)修改新闻图片; (5)删除新闻图片; (6)在网页中浏览新闻图片。 新闻发布系统 14 4.新闻查询模块 : (1)按照新闻类别分页显示新闻; (2)按照日期分页显示新闻。 5.网友留言模块 : (1)网友对某条新闻发表评论; (2)管理员可以删除新闻评论。 6.系统用户管理功能 : (1)系统用户信息的录入,包括用 户名和密码等信息; (2)系统用户信息的修改; (3)系统用户信息的删除。 第二节 系统功能模块划分 从功能描述的内容可以看到,本实例可以实现 6 个完整的功能。 我们根据这些功能,设计出系统的功能模块,如图 1 所示。 图 1 新闻发布及管理系统功能模块示意图 新闻发布及管理系统的功能模块之间的关系如图 2 所示。 新闻发布及管理系统 新闻类别管理 新闻发布及管理 图片处理模块 新闻查询模块 网友评论模块 系统用户管理 新闻发布系统 15 图 2 新闻发布及管理系统的功能模块关系图 在本系统中,用户管理模块的功能比较简单。 在系统初始化时,有一个默认的 “ 系统管理员 ” 用户 Admin,由程序设计人员手动地添加到数据库中。 Admin用户可以创建用户、修改和删除用户;普通用户则只能修改自己的用户名和密码。 用户管理功能模块的关系如图 3 所示。 图 3 用户管理功能模块的关系图 第三节 系统流程分析 为了使读者进一步了解本实例系统的设计,本小节将对系统进行流程分析。 后台系统 提供数据 新闻类别管理 前台系统 数据库 基本信息发布 新闻图片发布 新闻查询管理 发表网友评论 系统用户信息管理 修改 Admin 用户的密码 创建、修改、删除普通用户信息 修改自身的 Admin 用户 普通用户 新闻发布系统 16 多用户系统的工作流程都是从用户登录模块开始,对用户的身份进行认证。 身份认证可以分为以下两个过程: (1)确认用户是否 是有效的系统用户。 (2)确定用户的类型。 第 1 个过程决定用户能否进入系统。 第 2 个过程根据用户的类型决定用户的操作权限,从而决定用户的工作界面。 本系统分为前台系统和后台系统两个部分。 前台系统不需要进行身份认证,任何人都可以通过浏览器阅读已经发布的新闻、发表网友评论。 后台系统的流程分析如图 4 所示。 Admin 用户拥有所有的权限,普通用户只能对自己发布的新闻进行管理,包括修改新闻内容、删除新闻和删除网友评论。 图 4 后台系统的流程分析 开始 用户登录 失败重试 管理所有用户的信息 管理新闻类别,发布信息,所有新闻信息的管理 管理自己的信息 新闻发布,自己发布的新闻的管理 Admin 普通用户 新闻发布系统 17 第 三 章 数据库结构设计与实现 这一章将介绍系统的数据库表结构和创建表的脚本。 第一节 创建数据库 首先创建一个数据库 news,用来保存本系统的所有数据。 创建数据库的脚本代码如下: CREATE DATABASE news GO 可以在 SQL 查询分析器中执行该语句 ,创建数据库。 第二节 数据库逻辑结构设计 本系统定义的数据库中包含以下 4 个表:新闻类别表 : Category、新闻基本信息表 : News、 网友评论信息表 : Discuss 和用户信息表 : users。 下面分别介绍这些表的结构。 1.新闻类别表 Category 新闻类别表 Category 用来保存新闻类别数据,结构如表 1 所示。 表 1 表 Category 的结构 编号 字段名称 数据结构 说明 1 CateId int 新闻类别编号 2 CateName varchar (50) 新闻类别名称 在设计数据库结构时,很多表都需要设计一个整型字段作为标识列,这几乎已经成为惯例,例如表 Category 中的 CateId 字段。 所谓标识列,就是可以惟一标识一行记录的列,在表中不会存在两条标识列相同的记录。 如果其他表需要引用表 Category 中的数据,则在表中添 加一个 CateId 字段就可以了。 有的程序设计人员习惯于直接使用名称字段作为标识列,例如表 Category 中的 CateName字段。 这样,如果修改 CateName 字段的值,就需要同时修改其他所有表的相应字段的值,从而造成不必要的麻烦。 在系统中, CateId 字段对于用户来说是透明的,用户感觉不到它的存在,也无法对其进行修改。 新闻发布系统 18 2.基本新闻表 News 基本新闻表 News 用来保存网上新闻的基本信息,结构如表 2 所示。 表 2 表 News 的结构 编号 字段名称 数据结构 说明 1 Id int 新 闻编号 2 Title varchar(100) 新闻标题 3 Content text 新闻内容 4 PostTime datetime 提交时间 5 Poster varchar(50) 提交人 6 CateId int 新闻类别编号 7 Attpic bit 是否有图片标记 (0 没有; 1 有 ) 8 Readcount int 阅读次数 在 SQL Server 2020 中,可以使用 char、 varchar 和 text 等 3 种数据类型存储 非 Unicode 字符数据。 char 和 varchar 只能存储最多 8000 个字符,其中 char用于存储固定长度的字符数据, varchar 用于存储可变长度的字符数据。 如果需要存储的数据很大,则可以使用 text 数据类型,例如表 News 中的 Content 字符,因为新闻内容的数据量通常会超过 8000 个字符。 text 数据类型也是可变长度的,最多可为 2147483647 个字符。 3.网友评论信息表 Discuss 网友评论信息表 Discuss 用来保存网友对新闻的评论信息,结构如表 3 所示。 表 3 表 Discuss 的结构 编号 字段名称 数据结构 说明 1 id int 评论编号 2 UserId varchar(20) 评论人名称 3 Posttime sinaildatetime 提交时间 4 Content varchar(4000) 评论内容 5 Newsld int 新闻编号 在 SQL Server 2020 中,可以使用 datetime 和 smalldatetime 两种数据类型存储日期时间数据。 datetime 数据类型用于存储从 1753 年 1 月 1 日到 9999 年 12新闻发布系统 19 月 31 日的日期和时间 数据,精确到 3. 33ms; smalldatetime 数据类型用于存储从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据,精确到分钟。 有些程序员习惯于使用 datetime 数据类型存储日期时间数据,其实在精确度要求不高的情况下,使用 smalldatetime 数据类型是足够了。 4..用户信息表 Users 用户信息表 Users 用来保存用户的基本信息,结构如表 8. 4 所示。 编号 字段名称 数据结构 说明 1 UserId int 用户 ID 号。 2 UserName varchar(50) 用户名 3 UserPwd varcahr(50) 密码 4 Ename varchar(50) 用户姓名 5 Email varchar(50) 电子邮箱 第三节 创建表的脚本文件 本节将介绍创建表的脚本文件,可以在“查询分析器”中执行这些脚本,在数据库 news 中创建表。 1.创建表 Category 创建表 category 的脚本文件为 ,它的代码如下: USE news GO CREATE TABLE Category ( CateId Int IDENTITY PRIMARY KEY, CateName Varchar(50) NOT NULL ) GO 在使用 CREATE TABLE 指令创建表时,应该注意使用 PRIMARY KEY 关键字定义表的主键。 表中每一行的主键都有惟一值,可以使用主键惟一地标识一行数据。 新闻发布系统 20 2.创建表 News 创建表 News 的脚本文件为 ,它的代码如下: USE news GO CREATE TABLE News ( Id Int IDENTITY PRIMARY KEY, Title Varchar(100) NOT NULL, Content Text, PostTime Datetime, Poster Varchar(50), CateId Int, Attpic Int DEFAULT 0, ReadCount Int DEFAULT 0 ) GO 在使用 CREATE TABLE 指令创建表时,应该注意使用 NOT NULL 关键字定义表的未空字段。 使用 NOT NULL 定义的字段将不允许为空,这样就可以避免表中出现无效的数据,影响系统运行。 例如,表 News 中的 Title 字段将不能为空,否则在新闻列表中将出现一个空行。 在使用 CREATE TABLE 指令创建表时,使用 DEFAULT 关键字可以字义字段的默认值,例如表 News 中, Attpic 和 ReadCount 字段的默认值为 0。 3.创建表 Discuss 创建表 Discuss 的脚本文件为 ,它的代码如下: USE news GO CREATE TABLE Discuss ( Id Int IDENTITY PRIMARY KEY, UserId Varchar(20), 新闻发布系统 21 Posttime Smalldatetime, Content Varchar(4000), NewsId Int ) GO 在使用 CREATE TABLE 指令创建表时,通常可以使用 IDENTITY 关键字与PRIMARY KEY 关键字相结合,创建标识字段。 每次增加新记录时,标识字段自动递增。 程序员在编写程序的过程申,无需考虑标识字段的值。 4.创建表 Users 创建表 Users 的脚本文件为 ,它的代码如下: USE news GO CREATE TABLE Users ( UserId Int Primary Key IDENTITY, UserName Varchar(50) NOT NULL, UserPwd Varchar(50) NOT NULL, Ename Varchar(50), Email Varchar(50) ) GO INSERT INTO Users (UserName, UserPwd, Ename, Email) VALUES(39。 Admin39。 , 39。 11111139。 , 39。 39。 , 39。 39。 ) GO 在创建表 users 的同时,将默认的用户 Admin 插入到表中,默认的密码为“ llllll”。 在执行这些脚本之前,请确定数据库 news 已经存在,否则会产生错误。 如果要创建的表已经存在,则需要先将表删除。 新闻发布系统 22 第四 章 目录结构与通用模块 第一节 目录结构 在运行实例时,需要将 web 目录复制到 IIS/PWS 的根目录下,例如 目录下包含下面两个子目录: images 用于存储上传的新闻图片; pic 用于存储网页中的图片文 件; 其他 ASP 和 HTM 文件都保存在 web 目录下。 第二节 通用模块 本实例中包含一些通用模块,这些模块以文件的形式保存,可以在其他文件中使用 include 语句包含这些模块,使用其中定义的功能。 1. 的功能是实现到数据库的连接,因为在很多网页中都有连接数据库的操作,所以把它保存在文件 中,。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。