




已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
新闻发布系统开发与实现摘 要本文从有关网站新闻发布事项的实际情况出发,确立新闻发布系统的可行性,导出实现系统目标的策略及功能,估计完成该系统需要的资源和成本,进而开发出新闻发布系统。本系统以Access数据库为后台,采用ASP技术开发前台,其功能简单、鲜明、实用性强,且具有良好的外设接口,能够很好的配合站点的其它子系统服务于各种的新闻发布。本系统实现了新闻的分类浏览、版块管理、添加、修改和删除等功能。首页的分类显示和后台管理员的管理是本系统的1大特点,系统可以自动对新闻进行行为统计。关键词:新闻发布系统;Web;ASP;AccessNews Release Development and Implementation of SystemABSTRACTWith the development of Internet , Internet news are gradually becoming a part of peoples lives. Embarking from the actual situation of publishing news, we make sure the feasibility of News Publication System firstly, then we educe the strategy and function of realizing system target and estimate the resource and cost of this project, finally we develop a News Publication System. This system has carried out the function of classified browse, Administration Module1, accession, edit and deleting of news. Classified display of front page and classified management of administer are the great characteristics of this system, this system can account actions for the news automatically. This News Publication System takes Database as background, exploit foreground by ASP technology, its simple, brilliant, practical function and well-set Peripheral Interface can cooperate other sub-system of site to promulgate all kinds of news.Key words: News Release System; Web; ASP; Access目 录引 言1第1章 需求分析及相关技术21.1 设计目的21.2 新闻发布系统的特点21.3 可行性分析21.4 系统设计31.5 ASP技术简介41.6 VBScript基础71.7 IIS配置101.8 Access数据库简介13第2章 数据库设计142.1数据库的建立142.2 数据库设计15第3章 系统功能模块具体实现173.1 前台显示模块设计173.2 后台管理模块设计193.3 超级管理员模块设计22第4章 系统测试344.1 前台页面测试344.2 后台登陆测试354.3 系统运行测试364.4 系统维护36结束语37致 谢38参考文献39附 录40附录A 软件使用说明书40附录B 各主功能模块源代码4355四川理工学院毕业设计(论文)引 言随着网络是21世纪对人类社会影响最深远的科技成就之一。随着Internet的进一步发展,静态Web站点的开发与维护变得越来越困难,一方面信息的不断增加和变化,使站点维护人员不得不经常修改他们的网页,特别是基于数据库驱动的Web站点更是如此。另一方面静态网页由于不能与浏览者进行有效交互,使人们感到越来越乏味,而不愿意再一次地进入同一站点。所以开发动态网页或动态内容成了越来越多的站点所追求目标。所谓动态内容是由每一个用户按照自己的需求发出请求而特殊制作的Web网页。新闻发布系统是一个在网络上实现新闻的多用户发布,多栏目管理,实时的进行行为统计和记录的网上交互系统,是Web开发行业中一项可持续发展的信息基础产业。最早的网络新闻系统是以静态Web站点的形式发布,这样开发出来的系统不但耗费大量的人力物力,而且成效也不大;随着数据库和ASP的发展,动态网页越来越流行,给新闻系统的开发带来了越来越大的潜力,加上网页三剑客在系统中的应用,网页开发的形式越来越简单化、多样化。本系统就是以ASP为开发平台,以Dreamweaver MX 2004为开发工具,Microsoft Access为后台数据库的新闻发布系统,该系统充分解决了系统交互性问题(用户可以对所浏览的新闻进行评论,评论的内容会放入数据库中,管理员在后台查看评论并给出回复。),在新闻发布模块使用了完整的插件进行新闻发布,能以网页的形式发布也可以以文本形式发布;发布前可以进行预览;支持Flash动画播放和各种图片的发布;新闻可以直接从本地链接中导入也可以从网络上转载。本论文从程序员角度出发,对如何用开发新闻发布系统进行详细的介绍,并画出了大量的模型图加以说明。但由于本人知识有限,加上时间紧迫,所以论文中的错误和不足在所难免,恳请给予批评与指正。第1章 需求分析及相关技术1.1 设计目的随着计算机技术的发展,网络技术对我们生活和工作显得越来越重要,特别是信息高度发达的今天,人们对最新信息的需求依赖于信息发布的及时性,而动态交互式网页刚好提供了这些功能。HTML作为一种样式语言,出现了在Internet上信息量的增多和交互性的加强使HTML显得越来越难以胜任的情况,在ASP编程语言高度发展的形式下,我们开始了对新闻发布系统的开发。1.2 新闻发布系统的特点与一般的信息系统相比较,新闻发布系统具有以下特征:1.页面模块化,本系统在界面设计上都采用了模块化处理思想,把一些页面共有部分集成一个模块,例如页面的头、尾、数据库连接等,这样在开发时如果遇到这些相似的页面部分,就不需要重新编写,而只要重用这些部分即可,大大提高了开发的效率,充分展示了面向对象程序设计中的一个重要思想就是代码的重用性。2.本系统是基于ASP + Access的WEB信息系统,数据库逻辑相对简单,但数据量一般比较庞大。3.是一个开放式的系统,前台浏览无须验证。4.本系统具有非常好可移植性,可以在现有的任何系统上正常的运行。1.3 可行性分析根据软件工程思想,当我们开始一个软件开发任务的时候,也就进入软件开发的第一个阶段,即进行可行性的研究。并不是所有问题具有简单的解决办法,许多问题不能在预定的规模之内解决。因此通过可行性的研究分析可以知道解决问题的方法。有了可行性的解决方法,从而避免人力、物力和才力的浪费。在进行了初步调查的基础上就可以提出系统目标了,这是系统开发和评价的依据。而系统目标应该充分体现,直接为新闻发布系统服务,并且程序可以分期、分批、分模块的实现。然而,系统目标是不可能在总体规划阶段就提得非常具体的,它将在整个系统的开发过程中逐步得到完善,以达到设计本系统的目标。系统的目标确定后,就可以从以下两方面对能否实现本系统目标进行可行性分析:1.3.1 技术可行性根据本系统功能、性能及实现系统的各项约束条件,根据新系统目标来衡量所需的技术是否具备,本系统是一个集数据库管理与查询的系统,现有的技术以较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发。1.3.2 运行可行性系统的研制和开发得充分考虑到管理人员对新闻发布系统的易于管理,管理者能够方便的进行新闻的添加、新闻评论、新闻的审核,系统参数的设置等操作,从而能够完全满足用户的要求。1.4 系统设计系统开发的目标、功能、系统需求及规格、软件系统的总体结构已经确定,现给出系统中各个组成模块间的联系。划分出各功能模块,将软件功能需求分配给各功能模块。下一步工作就是在上述结果基础上,考虑怎样实现这个软件系统。1.4.1 系统功能分析经过调研、可行性、需求分析及系统分析,现已总结出新闻发发布系统的数据流程。本系统完成后将具备如下功能:1.系统管理(即系统相关设置),本功能模块包括如下子模块:(1) 系统基本信息,主要实现网站标题、版权信息等设置。(2) 系统参数设置,主要对首页最新新闻条数、新闻搜索每页显示的新闻数、新闻管理每页显示记录数等参数的设置。2.版面管理,主要对新闻类别的管理,本功能模块包括如下子模块:(1) 类别管理,即新闻类别管理,实现新闻类别增加、删除与修改等操作。(2) 专题管理,实现专题报道名字的增加、删除与修改等操作。3.新闻管理,主要实现与新闻有关的操作,本功能模块包括如下子模块:(1) 添加新闻,本功能模块不仅可以实现新闻的添加,而且还可以在添加的新闻中一起上传附件。(2) 修改新闻,本功能模块可以对现有的新闻进行在线的编辑、修改与删除等操作。(3) 评论管理,本功能模块实现对用户发表的评论进行管理。4.审核管理,本功能模块实现新闻的审核,包括1个子功能模块:审核新闻,这个功能模块实现对新发表的新闻进行审核,只有审核后的新闻才能够被用户看到。5.系统帮助,本功能模块主要帮助操作管理员方便的使用本系统,包括如下子功能模块:功能简介,介绍系统的主要功能,以帮助管理员使用本系统。1.4.2 系统功能的模块设计新闻网前台功能结构新闻分类新闻详细信息分类显示新闻搜索友情链接后台登录口新闻发布系统前台功能结构,如图1.1所示。图1.1 新闻网前台功能结构图新闻网后台功能结构管理员管理新闻栏目管理新闻文章管理新闻评论管理新闻内容审核服务器信息新闻发布系统后台功能结构,如图1.2所示。图1.2 新闻网后台功能结构图根据对以上数据的分析与描述,现在可以知道本系统各个功能模块之间的关系,以便于更好的实现本系统,同时可以决定选用什么语言及数据库来开发本系统。1.5 ASP技术简介ASP是Active Server Pages的简称,是服务器端脚本编程环境。使用ASP可以将HTML页、脚本命令和ActiveX组件组合起来,创建动态的、交互的Web网页和基于Web的功能强大的应用程序。简单地讲,ASP是位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的、交互式的Web应用程序。1.5.1 ASP的特点ASP内含于IIS3.0和IIS4.0之中。有了ASP,就不必担心客户端浏览器是否能运行所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。从字面上说,ASP包含下面3方面的含义:1. Active:ASP使用了微软公司的ActiveX技术。采用了封装对象,程序调用对象的技术,简化编程,加强程序间的合作。只要在服务器上安装这些组件,通过访问组件,可以快速、简易地建立自己的Web应用程序。2. Server:ASP运行在服务器端。这样就不必担心浏览器是否支持ASP所使用的编程语言。ASP的编程语言可以是VBScript和JavaScript。VBScript是Visual Basic的一个子集。然而Netscape浏览器不支持客户端的VBScript,所以最好不要在客户端使用VBScript。而在服务器端,则无需考虑浏览器的支持问题,Netscape浏览器也可以正常显示ASP页面。3. Pages:ASP返回标准的HTML页面,可以在常用的浏览器中正常显示。浏览者查看页面源文件时,看到的是ASP生成的HTML代码,而不是ASP程序代码。ASP作为IIS环境下开发Web应用的一种简单、方便的编程工具,ASP具有如下特点:1. 使用VBScript、JavaScript等简单易懂的脚本语言,结合HTML代码,可快速完成网站应用程序的开发;2. 容易编写,无须编译,可在服务器端直接执行;3. 使用普通的文本编辑器,即可进行编程;4. 与浏览器无关,只要客户端浏览器能够执行HTML代码,就可浏览利用ASP设计的网页内容。ASP所使用的脚本语言均在Web服务器端执行,客户端的浏览器不需要能够执行这些脚本语言;5. ASP能与任何ActiveX scripting语言相兼容,除了可以使用VBScript或JavaScript脚本语言来设计外,还可以通过plug-in的方式,使用由第三方所提供的其他脚本语言,脚本引擎是处理脚本程序的COM组件6. ASP的源程序不会被传到客户浏览器,因此可以避免所写的源程序被他人剽窃,也提高了程序的安全性;7. 可以使用服务器端的脚本来产生客户端的脚本;8. ActiveX服务器元件具有无限可扩充性,可以使用VisualBasic、Java、Visual C+、COBOL等编程语言来编写所需的ActiveX服务器元件。ASP的应用是完全基于IIS上的,用于windows NT server和workstaion 的 IIS版本不同,但其功能几乎完全相同,不同的只是安装过程。IIS提供3种服务:WWW,GOPHER,FTP。WWW服务为客户浏览器提交Web页,并允许客户访问ASP文件IIS支持虚拟目录,通过在服务器属性对话框中的目录标签可以管理虚拟目录。建立虚拟目录对于管理Web站点来说具有非常重要意义。虚拟目录隐藏着有关站点目录结构的重要信息。如果在Web页中使用物理路径,将暴露有关站点目录的重要信息,这很容易导致系统受到攻击。与一般的程序不同,ASP程序无须编译,ASP程序的控制部分是使用VBScript、JavaScript等脚本语言来设计,当执行ASP程序时,脚本程序将一整套命令发送给脚本解释器即脚本引擎,由脚本解释器进行翻译并将其转换成服务器所能执行的命令。编写程序时,系统提供了两种脚本语言:VBScript和JavaScript,其中,VBScript是系统默认的脚本语言。1.5.2 ASP的优势ASP解决了与CGI和服务器API相关的所有问题。除了和ISAPI应用程序一样有效外,且易于使用。使用CGI或ISAPI,必须用Perl或C语言编写一个计算机程序,该程序以复杂的接口代码连接服务器。然而要编译应用程序,并把它和适当的Web页面联系在一起。使用ASP,只要简单地在HTML页面中编写代码。HTML标记和代码是在一起的,以易于学习和使用的脚本语言编写这些代码,然而把页面保存到Web站点,它就可以运行了。不需要进行编译,也没有复杂的建立接口的过程!ASP使创建高度交互性的Web站点更迅速,也更容易。ASP还可以使页面于将来的维护和更新。1.5.3 ASP与HTMLASP本身不是一种脚本语言,它只是提供一种使嵌在HTML页面中的脚本程序得以运行的环境。ASP程序是存在于Web服务器上的扩展名为.asp的纯文本文件,可以使用任何文本编辑器对它进行编辑,其中可以包含纯文本、HTML标记以及脚本命令。ASP文件是以.asp为扩展名的文本文件,这个文本文件可以包括下列部分的任意组合:1. 文本;2. HTML标记;3. ASP脚本命令;创建ASP文件非常容易。如果要在HTML文件中添加脚本,只需将该文件的扩展名.htm或.html替换为.asp即可。要使ASP文件可被Web用户使用,应将这个新文件保存在Web站点的目录中。使用浏览器可查看该文件返回的HTML页。需要指出的是:因为ASP文件需要额外的处理,所以不要将所有的HTML页都转换为ASP页。应只将包含脚本命令的文件转换为ASP文件。ASP和HTML文件可以放置在相同的目录中。使用任何文本编辑器都可以创建ASP文件。使用这些带有ASP增强支持的编辑器将更能提高程序的工作效率。如果从未使用过HTML,应考虑先使用Microsoft FrontPage。使用FrontPage创建文档和格式化文本就像使用文字处理工具一样简单。接下来可使用Insert Script命令,在用FrontPage创建的HTML页面内加入简单的ASP命令。脚本是一系列的命令和指令。与HTML标签不同,脚本命令指示Web服务器执行操作,而HTML标签只是简单地格式化文本或读取图形、视频及音频文件。脚本命令可以在变量中存储用户名,在返回到浏览器的页面中显示用户名或将用户名存储在数据库中。脚本命令通过定界符与文本区别。定界符是字符或一串字符,它标志单元开始或结束。1.6 VBScript基础VBScript是Visual Basic Script的简称,即 Visual Basic 脚本语言,有时也被缩写为VBS。是asp动态网页默认的编成语言,配合asp内建对象和ADO对象,用户很快就能掌握访问数据库的asp动态网页开发技术。VBScript是微软开发的一种脚本语言,可以看作是VB语言的简化版,与VB的关系也非常密切。它具有原语言容易学习的特性。目前这种语言广泛应用于网页和ASP程序制作,同时还可以直接作为一个可执行程序。用于调试简单的VB语句非常方便。由于VBScript可以通过Windows脚本宿主调用COM,因而可以使用Windows操作系统中可以被使用的程序库,比如它可以使用Microsoft Office的库,尤其是使用Microsoft Access和Microsoft SQL Server的程序库,当然它也可以使用其它程序和操作系统本身的库。1.6.1 VBScript的数据类型VBScript 只有一种数据类型,称为 Variant。Variant 是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息。因为 Variant 是 VBScript 中唯一的数据类型,所以它也是 VBScript 中所有函数的返回值的数据类型。最简单的 Variant 可以包含数字或字符串信息。Variant 用于数字上下文中时作为数字处理,用于字符串上下文中时作为字符串处理。这就是说,如果使用看起来象是数字的数据,则 VBScript 会假定其为数字并以适用于数字的方式处理。与此类似,如果使用的数据只可能是字符串,则 VBScript 将按字符串处理。也可以将数字包含在引号 ( ) 中使其成为字符串。Variant 子类型除简单数字或字符串以外,Variant 可以进一步区分数值信息的特定含义。例如使用数值信息表示日期或时间。此类数据在与其他日期或时间数据一起使用时,结果也总是表示为日期或时间。从 Boolean 值到浮点数,数值信息是多种多样的。Variant 包含的数值信息类型称为子类型。大多数情况下,可将所需的数据放进 Variant 中,而 Variant 也会按照最适用于其包含的数据的方式进行操作。下表显示 Variant 包含的数据子类型:子类型 描述 Empty 未初始化的 Variant。对于数值变量,值为 0;对于字符串变量,值为零长度字符串 ()。 Null 不包含任何有效数据的 Variant。 Boolean 包含 True 或 False。 Byte 包含 0 到 255 之间的整数。 Integer 包含 -32,768 到 32,767 之间的整数。 Currency -922,337,203,685,477.5808 到 922,337,203,685,477.5807。 Long 包含 -2,147,483,648 到 2,147,483,647 之间的整数。 Single 包含单精度浮点数,负数范围从 -3.402823E38 到 -1.401298E-45,正数范围从 1.401298E-45 到 3.402823E38。 Double 包含双精度浮点数,负数范围从 -1.79769313486232E308 到 -4.94065645841247E-324,正数范围从 4.94065645841247E-324 到 1.79769313486232E308。 Date (Time) 包含表示日期的数字,日期范围从公元 100 年 1 月 1 日到公元 9999 年 12 月 31 日。 String 包含变长字符串,最大长度可为 20 亿个字符。 Object 包含对象。 Error 包含错误号。1.6.2 过程与函数Sub过程Sub过程是一种可以获取参数,执行一系列语句以及可改变其参数值的独立过程。Sub过程可以使用参数(由调用过程传递的常数、变量或表达式),参数用于在调用过程和被调用过程之间传递信息。如果Sub过程无任何参数,则Sub语句必须包含空括号()。其语法结构如下:Sub 子程序名(参数1,参数2,)End Sub定义一个Sub过程后,就可以在程序代码中调用它。Sub过程的调用有两种方式。一种是使用Call语句,它要求将所有参数包含在括号之中,其语法结构如下: Call子程序名(参数1,参数2,)另一种是直接使用子过程名,只须输入过程名及所有参数值,参数值之间使用逗号分隔。其语法结构如下: 子过程名 参数1,参数2,Function 函数函数与子过程一样,也是用来完成特定功能的独立的程序代码,可以读取参数、执行一系列语句并改变参数的值。但函数有一个最重要的特点,就是调用时将返回一个值。函数的语法结构如下:Function 函数名(参数1,参数2,)语句函数名=表达式语句End Function与Sub过程类似,其中“参数1,参数2,”是指调用时传递时的常数、变量或表达式,如果无任何参数,则Function语句必须使用空括号。与Sub过程不同的是,Function函数通过函数名返回一个值,这个值是在函数体中赋给函数名的,Function返回值的数据类型是Variant。“函数名=表达式”用于为函数设置返回值,该值将返回给调用的语句,函数中至少要含有一条这样的语句。Function函数只有通过直接引用函数名实现函数的调用,面且函数名必须用在变量赋值语句的右端或表达式中。调用函数时,参数要放在一对括号中,这样就可以将它们和表达式的其他部分分开。例如:Temp=Cclsius(60)1.6.3 VBScript函数VBScript 把一些最常用的功能整理起来,编制好了相应的处理程序,将它们以函数的形式提供使用。恰当的使用函数可以节省大量的时间,Data返回当前系统日期Now返回当前计算机设定的日期和时间值Time返回目前的系统时间InpuBox显示一个输入框,提示用户输入一个数据LoadPicture返回图片对象MsgBox显示一个信息对话框1.7 IIS配置IIS(Internet Information Server,互联网信息服务)是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。1.7.1 安装IIS在Windows XP 中选择【开始】【控制面板】,打开【控制面板】单击【性能和维护】打开【性能维护】单击 打开【管理工具】窗口,查看是否有 安装IIS(因特网信息服务) (Windows 2000 Server安装方法相同,如果是Windows98请安装ADD-ONS目录下的PWS) 打开 Windows XP 【控制面板】中的【添加和删除程序】选择【添加/删除Windows组件】会弹出一个【Windows组件向导】对话框,如图1.3:图1.3 Windows组件向导点击“下一步”,选择完毕,按下“确定”按钮,IIS将自动安装在系统中,至此IIS安装大功告成。1.7.2 设置IIS1.双击打开【管理工具】窗口2.双击上图中的【Internet信息服务】图标,打开【Internet信息服务】窗口:3.用鼠标右键点击【默认网站】在下拉菜单中选择【属性】,打开【默认网站属性对话框】如图1.4:图1.4 默认网站属性对话框上图【网站标识】中【描述】文本框可以输入站点名称或者作者的描述,例如可以改为【网域高科】 【IP地址】文本框输入该服务器在网络中的IP地址,使用下拉箭头,可以看到和选用该服务器正在使用的IP地址,这个IP地址是供访问者浏览网页用的。 【端口】80端口号是网络默认的WEB服务端口,没有特殊需要,不用改变。 关于IP地址,前面我们已经讨论过网上安家的几种方法,那么如果我们要让自己的电脑成为服务器,则设置完毕IIS之后,将这里的IP地址公布给他人,大家就能访问您的主页了。如果您申请了域名,想让自己的电脑作为服务器使用,但又是使用的动态IP,您可以选用很多软件来解决这个问题,例如使用广州网域公司的“花生壳”软件,让您的动态IP也能对应您的域名。4、切换到【主目录】选项卡,如图1.5:图1.5 主目录选项卡图中: 【连接到资源时的内容来源】请选则【此计算机上的目录】其他两个选项不选择本地计算机,一般不采用。 【本地路径】网站所存在的物理路径名,比如我们在自己电脑的D盘建立了一个myweb的目录,并把我们制作的网页图片等放在这个目录内,那么这个物理路径就是“d:myweb”可以点击【浏览】按钮选择目录 注意:【读取】这一项必须选中,否则他人无法浏览。【写入】【目录浏览】等选项,为了网站安全起见,如果不是特殊需要,请不要选中。5、切换到【文档】选项卡,如图1.6:【启用默认文档】请选中,【默认文档列表】中出现的文档依照上下顺序,会被系统作为网站的首页。也就是说当用户在浏览器的地址栏键入IP地址或者域名之后,IIS会按照从上到下的顺序自动将您的物理路径中的存在的文档提供给用户浏览。以大多数服务器为例,默认的主页名称为index.asp或Default.htm,因此请各位在制作自己的网站的网页时,主页名称以此命名。图1.6 文档选项卡根据您申请的空间不同,可能有的服务商要求主页的名称为index.html等,请根绝服务商要求添加相应的默认文档。因为我们申请的空间服务器系统不同,有些系统不支持中文文件名,因此请大家务必使用英文小写字母命名文件。6、单击【确定】按钮,完成IIS设置。本机测试:在浏览器地址栏键入,打开您的主页。网络测试:请网络上的朋友访问您的真实的IP地址或者域名,打开你的主页。1.8 Access数据库简介Microsoft Office Access(前名 Microsoft Access)是由微软发布的关联式数据库管理系统。它结合了 Microsoft Jet Database Engine 和 图形用户界面两项特点,是 Microsoft Office的成员之一。Access能够存取 Access/Jet、Microsoft SQL Server、Oracle(甲骨文软件公司),或者任何 ODBC 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的进阶用户则能使用它来开发简单的应用软件。虽然它支援部份面向对象(OO)技术,但是未能成为一种完整的面向对象开发工具。其实Access 也是微软公司另一个通讯程序的名字,想与 ProComm 以及其他类似程序来竞争。可是事后微软证实这是个失败计划,并且将它中止。数年后他们把名字重新命名于数据库软件。第2章 数据库设计2.1数据库的建立在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世界,信息的这一循环经历了三个领域:信息世界,数据世界,现实世界。现实世界的事物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。这些信息再进一步加工、编码,然后进入数据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考虑系统开发所需要的数据,以及如何对这些数据进行操作。这两个问题贯穿了整个软件系统的开发过程,这也就是数据库的设计问题,软件设计的一个核心。用Microsoft Access2000创建一个数据库文件,并命名为“caifuw.mdb”。如图2.1:图2.1 设计器建表选项用“使用设计器创建表”在caifuw.mdb中创建一个存储新闻信息的表,保存名为“caifuw”,具体字段属性如图2.2:图2.2 表字段属性样式具体字段及内容输入完毕后,选择“视图”菜单中的“数据表视图”随便输入几条记录,方便接下来测试新闻用。如图2.3:图2.3 表记录显示2.2 数据库设计经过数据库的学习之后,就进入数据库的设计阶段。首先创建8个基本的数据库表。1管理员表(如表2-1)数据来源:后台超级管理员添加后台管理员表2-1 后台管理员表2.评论数据表(如表2-2)数据来源:前台对新闻发表的评论信息3新闻内容数据表(如表2-3)数据来源:后台管理员进行新闻发布表2-2 评论数据表表2-3 新闻内容数据表4新闻类别表(如表2-4)数据来源:后台管理员进行添加表2-4 新闻类别表第3章 系统功能模块具体实现根据现有的需求分析和总体设计思想,现在可以进入系统的详细设计和实现阶段。系统的设计与实现如下。3.1 前台显示模块设计前台部分(主页部分):是给浏览者看的,用于显示各栏目的最新新闻列表。当你选中的某篇新闻时就会弹出相应的新闻文章内容来,包括作者、新闻来源、发布时间等信息。在阅读新闻后,还可以根据自己的感觉对此发表自己的看法,也可以查看别人的评论。如图3.1: 图3.1 新闻发布系统前台流程图前台显示模块为浏览新闻的用户提供了一个比较直观的界面,用户可以通过点击新闻分类来阅读相关的新闻,还可以通过站内搜索来筛选自己感兴趣的新闻,这样大大方便了用户、提高了阅读新闻的效率。1 主页显示效果如图3.22 搜索功能显示效果如图3.33 评论功能显示效果如图3.4图3.2 前台主页显示效果图图 3.3 新闻搜索功能模块界面图图 3.4 新闻评论功能模块界面图3.2 后台管理模块设计后台管理主要包括新闻栏目管理,新闻管理、用户管理、系统参数管理、新闻审核管理等。新闻栏目管理包括新闻栏目的创建、修改与删除。新闻管理模块包括新闻内容的发布(图片和添加最新新闻)、修改与删除。用户管理包括管理员的添加与删除。所有发布的新闻只有通过新闻审核管理才能在前台显示出来,这样保证了所发布的新闻的合法性,这个功能模块只有超级管理员才拥有此权限。后台流程如图3.5:3.2.1管理员身份验证流程首先,进入后台页面admin_index.asp,然后输入用户名、密码与验证码,先对用户名与密码进行验证(调用过程SetFocus ()),再对验证码进行验证(调用页面inc/checkcode.asp),通过则根据相应的权限进行相应的管理界面(错误则给出提示)。图3.5 新闻发布系统后台流程图3.2.2 登录模块(admin_Login.asp)界面设计登陆组件主要用于系统管理员进行系统维护时,作为登陆后台用户与密码验证之用,在用户输入用户名和密码之后,调用此组件即可验证该用户是否合法.在本系统设计中,为了密码的安全性,密码采用了MD5进行加密.即在用户输入密码之后,该组件先进行密码的MD5转换,经过转换后的密码如果和系统中的密码相同,则验证通过,否则为不合法用户,不给予登陆后台系统的权力。对于MD5算法简要的叙述可以为:md5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由4个32位分组组成,将这4个32位分组级联后将生成一个128位散列值。在MD5算法中,首先需要对信息进行填充,使其字节长度对512求余的结果等于448.因此,信息的字节长度(bits length)将被扩展至n*64+56个字节(bytes),n为一个正整数.填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。然后,再在这个结果后面附加一个以64位二进制数表示的填充前信息长度。经过这两步的处理,现在的信息字节长度=n*512+448=(n+1)*512,即长度恰好是512的整数倍。这样做的原因是要满足后面处理中对信息长度的要求。登录模块的界面效果如图3.6所示:图3.6 登录模块界面效果图3.2.3 登录验证模块的主要代码登录操作:检查用户名、密码与验证码,并完成权限的分配。验证通过返回true。/当用户按下登陆按钮后,先检测验证码的正确性,再检查系统用户表中是否相应的用户和密码。关键代码:function SetFocus()if (document.Login.UserName.value=)document.Login.UserName.focus();elsedocument.Login.UserName.select();function CheckForm()if(document.Login.UserName.value=)alert(请输入用户名!);document.Login.UserName.focus();return false;if(document.Login.Password.value = )alert(请输入密码!);document.Login.Password.focus();return false;if (document.Login.CheckCode.value=) alert (请输入您的验证码!); document.Login.CheckCode.focus(); return(false); 3.3 超级管理员模块设计超级管理员模块负责整个系统管理与维护,包括管理员添加与删除,新闻的审核,等操作。3.3.1 超级管理员模块界面设计效果如图3.7所示。图 3.7 超级管理员模块界面效果图3.3.2 超级管理员模块的部分功能模块及主要代码添加、修改系统用户(adduse.asp)的相关属性。流程:添加或者编辑;如果为添加状态,当添加用户名后检查用户名是否已经存在,如果为重复用户名则提示错误,如果没有重复用户名则保存;如果为编辑状态,更新用户名,用户密码,用户类型,然后检查用户名是否已经存在,如果为重复用户名则提示错误,如果没有重复用户名则保存修改;如果是删除系统用户,在删除前则应该提醒用户,给出警告,告诉本操作不仅会删除该系统用户本身,而且还将删除该系统用户所发布的所有新闻。关键代码如下:public String SaveAdd(String s, String s1, String s2) throws Exception String sLog = new String5;/日志操作时用的数组try boolean OK = true;String sError = ;Connection Conn = pool.getConnection();/数据库连接Statement stmt = Conn.createStatement(1004, 1007);for (int i = 0; i s.length; i+) si = Fun.getStrCN(Fun.CheckReplace(si);/对提交过来的信息进行过滤String sa1 = new String4;String sa2 = new String4;int iAdminType = Fun.StrToInt(s2);/得到用户权限if (iAdminType = 0)iAdminType = 1;String sOK = Fun.CheckDate(sa1, sa2); / 返回Yesif (!sOK.equals(Yes) OK = false;sError = sOK; String sql1 = select * from Admin where AdminName= + s0 + ;/构造检测注册的用户名是否存在的SQLResultSet rs1 = stmt.executeQuery (sql1);if (rs1.next() OK = false;sError = 该用户名已经存在,请重新输入!;if (OK) s1 = md5.getMD5ofStr(md5.getMD5ofStr(s1);String sql = insert into admin (AdminName,AdminPwd,AdminType,AddTime,UserName,UserSex,;sql += UserBirthday,UserEmail,UserQQ,UserTel,UserAddress,UserZip,UserInfo) values (;sql += + s0 + ,;sql += + s1 + ,;sql += + iAdminType + ,;sql += + s3 + ,;sql += + s4 + ,;sql += + s5 + ,;sql += + s6 + ,;Sql = sql;stmt.executeUpdate(sql);stmt.close();Conn.close();sLog1 = 添加新的管理员用户 + s0 + ;sLog4 = Yes;Fun.AddLog(sLog);/添加到日志表中return Yes; elsereturn sError; catch (Exception e) sLog1 = 添加新的管理员用户 + s0 + 操作失败;sLog4 = No;Fun.AddLog(sLog);return 添加用户操作出错!;3.3.3 新闻添加模块(Admin_wzAdd1.asp)效果图及主要代码新闻添加功能模块,对所有后台管理员开放,本功能模块不但操作非常简单方便,而且功能非常强大,不但可以发布纯文字的新闻,还可以发布图片新闻,也可以在新闻中插入多媒体(如:Flash、Mp3,支持的多媒体文件有wav,wmv,mpg等,这些文件格式以及文件上传的大小都可以根据服务器空间的大小进行相应的扩展,非常的灵活),让新闻动起来,也可以上传资料。在本功能模块中,使用了一个在线编辑器Editor组件,此组件可以对发布的新闻进行格式的设置,实现了Word的一部分功能,使用起来非常的方便与灵活。效果图如图3.8所示:图 3.8 添加新闻模块界面效果图主要代码如下:%dim classID,Title,Key,content,addmsg,IncludePicclassID=trim(request(ClassID)Title=trim(request(Title)Key=trim(request(Key)IncludePic=trim(request(IncludePic)content=trim(request.form(content)set addmsg=server.createobject(adodb.recordset)sql=select * from caifuwaddmsg.open sql,conn,1,3addmsg.addnewaddmsg(ClassID)=ClassIDaddmsg(Title)=Titleaddmsg(IncludePic)=IncludePicaddmsg(Key)=Keyaddmsg(content)=contentaddmsg.updateaddmsg.closeset addmsg=nothingresponse.Write(alert(信息添加成功!);this.location.href=Admin_wzAdd1.asp;) %3.3.4新闻类别管理模块(AdminClass.asp)效果图及部分主要代码新闻类别管理功能模块实现新闻类别添加、修改与删除。新闻类别管理权限只赋予系统管理员与超级管理员,在管理员进行操作的时候应给出敬告信息,告诉管理员谨慎操作,此操作只有一次,将不可恢复。请管理员谨慎操作。主要代码:public String AddSClass(String s2, String s3, String s4, String s5,String s6) throws Exception try boolean OK = true;Connection DBConn = pool.getConnection();Statement stmt = DBConn.createStatement (1004, 1007);Statement stmt1 = DBConn.createStatement (1004, 1007);String SClassInfo = Fun.CheckReplace (s3);String s = Fun.CheckDate (sa1, sa2);if (!s.equals(Yes) OK = false;sError = s;if (BigClassID = 0) OK = false;sError = 所属大类参数传递错误,请重试!;if (OK) String sql2 = select * from SmallClass where SmallClassName=+ SClassName + and BigClassID= + BigClassID + ;ResultSet rs2 = stmt1.executeQuery (sql2);if (rs2.next () OK = false;sError += 该小类标题 + s2 + 已经存在,不能重复!;/大类存在的错误提示信息if (OK) /如果不存在,则向数据库中写入该大类String sql = insert into SmallClass (SmallClassName,;sql += SmallClassInfo,BigClassID,AddTime) values (;sql += + NowTime + );stmt.executeUpdate (sql);return Yes; elsereturn sError; 3.3.5 新闻审核管理功能模块(Admin_wzCheck.asp)界面图及主要代码新闻审核功能模块界面只有拥有超级管理员权限的才能进入该功能界面,对于来自网友的新闻评论,管理员有权进行相应的删除,特别是对于有些触犯我们法律法规的评论,管理员有权进行删除。如图3.9所示:图 3.9 新闻审核管理模块界面效果图主要代码如下:0 thenif Child0 thenChildID=set tClass=conn.execute(select ClassID from caifuwClass where ParentID= & ClassID & or ParentPath like & ParentPath & , & ClassID & ,%)do while not tClass.eofif ChildID= thenChildID=tClass(0)elseChildID=ChildID & , & tClass(0)end iftClass.movenextloopsql=sql & and A.ClassID in ( & ChildID & )elsesql=sql & and A.ClassID= & ClassIDend ifend ifif strField thenif keyword thenselect case strFieldcase Titlesql=sql & and A.Title like % & keyword & % case Contentsql=sql & and A.Content like % & keyword & % case Authorsql=sql & and A.Author like % & keyword & % case Editorsql=sql & and A.Editor like % & keyword & % case elsesql=sql & and A.Title like % & keyword & % end selectend ifend ifsql=sql & order by A.ArticleID descSet rsArticleList= Server.CreateObject(ADODB.Recordset)rsArticleList.open sql,conn,1,1if rsArticleList.eof and rsArticleList.bof thentotalPut=0if Child=0 thenif Passed=True thenresponse.write 没有任何已审核的文章!elseresponse.write 没有任何待审核的文章!end ifelseif Passed=Tr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 时间的脚印app课件
- 有趣的发现作文500字8篇范文
- 时装销售专业知识培训课件
- 时政知识培训方案策划书课件
- 时尚品牌知识课件
- 农业产品供销合同及质量保障协议
- 作文之星谈攻略写作文打腹稿很重要11篇
- 纪检业务知识培训心得
- 纪昌学射课件
- 纪念鲁迅先生的课件
- 2025年少先队知识竞赛试题库附答案
- 2025年郑州人才公司面试题及答案
- 2025年跨境电子商务测试题及答案
- 防蚊培训课件
- 弥漫性大B细胞淋巴瘤病例讨论
- 2025年医院血透室人员培训工作计划
- 2025年公务员考试时政热点必做题(附答案)
- 休克的诊断和治疗课件
- 广东省湛江市2024-2025学年高一下学期期末调研测试政治试卷(含答案)
- 2025-2030中国汽车玻璃水行业竞争优势与前景趋势洞察报告
- 厨房刀具安全培训课件
评论
0/150
提交评论