毕业设计(论文)-ASP新闻发布系统.doc

上传人:西安人 文档编号:3281085 上传时间:2019-08-07 格式:DOC 页数:34 大小:724.04KB
返回 下载 相关 举报
毕业设计(论文)-ASP新闻发布系统.doc_第1页
第1页 / 共34页
毕业设计(论文)-ASP新闻发布系统.doc_第2页
第2页 / 共34页
毕业设计(论文)-ASP新闻发布系统.doc_第3页
第3页 / 共34页
毕业设计(论文)-ASP新闻发布系统.doc_第4页
第4页 / 共34页
毕业设计(论文)-ASP新闻发布系统.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《毕业设计(论文)-ASP新闻发布系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-ASP新闻发布系统.doc(34页珍藏版)》请在三一文库上搜索。

1、新闻发布系统 摘 要随着信息时代的高速发展,传统的报纸杂志已经远远满足不了人们的需求,人们更加希望于能够在网上了解更多的新闻和信息,于是我们就很有必要在网上创建一个新闻发布管理信息系统了。大部分网站都是采用静态的方式来发布和管理信息的,可是网站需要更新的信息量也越来越大,所以这很不利于网站管理人员的工作。为了更加方便的管理网站,于是我们就很迫切的需要利用动态技术创建一个新闻发布管理信息系统了。针对现在我们的上网环境,在线发布新闻、动态生成新闻网页、为新闻添加搜索查找功能是必不可少的。本系统采用Microsoft ASP作为开发工具,后台数据库采用Access数据库的设计,利用ADO数据访问技术

2、实现对数据库的各种管理操作,实现新闻发布系统的供浏览和新闻搜索功能。关键词:ASP ADO 数据库 信息目录第一章 绪论31.1 系统需求分析:3(1)开发目的3(2)项目背景3(3)运行需求3第二章 ASP简介32.1 ASP的特点32.2 ASP的优势3第三章 系统功能设计33.1系统功能描述33.2 系统结构设计3第四章 数据库设计与实现34.1 数据库需求分析34.2 数据库逻辑设计34.3 公共模块设计3第五章 详细设计过程35.1 新闻栏目管理35.2 新闻列表设计35.3 发布新闻表单35.4 保存新闻35.5 修改新闻35.6 删除新闻35.7 实现图片及附件的上传3第六章 系

3、统测试36.1 新闻浏览首页36.2 新闻浏览页面设计3第七章 结论3致谢3参考文献3新闻发布系统第一章 绪论伴随着网络的出现,网页逐渐融入人们的生活。快速及时的新闻浏览,五彩缤纷的网上信息,使网络与人们的生活息息相关,于是世界上又出现了第三媒体Internet。它打破了地域限制,真正使信息得以共享,改变了人们的工作和生活方式。制作网页是企业和个人的宣传自己的重要手段,同时也是学习者获取学习信息的重要手段。尤其是在新闻信息领域,各种新闻信息的发布分秒变换,人们对新闻信息的需求有了更新,更高的要求,而网页由于本身所具有的信息量大,传递快速,没有时空限制等特点恰好满足这种要求。所以网页也逐渐成为一

4、种新兴的信息发布资源。也正是由于网络实现网站的数据信息能够进行实时交互,保证网站数据的实时性。随着Internet的进一步发展,静态Web站点的开发与维护变得越来越困难,一方面信息的不断增加和变化,使站点维护人员不得不经常修改他们的网页,特别是基于数据库驱动的Web站点更是如此,随着Internet上信息量的增多和交互性的加强使HTML显得越来越难以胜任。另一方面静态网页由于不能与浏览者进行有效交互,使人们感到越来越乏味,而不愿意再一次地进入同一站点。所以开发动态网页或动态内容成了越来越多的站点所追求目标。所谓动态内容是由每一个用户按照自己的需求发出请求而特殊制作的Web网页。网络发展前景无限

5、,及早与网络结合,与信息时代同步,与高科技汇合,定会给社会各行各业的发展注入新鲜的活力。站在网络时代的前夜,我们清晰地听到了网络时代的宣言:谁掌握了网络,谁就掌握了未来。1.1 系统需求分析:(1)开发目的随着计算机技术的发展,网络技术对我们生活和工作显得月来越重要,特别是现在信息高度发达的今天,人们对最新信息的需求和发布迫切的需要及时性。而动态交互式网页刚好提供了这些功能,本系统就是一个能够在网上实现新闻的网上多用户发布,多栏目管理,实时的进行行为统计和记录的网上交互系统。(2)项目背景HTML作为一种样式语言,随着Internet上信息量的增多和交互性的加强使HTML显得越来越难以胜任的情

6、况之下,在ASP编程语言高度发展的形式下,我们开始了对新闻发布系统的开发。1. 硬件条件服务器两台,一台为数据库服务器,一台为Web服务器;客户端计算机若干;网络通讯设备,主要包括交换机、网卡、集线器、MODEM 等。2. 系统平台采用Browser/Server体系结构,服务器端采用Microsoft Windows NT4.0作为网络操作系统,Web服务器软件采用IIS3.0(Internet Information Server)。客户端软件,包括单机操作系统和浏览器软件,分别选用Windows 2000和Internet Explorer,数据库系统采用Microsoft Access

7、有利于方便操作。3. 开发工具基于Web的系统开发工具应使开发者使用各种各样的技术来创建动态的Web应用程序,并且应是一个可视化的工具。我们采用了DreamweaverMX进行开发,它是用来快速创建数据驱动Web应用程序的基于团队的开发环境,支持ASP,以ODBC连接数据库,脚本语言为简单易学的javascript或VBScript。(3)运行需求正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据完好无损,对数据的精确度、时间特性、适应性等都有一定要求,要求系统运行时能够保证正确性、可靠性、高效性、完整性、易使用性、可维护性、可测试性、复用性、安全保密性、可移植性、互联性。第二

8、章 ASP简介 ASP是Active Server Pages的简称,是服务器端脚本编程环境。使用ASP可以将HTML页、脚本命令和ActiveX组件组合起来,创建动态的、交互的Web网页和基于Web的功能强大的应用程序简单地讲,ASP是位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的、交互式的Web应用程序。2.1 ASP的特点ASP内含于IIS3.0和IIS4.0之中。有了ASP,就不必担心客户端浏览器是否能运行所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。从字面上说,ASP包含下面3方面的含义:1. Active:ASP使用了微软

9、公司的ActiveX技术。采用了封装对象,程序调用对象的技术,简化编程,加强程序间的合作。只要在服务器上安装这些组件,通过访问组件,可以快速、简易地建立自己的Web应用程序。2. Server:ASP运行在服务器端。这样就不必担心浏览器是否支持ASP所使用的编程语言。ASP的编程语言可以是VBScript和JavaScript。VBScript是Visual Basic的一个子集。然而Netscape浏览器不支持客户端的VBScript,所以最好不要在客户端使用VBScript。而在服务器端,则无需考虑浏览器的支持问题,Netscape浏览器也可以正常显示ASP页面。3. Pages:ASP返

10、回标准的HTML页面,可以在常用的浏览器中正常显示。浏览者查看页面源文件时,看到的是ASP生成的HTML代码,而不是ASP程序代码。2.2 ASP的优势ASP模式现在已经获得很大发展,与传统模式相比具有一些重要的优势。以下是部分最重要的优势:尤其对于小型企业和新创企业而言,最大的好处是启动成本低,而且在大多数情况下可以极大地缩短启动时间。现购现付模式对于不经常使用该服务的企业来说极大地节省了成本。ASP模式,如同任何外包方案一样,可以节省人力成本。IT人员越来越昂贵而且越来越专业(就像航空业的飞行员),因此采用ASP通常可节省人力。采用ASP模式还可以省去专门用来运行应用程序及支持性应用程序的

11、IT基础设施。例如,如果您要使用的应用程序需要Oracle或MS-SQL数据库,则您不得不同时使用支持该应用程序和数据库。ASP模式可以将网络带宽转移给ASP,ASP通常能以较低的价格提供带宽。导致ASP崛起的一个原因是专业软件的成本高。随着成本的增加,小型企业几乎没有能力来购买这类软件,因此ASP使得这类企业使用该类软件成为可能导致ASP发展的另一个重要因素是软件和软件升级的复杂性不断增加。从客户服务的角度看,将大型复杂的应用分发到终端用户成本非常高,而升级又使问题变得更糟糕。在有上千台台式机的大公司中,分发软件(即使是像新版Word这样简单的软件)可能花费上百万美元。ASP模式则消除了大多

12、数此类烦恼。 第三章 系统功能设计3.1系统功能描述系统需求分析是软件开发过程生命同期中最重要的一步。在进入系统设计之前,必须要对系统的功能进行清晰的分析和描述,而且需要从用户需求角度出来分析清楚的表面需求和潜在的需求,从而决定系统将具有什么功能,再决定系统的数据模型和架构选择及后续的编码设计。 新闻信息发布系统主要是信息的发布和管理,涉及前台用户对新闻信息的浏览和后台新闻的管理,也有一些新闻发布系统自动从第三方信息提供商定时获取新闻信息,还会附加获取新闻到本地的模块。但是一般而言,新闻信息发布系统主要是分前台浏览和后台管理两大模块,这也是一般企业网站或个人网站采用的模块层次划分方式。前台页面

13、一般不需要用户登录注册,即对所有用户均开放,不做权限验证,如目前的新浪,搜狐等新闻网站;后台管理部分一般通过隐藏页面进入,并做权限验证,只有使用了正确的账号和密码才能进入后台管理发布和管理新闻。一般的新闻发布网站系统,均可以采用这种方式。 在前台新闻浏览模块中,一般需要对新闻进行分门别类,并需要通过栏目导航进入特定的新闻信息分类模块,如新浪网站的新闻分为国际新闻、国内新闻、体育新闻、社会新闻等。在首页除了显示新闻栏目导航外,还需要显示这些栏目的最新新闻信息列表,并能提供一些新闻检索功能来使用户能检索自己感兴趣的信息。为了使新闻阅读更具有趣味性,还需要以不同的预先设计的模块将新闻展示出来,从而满

14、足用户个性化需求。互联网更重视用户的参与和互动能力,为了满足用户的需求,还需要添加新闻评论功能,使得用户可以发表自己对新闻信息的看法和意见。另外,为了获取用户对哪些方面的信息感兴趣,还需要在用户单击新闻浏览时自动统计新闻的浏览次数,以供后台来展示热点新闻和统计新闻信笺的受欢迎程度。对于后台管理方面,必须由合法的管理者来管理新闻的发布、修改、删除等系统就需要一个管理者登录、注销的模块。从新闻管理大体来看,系统实际分为新闻栏目管理、新闻内容管理及模块管理。为了方便新闻浏览及管理,需要对新闻进行分类,需要具有相应的栏目来展现新闻,因此需要实现新闻栏目的维护功能。新闻栏目一般具有大类和小类两个级别的分

15、类,如体育新闻属于大类;足球新闻、篮球新闻属于小类。然后需要将新闻内容入库,需要将新闻信息添加到数据库中,放置到指定的栏目下。为了使新闻展现出来好的效果,还需要对新闻进行排版、添加图片及上传附件等,而且还可能需要指定浏览的模块,使得新闻的展现具有趣味性。另外,新闻的发布难免会发生错误,因此还需要对新闻执行修改和删除等操作。除此之外,前台的评论,热点新闻及新闻的受欢迎程度等信息应该能提供管理界面让管理者浏览到,以便管理者监控系统的访问过程。新闻发布系统一般具有上述的基本功能,新闻的发布及管理是新闻发布系统的核心,其他模块管理及评论管理等属于新闻发布系统的加强功能。但是强大的新闻发布系统在自动的发

16、布方面会提供更高级、更便利的功能,台自动采集及发布,提供第三方新闻发布方管理新闻的接口等。3.2 系统结构设计从上面的分析可以知道,本系统主要分两个模块,后台管理模块和前台浏览模块。后台管理模块将所有新闻管理功能进行封将,并使用统一的界面进行管理,为新闻发布人员提供统一的新闻发布视图界面。新闻管理主要涉及新闻分类目录的管理及新闻内容的管理。前台部分涉及新闻的首页浏览,推荐新闻浏览和新闻列表,查看新闻详细内容,下载附件和发表评论,查看评论等功能。本系统结构图如图在线新闻发布系统后台管理前台阅读管理员登录新闻管理分类管理新闻评论新闻详情推荐新闻修改目录删除目录添加新闻修改新闻删除新闻添加目录图3.

17、1 新闻发布管理系统结构图第四章 数据库设计与实现4.1 数据库需求分析数据库需求分析是所有数据库系统设计最重要的一步,在这个步骤里需要对系统的所有数据存储进行分析和整理,以便得出具有稳定性和扩展性的存储结构,这也是数据建模的过程。数据建模需要建立系统的数据模型,分析清楚存储对象之间的关系、存储对象结构和存储对象的大小等内容。一般这个过程都需要借助一些数据建模软件来完成,目前比较流行和好用的是PowerDesegner和ERWin等建模工具。当然,对于结构简单的系统,其数据建模也很简单,数据建模的过程也不必依赖于这些软件来完成;但对于复杂的系统,建议读者学习一些建模工具的使用,以便加速系统的建

18、立过程。 通过上面的分析,我们不难看出系统主要有两个重要的实体对象,即新闻分类存储表和新闻内容存储表。这两个表是新闻发布系统的核心,所有的新闻必须归属于某个类别,而这些新闻的分类存储是不固定的,所以就需要一个分类存储表来存储新闻的分类栏目。但是新闻分类栏目可能具有多级的关系,如果体育新闻和篮球新闻是上下级关系,体育新闻和社会新闻是同级关系,需要在数据库表中也能将这种目录的级别关系体现出来。可以通过编码的方式将分类的级别存储起来,如两位一编码,用01表示体育新闻,02表示新闻,而0101表示篮球新闻,这样就能体现出体育新闻和篮球新闻的上下级关系了。而对于新闻内容,除了需要将其和新闻分类关联外,还

19、需要存储新闻的id、标题、内容、发布时间等。在一些网站中经常可以看到推荐新闻,这是通过添加一个字段来标示新闻是否为推荐新闻来实现的,此时也需要添加一个标示是否为推荐新闻的字段。另外,还要区分来是不是HTML源文件的内容,如果是HTML源文件,则可以任意排版,不需要过滤新闻内容的HTML字符,也不需考虑换行问题;如果是纯文本文件的新闻内容,则需要考虑内容的换行和空格问题。对于新闻,需要添加图片和附件,并希望这些图片和附件是可以随时更新的,而且一个新闻可以对应多个图片和附件,那么就需要建立一张表来存储图片和附件。由于图片和附件都是具有文件路径的信息,所以可以将图片和附件存储在一张表中,并使用new

20、sid 字段来标识该图片和附件是属于哪条新闻的。 而对于新闻的浏览,为了加强交互性,需要添加对评论的支持,显然一条新闻可能有多个人发表评论,也就是新闻的评论之间是一对多的关系,所以需要建立一张独立的表来存储评论内容。 经过上面的分析,使用powerDesigner 建模软件,可以得出新闻发布系统的ER模型图,如图41所示。 新闻内容表新闻编号 I 所属栏目 VA50新闻标题 VA1000新闻内容 TXT发布作者 VA50发布时间 DT. Indentifier-1 用户表用户编号 I 用户名称 VA50用户密码 VA50Identifier-1 新闻评论表评论编码 I 新闻id I发表时间 D

21、发表作者 VA50发表内容 VA1000Identifier-1 图 4.1 数据库ER模型图从上面的分析过程可以看出,数据建模的过程就是先找出核心的数据表;再从这些表中一步步地找出相关的分支需求表,建立其与核心表之间的关系;然后使用建模工具将其关系设计出来。这种建模的过程可以给系统设计的后续工作带来很大的便利,使得对系统的数据存储有一个完整的认识。通过以上的分析,即可开始建立数据库,本系统将采用Access 数据库系统来实现。 4.2 数据库逻辑设计 经过对数据库及系统存储结构的需求分析,根据数据建模的结果,可以得出3个表结构,即新闻内容表、新闻附件表及用户表。表41 新闻内容表(news

22、info)结构字段描述类型和长度主键Id自动编号自动编号是title标题文本否content内容备注否class编号数字否time时间日期否click点击率数字否image图片文本否表42 新闻附件表(news class)结构字段描述类型和长度主键id自动编号数字是title标题文本(50)否class编号数字否表43 用户表(admin)结构字段描述类型和长度主键ID自动编号自动编号是name用户名文本否pwd密码文本否4.3 公共模块设计结构合理的系统都是经过精心设计的,将共同的东西抽取出来放置到相同的地方供引用和调用.是设计系统必须要做的工作。在ASP.系统中,一般可以将创建数据库连接

23、、公共函数、页面的头部文件、尾部文件及权限判断代码做成独立文件放置在共用文件夹中供调用。 ASP中将创建数据库连接connection独立出来做.成共用的文件是最常用的做法,而且一般将其命名为conn.inc或conn.asp文件,并放置到inc目录下。Inc是include的简称,一般系统都建立这个目录来存储供整个系统共用的目录。当页面需要使用数据库连接时,只需要通过Asp的引用共作的文件即可,这样不但能避免每个页面都需要编写数据库连接,而且也能避免当数据库连接发生变化时修改每个页面的麻烦。Conn.asp文件代码如下:上述代码中提供了连接数据库的方法,GetMDBConn方法。GetMDB

24、Conn方法是连接Access数据库的,其中Database url参数表示Access数据库的物理路径。这种方法和GetSQLServerConn一样,拼接了数据库连接字符串后调用GetConn方法来获取Connection连接并返回。通过调用上述方法即可生成数据库连接,代码后面创建了一个Connection变量conn供其它页面调用,避免重复生成连接。Access数据库连接。第五章 详细设计过程5.1 新闻栏目管理对新闻进行归类管理,就需要栏目的支持,此处栏目也叫频道,在添加新闻的时候需要将新闻归类到某个频道下面。新闻分类一般具有大类和小类之分,栏目一般存在两级关系,但是为了扩展方便,设置

25、程序时应该考虑到小类还有子类的情况(如体育新闻篮球NBA),所以需要提供多级栏目的管理。多级栏目一般使用树的结构来展示,但是此处为管理方便,使用列表来展示,在一个时刻展示一级栏目。图中展现的是顶级目录,单击“体育”将展示“体育”栏目的所有子栏目。在此页面还可以添加子栏目。栏目列表页面将栏目列表和添加子栏目的表单放置在同一个页面,命名为cataloglist.asp,有时候将不同的操作放置在同一个页面使得使用方便。获取栏目列表的实现过程是先获得指定的栏目编码,然后通过栏目编码到数据库中查询该栏目的所有子栏目。上述流程如图6-4所示。1获取编码显示根目录查询此目录数据显示数据数据库324图5.1栏

26、目列表流程图实现代码如下: 栏目编码栏目名称操作a href =”cataloglist.asp?code =”a href =”catalogmodify.asp?code=”修改a href =”deletecatalog.asp?code=”删除 栏目分类管理栏目编码栏目名称操作01体育修改 删除02社会修改 删除 返回上一级目录目前栏目:根目录子栏目编码:子栏目名称:添加新栏目分类上述代码中的变量是当前栏目的编码,为了表述方便,笔者将这个编码称为父编码,这个参数第一次进入本页面的时候是空的,由于多级栏目的列表。如01表示体育新闻,0101表示篮球新闻,所以程序需要获得第一级栏目的列表。

27、获得所有编码长度为2的栏目,SQL语句应该是“select * from catalog where len(code)=2”。上述代码中a href=”cataloglist.asp?code=”会列出所有该父栏目下的所有子栏目,并链接到本页面,同时将栏目编码作为参数传入。此时code 变量不为空,需要列出该栏目下的所有子栏目,SQL语句就应该使栏目编码具有code变量指定的前缀而且长度长度是code变量长度加2,如获得体育新闻的所有子栏目的SQL语句就应该是“select * from catalog where code like 01% and len(code)=len(01)+2

28、”。添加系统栏目类别的操作流程如图5.2所示:图5.2 栏目添加运行流程图form表单中主要的是栏目编码输入项和栏目名称输入项,此处的栏目编码是让用户来随意输入的,一般情况下最好是程序自动生动生成编码。例如,当前父栏目编码是01如果到数据库里面查询找该栏目下的最大子栏目编码是0105,那么生成下一个新栏目的编码就应该是0106。但是此处为了讲述方便,没有自动生成编码。Form 表单将提交到Savecatalog.asp页面保存栏目。修改栏目的处理过程和添加栏目类似。删除栏目的处理比较简单,将需要删除的栏目编码传递到deletecatalog.asp页面处理后再返回到cataloglist.as

29、p页面即可。很多情况下新闻栏目相当于静态的分类,所以提供栏目的维护不是必须的。但是需要在数据库中设置一长表来存储栏目配置,通过数据库管理工具来维护栏目数据。对于有些数据,是否需要提供程度来管理维护它们,主要取决于系统的需要,并不是所有数据都需要提供程序来管理的,有时候使用程序来管理反而没有在数据库中设置来得方便。5.2 新闻列表设计 在新闻列表页面中可以浏览不同栏目的新闻。选中某个栏目后系统就会自动地查询出该栏目的新闻列表,并可以分页显示。单击右边的“修改”和“删除”链接即可直接对该条新闻执行操作。引用代码如下:选择栏目: 下拉列表框也实现了目录树的选项变化事件接口函数changecatalo

30、g(),当栏目选项改变会把选中的栏目id传递给新闻列表页面进行显示。脚本代码如下:function changecatalog()window.location=”newslost.asp?catalogid=”+catalog.value;页面只显示指定新闻栏目的新闻,并分页显示。上述流程如图所示: 获取栏目查询数据分页设置显示数据数据库 图 5.3新闻列表运行流程图新闻页面代码如下:         热点新闻   a href=View.asp?action=list&newsclass=&id= t

31、arget=_blank % If Rs2(images) ThenResponse.Write 图 End IfIf Len(Rs2(title)19 ThenResponse.Write Left(Rs2(title),18) & ElseResponse.Write Rs2(title) End If%  点击:次         最新 % newsclass1=Rs1(class)在页面右侧显示每个新闻类别下的相应新闻信息Set Rs2 = Server.CreateObject(ADO

32、DB.Recordset) Sql2=Select Top 5 * From newsinfo Where class=&newsclass1& Order By time DescRs2.Open Sql2,conn,3,3 If Rs2.Eof And Rs2.Bof ThenResponse.Write  Response.Write 本新闻版块暂无新闻信息!Response.Write ElseDo While not Rs2.EOF%   a href=View.asp?action=list&newsclass=&id= target=_blank % If Rs2(images) ThenResponse.Write 图 End IfIf Len(Rs2(title)30 ThenResponse.Write Left(Rs2(title),29) & ElseR

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1