资源描述
ASP技术的新闻发布系统
学生姓名:乔琦 指导教师:梁佩宁
摘 要: 本论文通过一个新闻发布系统,全面地实现了利用asp技术实现新闻的自动创建,新闻的浏览、检索、审核、修改和删除。后台小新闻管理系统和后台用户管理系统实现了对新闻和用户的各项管理。系统利用数据库技术动态存储新闻内容,利用asp技术动态显示新闻记录,系统亮点之处在于利用新闻模板自动创建新闻文件,实现了相关新闻和新闻评论功能,并利用数据库技术,动态地显示出推荐新闻信息和热点新闻信息。新闻系统是一个比较实用的稳当系统,掌握了新闻系统的开发,对于开发其他的文档系统都有着很大的帮助。
关键词: 新闻模板 ;管理权限;代码重用
一 ﹑ 引言
现在的世界蕴涵着相当大的信息量,每天的信息搜集﹑发布﹑更新﹑都需要投入很大的人力和物力。在网络发展的新时代,越来越多的信息在网上发布,新闻作为信息的一个重要主题也不例外。这么的信息量,如果单纯用静态网页一个一个地制作,不仅耗费人力物力,而且新闻本身的时效性也难以发挥出来,所以动态新闻发布及管理系统的产生顺应当前形势的发展,不仅节省人力物力,更加体现了新闻本身的时效性。
二 ﹑ASP的认识
ASP 全称为 Active Server Pages(动态服务器主页),它是一种应用程序环境,可以利用 VBscript 或 JavaScript 语言来设计,主要用于网络数据库的查询与管理。其工作原理是当浏览者发出浏览请求的时候,服务器会自动将 ASP 的程序码,解释为标准 HTML 格式的网页内容,再送到浏览者浏览器上显示出来。我们也可以将 ASP 理解为一种特殊的 CGI。
利用 ASP 生成的网页,与HTML相比具有更大的灵活性。只要结构合理,一个 ASP 页面就可以取代成千上万个网页。尽管 ASP 在工作效率方面较之一些新技术要差,但胜在简单、直观、易学,是涉足网络编程的一条捷径。它具备一个服务器端的脚本执行环境,用它可产生和执行动态的、交互的、高性能的Web服务器应用程序。
Active Server的另一大优点是代码的安全性。页面的访问者所能看到的只是服务器方的处理结果。ASP文件可以用常规的文本编辑器编辑, ASP使用VBScript、JavaScript等脚本语言作为开发工具,镶嵌于HTML文本中,使用"<%…%>"将ASP的程序包含起来。当用户从浏览器向Web服务器提出请求时,Web服务器会自动将ASP的程序解释为标准的HTML格式的主页内容,用户端只要使用常规可执行HTML程序的浏览器,就可浏览ASP所设计的主页内容,因此与浏览器无关,并且保证了ASP的源程序代码不会外漏。
ASP中包括五个内置的ActiveX服务器组件和五个内置的对象:Database Access component(数据库访问组件)、File Access component(文件访问组件)、Ad Rotator component(广告轮播器组件)、Content Linking component(内容链接组件)、Browser Capabilities component(浏览器信组件)以及Request(请求对象)、Server(服务器对象)、Session(会话对象)、Response(响应对象)、Application(应用程序对象)。在所有ASP组件中,最有用的是数据库访问组件,也称为ActiveX数据对象或ADO。在站点发布数据库将使用这个组件及其中包含的对象,以完成对ODBC数据源的读写。
此外,ASP技术的另一个重要特点是,程序员可以利用Java、Visual Basic、 Visual C++等语言制作适应自己特殊需要的ActiveX服务器组件来扩充ASP的功能,使自己的动态网页几乎具有无限的扩充能力,这是传统的CGI程序所不及的。
总而言之ASP具有学习快、设计快的特点,不需花许多时间即可学会和快速设计出WEB应用程序。ASP的源程序码在服务器端执行,代码保密性好。集成与HTML中,无需编译链接可直接执行,而且使用文本编辑器即可设计。
三 ﹑ 开发环境及需求
(一)开发目的
随着计算机技术的发展,网络技术对我们生活和工作显得越来越重要,特别是现在信息高度发达的今天,人们对最新信息的需求和发布迫切的需要及时性。而动态交互式网页刚好提供了这些功能,本系统就是一个能够在网上实现新闻的网上多用户发布,多栏目管理,实时的进行行为统计和记录的网上交互系统。
(二)项目背景
HTML作为一种样式语言,随着Internet上信息量的增多和交互性的加强使HTML显得越来越难以胜任的情况之下,在ASP编程语言高度发展的形式下,我们开始了对新闻发布系统的开发。
(三)开发环境
1.系统平台
采用Browser/Server体系结构,服务器采用租赁网络运营商的服务器,Web服务器软件为IIS5.0(Internet Information Server)。客户端软件,包括单机操作系统和浏览器软件,分别选用Windows 2000和Internet Explorer,数据库系统采用Microsoft Access有利于方便操作。
2.开发工具
基于Web的系统开发工具应使开发者使用各种各样的技术来创建动态的Web应用程序,并且应是一个可视化的工具。我们采用了Dreamweaver MX 2004进行开发,它是用来快速创建数据驱动Web应用程序的基于团队的开发环境,支持ASP,以ODBC连接数据库,脚本语言为简单易学的JavaScript或VBScript。
四 ﹑系统概述
(一)系统功能
系统开发的总体任务是实现新闻的自动发步,新闻和用户信息的管理。该系统所完成的主要功能如下:
客户界面部分:
栏目菜单的显示。
栏目内新闻的显示。
单条新闻的显示。
推荐新闻的显示。
热点新闻的显示。
新闻搜索。
相关新闻的显示。
管理界面部分:
管理员登陆。
栏目内新闻的显示。
添加新闻。
添加首页图片的修改﹑删除。
新闻模板管理。
(二)系统预览
我们先来从整体浏览一下该系统
打开首页后,在图的上面显示的是各新闻栏目的名称,中间显示的是图片新闻和几个新闻栏目最新新闻内容的链接,右侧有新闻搜索引擎,推荐新闻信息和热点新闻信息,左侧是论坛登陆和一些图片链接和文字链接。本系统没有做过论坛,只是欲留位置,以待以后充实。
任意打开一个新闻网页,图下面有新闻评论的相关链接,右侧是新闻搜索,推荐新闻及热点新闻。
通过首页左下方的用户名和密码登陆管理后台后,图的上面显示的是管理员所能进行的各项功能操作,左侧显示的是各项新闻栏目,中间显示的是各项功能操作界面。从图中可以看到后台管理系统的功能包括新闻文章的添加,新闻审核,用户管理,新闻模板管理,新闻浏览,退出系统。
(三) 系统特点
本系统具有以下特点:
1.页面模块化:本系统在界面设计上采用了模块化处理思想,把很多页面共有部分集成;一个模块,例如页面的头﹑尾,数据库的连接等,这样在开发时遇到这些相似的页面部分,就不需要重新编写,例如在某页面上显示页面的头,只要以一句“<!--#include file=“head。asp”-->”重用这部分即可,大大提高了开发效率。
2.新闻模板的应用:本系统新闻代码生成都是基于新闻模板的,只要将新闻的一些必要信息,例如新闻标题﹑新闻内容﹑新闻出处﹑新闻作者等信息录入,然后自动修改新闻模板,在利用组件技术即可自动创建新闻文件,这样做使得新闻文件格式同一,又便于新闻的搜索,同时也节省了人力物力,体现了新闻的实效性。
3.组件技术的应用:本系统在创建新闻文件是利用了组件技术,根据系统时间自动生成新闻名称,然后运用IIS自带组件进行文件的创建和删除等操作。在新闻评论中,利用组件技术实现在线发送E-mail的功能。
4.新闻内容的格式转换,管理员在进行新闻录入是为了便于在新闻浏览中显示,将录入的新闻内容进行了格式转换,将普通新闻内容转变成了网页形式的新闻内容,而在新闻修改中又进行了相反的转换,在保存修改信息时又进行了同样的转换。这样做的目的时为了能在新闻浏览中显示出更多的信息,包括回车﹑空格﹑图片等在数据库中不能直接保存的信息。
五﹑系统设计
(一) 系统设计思想
1.页面模块化
本设计把页面中的一些常用的部分集成为模块,例如页面的头部和尾部,这样在设计新的页面时如果有重复出现的部分,只需要拿现成的模块来组装就可以了。
2.新闻模块化
本设计在数据库中建有新闻模板表格,在新闻录入时,通过替换函数将模板内的相关内容替换为输入的内容,然后利用组件技术将替换后的代码写进新的文件中,形成一个新的新闻文件。所以系统中所有的新闻都实在新闻模板的基础上生成的。而新闻文件的文件名也是根据系统时间(包括年月日时分秒)自动生成,既不会产生重复,又能将时间信息在文件上体现出来。在数据库中只存储文件的路径信息和文件名称信息,便于搜索和显示。新闻模板化的示意图如图5.1所示:
新闻模板
输入信息(替换) 文件生成
管理员
数据库
写入
用户
新闻文件
替换 定位文件
图5.1 新闻模板化示意图
(二)系统功能模块划分
根据系统功能分析,可以画出系统的功能模块图。客户界面的系统功能模块图如图5.2.1所示。
用户
发表相关评论(未完成)
查看新闻评论(未完成)
查看单条新闻
搜索新闻
查看相关新闻
图5.2.1
管理界面的系统功能模块如图5.2.2
管理员
新闻模板管理
用户管理
新闻栏目管理
添加新闻
新闻审核修改删除
(三)系统结构设计
根据系统功能和系统特点,将两个图结合可得出系统结构设计图。
六﹑数据库设计
数据库技术示信息资源管理最有效得手段。数据库设计是指对于一个给定的应用环境构造最优的数据库模式,建立数据库及应用系统,有效存储数据,满足用户信息要求和处理要求。数据库结构设计的好坏将直接对应用系统的效率及实现的效果产生影响。合理的数据库结构设计可以提高数据库存储的效率,保证数据的完整和一致。
设计数据库系统是应该首先充分了解用户各个方面的需求,包括现有的及将来可能增加的需求。数据库设计一般包括如下几个步骤:
数据库需求分析。
数据库概念结构设计。
数据库逻辑结构设计。
(一) 数据库需求分析
对于用户来说,他们所关心的就是新闻的浏览﹑新闻的搜索和新闻的评论,同时还得兼顾栏目路径信息﹑新闻图片信息﹑推荐新闻信息﹑新闻惦记信息和新闻审核信息。
通过系统的功能分析,针对一般的信息系统用户,总结出如下需求信息:
1. 每条栏目对应一个文件夹。
2. 每条信息对应一个ASP 文件。
3. 每条信息只能对应一个栏目。
4. 每条信息对应一个信息模板。
5. 每个新闻模板对应不同栏目的多条新闻
6. 每个栏目下面可有多条新闻。
7. 不同栏目的新闻对应的关键字可以相同。
8. 每条新闻必须经审核通过后才能对用户开放。
9. 每条新闻除包含新闻的基本信息之外,还得包含路径信息﹑图片信息﹑推荐新闻信息﹑新闻点击信息等。
对于管理员来说,他们所关心的是如何对栏目和新闻进行添加﹑审核﹑修改﹑删除。不同的管理员权限应有不同,可分为三等:一等为高级管理员,什么操作都可以做;而等为审核管理员,可以对新闻进行添加和审核;三等为新闻录入人员,只能对新闻进行录入,通过以上分析,针对系统管理员,总结出如下需求信息:
1. 管理员有不同的权限。
2. 管理员可以对栏目进行增﹑删﹑该。
3. 管理员可以对新闻进行增﹑删﹑该。
4. 管理员可以对行文模板进行增﹑删﹑该。
5. 管理员可以对新闻进行审核。
6. 管理员可以对用户进行管理。
经过上述系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下的数据项和数据结构:
1. 管理员信息 , 包括数据项: 用户名,密码,权限。
2. 栏目信息 , 包括数据项: 新闻编号,栏目名称,栏目路径等。
3. 新闻信息,包括数据项:新闻编号,新闻所属栏目名称,新闻所属栏目路径,新闻标题,新闻内容,新闻图片信息,新闻审核信息等。
4. 新闻模板信息,包括数据项: 新闻模板编号,模板名称,模板内容信息等
(二)数据库概念结构设计
得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及他们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
本设计根据上面的设计规划出的实体有:管理员信息实体﹑新闻栏目信息实体﹑新闻实体﹑新闻模板实体。
实体之间关系的E-R图如图6-2所示。
浏览
用户
M
N
新闻栏目
新闻浏览
单个新闻
1 M
N 1
Y N M
管理
管理员
X
图6-2
管理员信息实体E-R图如图6-3所示。
管理员
权限
密码
用户名
图6-3
单条新闻实体E-R图如图6-4所示。
单条新闻
新闻评论
新闻编号
新闻标题
所属栏目
……
图6-4
新闻栏目实体E-R图如图6-5所示。
新闻栏目
路径
名称
编号
图6-5
新闻模板实体E-R图如图6-6所示。
新闻模板
内容
名称
编号
图6-6
(三) 数据库逻辑结构设计
数据库的概念结构设计完毕后,就将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
根据数据量的大小不同,系统可以使用不同的数据库。本系统的数据库使用的是Access数据库。Access数据库事业能够方便,比较适合中小型网站。
本数据库共有四个表,分别为 type(新闻栏目表),article(新闻内容表),example(新闻模板表),admin(管理员表),每个表的设计视图这里就不再列出了。
(四) 数据库的生成与连接
数据库的连接生成后就要与网页建立动态连接。本系统为方便起见,将数据库接口语句写在了一个文件里面,凡是牵扯数据库操作的网页只要将此文件包含进来就行了。在建立数据库的连接时。先要确立数据库的路径和数据库的类型和驱动,然后新建一个数据库连接。其中核心代码如下:
str=“dbq=“+server.mappath(“news.mdb”)+ “;defaultDir=;driver={Microsoft Access Driver(*.mdb)};””
set conn=server.creatobject(“adodb.connection”)
conn.open str
有了数据库接口语句,在其他牵涉数据库操作的网页文件中加上“<!--#include file=“articleconn.asp”à”就可以.在同一目录下, 在此文件上面添上“<!--#include file=“articleconn.asp”à”即可,若不在同一目录下,则在articleconn.asp前面加上相对路径了。
七 ﹑功能详细说明
(一) 客户界面设计
1.界面头﹑尾设计
为了提高代码的重用性,我把客户界面部分小同的头和尾做成两个模块,这样在相应的网页需要时,只需要在第一行和最后一行分别加上<!--#include file=“head.asp”--> 和 <!--#include file=“topy.asp”--> 效果如图 7.1.1
图 7.1.1
2.主页栏目内信息显示的设计
为了在主页中快捷显示出一些栏目内最新添加的新闻信息,系统专门用一个文件来实现栏目内最新新闻信息显示的功能,通过栏目ID和栏目名称查询数据库中的新闻表格,按照新闻加入时间排序,取出前5条,将其标题和链接信息显示出来。图7.2.1为主页栏目内最新新闻信息显示结果。
图7.2.1
3.新闻搜索功能的设计
新闻搜索主要包含两种方式,一种是按照新闻标题搜索,另一种是按照新闻内容搜索。新闻搜索按照模糊匹配的原则,通过查询数据库中新闻表格得到搜索的结果。由于搜索结果可能很多,所以也用到了分页显示。搜索结果如图7.3.1
图7.3.1
4.推荐新闻和热点新闻的显示
为了方便用户在最快的时间内看到热门和最新的文章,系统设置了两个快捷栏,分别为推荐信息和本周热点新闻,其中热点新闻是按照点击数的多少来排序的。
5.单条新闻的显示
管理员在添加新闻时,系统会自动第生成新闻文件。当用户浏览某条新闻时,系统通过查询数据库中的新闻信息表格,根据新闻编号,找到此新闻对应的文件路径和文件名,直接将此文件显示出来就可以了。显示的内容包括新闻所属的栏目﹑新闻的标题﹑新闻加入时间﹑新闻的录入者﹑新闻的来源及新闻的内容等,在此新闻下面还有此新闻的相关新闻也就是通过管理员设定的关键字,只要两条新闻的关键字相同,便互为相关新闻,显示的效果如图7.5.1
图7.5.1
此外还有新闻评论的设计,这里就不在敖述了。
(二)管理界面设计
1.新闻显示功能模块设计
管理员登陆后台管理系统后需要看到系统内各栏目的新闻信息以便进行管理。新闻显示功能模块与前面的栏目内所有的新闻的显示类似,只是针对的对象不一样,该页面主要分为三部分,最上面为管理员所能进行的各项操作,左下方为各个栏目的名称,右下方为具体的每一条新闻的相关信息,这样使界面简洁实用。如图7.6.1所示:
图7.6.1
2.添加新闻功能栏目设计
添加新闻时后台管理的一个十分重要而且必不可少的功能。新闻的添加要特别注意新闻内容的添加。为了使新闻内容能显示更多的信息,例如回车﹑空格﹑图片等信息,在保存新闻内容时需要做相应的处理。这种处理就是将普通格式的文本转换成网页合适的代码存储到数据库中。这里分别有两个复选框,如果选中推荐新闻,生成的网页就会在首页中的推荐新闻版快出现,如果选种新闻审核,那么生成的文件不会显示在首页中,而是必须通过超级管理员审核后才能显示如图。这样做可以防止输入员添加不良的新闻。相关新闻的设置使得同样关键字的新闻能够将标题显示在该生成网页的下方。如图7.7.1所示:
图7.7.1
3.新闻审核和新闻处理功能模块设计
新闻审核和新闻处理也是新闻管理的两个必不可少的功能模块。它包括新闻的审核﹑新闻的修改和新闻的删除。新闻添加后需要对其进行审核,通过后才能在用户端将此新闻显示出来。若有少许错误,管理员可以通过新闻修改对其进行修改,然后在通过审核将其发布出去,图7.8.1为效果所示:
图7.8.1
此外还有用户管理功能模块的设计,新闻模板管理模块设计,这里就不在叙述了。
八﹑结果分析
通过系统的分析设计及调试发行后,一个功能比较完备的新闻发布系统就做好了。由于论文篇幅的限制,没有讲解源代码。
本论文通过一个实验室新闻发布系统,介绍了其开发步骤。只要掌握了此系统,类似的如企业新闻系统﹑文档管理系统﹑企业信息发布系统都大体如此。基于ASP技术的数据库网络系统的开发并不难,主要是其开发方法和开发思想比较难建立。这只有通过大量的实践和不断的总结来得出。
参考文献
[1] 郭瑞军: 《ASP数据库开发讲解》,北京:电子工业出版社,2005年2月
[2] 萨师煊:《数据库系统概论》,北京:高等教育出版社,2005年2月第3版。
[3] 邓文渊:《ASP与网页数据库设计》,北京:机械工业出版社,2004年10月。
[4] 卡里﹒普瑞格:《中文版ACCESS 2003数据库宝典》,北京:清华大学出版社,2004年第3月。
[5] 强择科技:《ASP网络编程从入门到精通》,北京:清华大学出版社,2006年1月
[6] 石志国:《ASP动态网站编程》,北京:清华大学出版社,2005年10月
[7] 沈才梁:《ASP网页设计》,北京:清华大学出版社,2006年3月
[8] 周纳:《ASP动态网站编程与应用》,北京:机械工业出版社,2005年8月
[9] 张经峰:《ASP程序设计教程》,北京:机械工业出版社,2005年1月
[10] 陈建伟:《ASP动态网站开发教程》,北京:机械工业出版社,2005年9月第2 版
[11] 尚俊杰:《网络程序设计—ASP案例教程》,北京: 机械工业出版社,2005年10月
[12] 荣钦科技:《ASP+Dreamweaver MX 2004数据库开发》, 北京:人民邮电出版社,2006年1月
[13] 石志国:《ASP精解案例教程》,北京:清华大学出版社,2005年11月
[14] Henry James:《The Turn of The Screw And The ASPERN Papers》,Wordsworth Editions Limited,1996.2 。
[15] Anany Levitin:《Introduction to The Design and Analysis of Algorithms》,Pearson Education Asia Limited 2004.6。
News release system of ASP technology
Student:QiaoQi Supervisor: LiangPeining
Abstract: This thesis passes a news release system, have realized making use of asp technology to realize the automatic establishment of the news, the having a look around of news in an all-round way. Search. Verify. Revise and delete. Backstage supporter little administrative system, administrative system of news and user of backstage supporter realize to news and every management of user. System utilizes database technology to store the news content dynamically, utilize asp technology to show the news record dynamically, lie in utilizing the news template to establish news file automatically in the place of the systematic light spot, realize relevant news and news analysis function, utilize database technology, demonstrate dynamically that recommends some news information of news information and people. The news system is a reliable system that is relatively used, grasp the development of the news system, for developing other file systems have help that fight very much.
Key words: News template; Administration authority; code of reusing
致 谢
在本论文的写作过程中,本人得到了父母、指导老师、朋友、以及同学们的大力支持与帮助。 感谢梁佩宁老师在具体设计过程中给予的悉心指导;感谢同学们在环境上与时间上的支持;特别是感谢父母在生活上和精神上给予的支持,这是我能够坚持下来的源动力。
再次向所有在本人设计过程中给予过帮助与关怀的所有朋友表示深深的感谢!
展开阅读全文