摘 要
在网络应用日益普及的今天,“网络宣传”是目前最流行的网络媒体活动,在网站中您可以实现查看有关奥运的新闻、动态等功能。同时,您可以通过注册成为该网站的会员来和其他人针对不同问题展开激烈的讨论。从而,使人们对奥运有新的认识。另外,对于该网站的管理人员来说除拥有除以上功能外的一些管理功能。
该系统使用Dream weaver设置界面,用VBScript脚本编写程序,后台数据库采用Microsoft Access数据库设计,利用ADO数据库访问技术实现对数据库的各种管理,实现系统的基本功能及管理功能。设计过程中,首先建立了系统的结构框架,然后在此基础上进行需求添加,详细设计时不断修改和完善,经过测试阶段反复调试和验证,最终形成达到设计要求的可行性网站。
关键词: ASP 网络媒体 ADO 数据库
目 录
引言 1
第一章 所用开发语言简介 2
1.1 ASP的特点 2
1.2 程序使用的对象及其属性和方法 4
1.3 系统开发环境 6
1.3.1 Web服务器的选择 6
1.3.2 IIS简介 6
第二章 需求分析 8
2.1 系统功能模块 8
2.2 系统逻辑模块 10
2.3 系统数据分析 12
第三章 设计阶段 15
3.1 概要设计 15
3.1.1 数据库概论 15
3.1.2 数据库的主要功能需求 16
3.1.3 模块划分及功能介绍 16
3.2 详细设计 20
3.2.1 程序流程图 20
3.2.2 主要窗体功能及实现方法 26
第四章 系统维护与安全 43
4.1 系统维护与安全性 43
4.2 出错处理 44
结束语 45
致谢 46
参考文献 47
引 言
网站(Website)是指在因特网上,根据一定的规则,使用HTML等工具制作的用于展示特定内容的相关网页的集合。简单地说,网站是一种通讯工具,就像布告栏一样,人们可以通过网站来发布自己想要公开的资讯,或者利用网站来提供相关的网络服务。人们可以通过网页浏览器来访问网站,获取自己需要的资讯或者享受网络服务。
在因特网的早期,网站还只能保存单纯的文本。经过几年的发展,当万维网出现之后,图像、声音、动画、视频,甚至3D技术开始在因特网上流行起来,网站也慢慢地发展成我们现在看到的图文并茂的样子。通过动态网页技术,用户也可以与其他用户或者网站管理者进行交流。也有一些网站提供电子邮件服务。
许多公司都拥有自己的网站,他们利用网站来进行宣传、产品资讯发布、招聘等等。随著网页制作技术的流行,很多个人也开始制作个人主页,这些通常是制作者用来自我介绍、展现个性的地方。也有以提供网络资讯为盈利手段的网络公司,通常这些公司的网站上提供人们生活各个方面的资讯如时事新闻、旅游、娱乐、经济等。
随着2008北京奥运会的举办,各项体育赛事在中国展开。大家可以通过网站浏览到各个赛事的重点,参与讨论。谢谢大家!
第一章 所用开发语言简介
1.1 ASP的特点
ASP是一种未经编译的开放式的应用软件,是微软公司推出的一种用以取代CGI(公共网关接口即Common Gateway Interface)的技术,它实质上是一种服务器端脚本环境。ASP被包含在IIS 3.0及其更高版本之中。通过ASP,用户可以结合HTML网页、ASP指令和ActiveX组件建立动态、交互且高效的Web服务器应用程序。ASP的出现使用户不必担心客户端不能正确运行所编写的代码,因为所有的程序将在服务器端执行,包括所有内嵌的普通HTML中的脚本程序。客户端只要使用可执行HTML代码的浏览器,即可浏览通过ASP设计出来的页面内容。当程序执行完毕后,服务器仅将执行的结果返回给客户端浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。
ASP并不是一种纯粹的编程语言,它所用的语言是大多数人都非常熟悉的两种脚本语言,即VBScript和JavaScript语言。在一个ASP应用程序中可以用其中一种脚本语言,也可以结合这两种语言使用。另外ASP还能与任何ActiveX Scripting语言相兼容。
ASP使用的ActiveX技术是基于开放设计环境的,用户可以使用Visual Basic、Java、等编程语言将自己定义和制作的组件加入其中,是自己的动态网页具有无限的扩充能力,这是传统的CGI等程序所远远不及的地方。另外,ASP可利用ADO(Active Data Object,微软公司的一种数据访问模型)方便地访问数据库,从而使得开发基于WWW的应用系统成为可能。
ASP的编辑环境要求非常简单,任何一种文本编辑器都可以编写ASP应用程序。
使用ASP开发网页应用程序具有以下一些特点:
(1)完全内嵌,与HTML和Script语言充分结合。
(2)无需编译,容易编写,可在服务器端直接运行,且Web程序开发时间短。
(3)无浏览器兼容问题。
(4)程序代码隐藏,在客户端只能看到由ASP输出的动态HTML文件。
(5)使用任何文本编辑器都可以进行编辑设计。
(6)可使用任何语言编写自己的ActiveX Server组件。
(7)使用ADO组件轻松存取数据。
(8)面向对象,并可扩展的ActiveX Server组件。
一个以ASP为基础的应用程序包含了Web服务器的虚拟目录(Virtual Directory)以虚拟目录下的所有文件夹与执行文件。虚拟目录主要是为了保护服务器端站点的内容和资料,避免受到网络黑客的恶意破坏和攻击而产生的。在提供WWW服务的服务器端,虚拟目录的作用是不让客户端用户知道一些目录与重要文件的真实路径,也就是说每一个绝对路径(即真实路径)都已经隐藏起来,这些可以供网络客户访问的Internet资源都会以服务器的文档根目录(Document Root)作为相对路径的基点(Base),或者另取一个从表面上看来毫无关系的别名(Alias Name)来隐藏真实目录名称。这些相对目录就称为虚拟目录,相对路径和绝对路径是相对立的。
另外,每个ASP Web应用程序都拥有一个Global.asa文件,后缀名asa是Active Server Application的缩写。
(1) ASP文件的存取方式
使用任何一种文本编辑器都可编写ASP应用程序,编写的程序要以后缀名.asp保存,不可以保存为.html形式。如果是以.html形式保存的话,服务器端将不编译文件中所有的包含ASP语法的语句。
将文件保存为后缀名.asp的形式是为了告诉提供ASP服务的服务器,这是一个ASP应用程序,必须在给客户端送出文件之前把它编译一遍。将.asp后缀名的文件编写存储完毕之后,就可以把它放在自己的Web服务器上执行,这样就能够在浏览器端看到ASP页面的输出效果了。
(2) ASP文件的结构特点
到目前为止,我们已经知道ASP能够和HTML、Script语言完美结合。在这之前一直都称开发的项目为应用程序,或许有些人认为ASP文件是一个已经被编译过的文件,但ASP文件是一个文本文件,可以用任何一种编辑器打开它,并对它进行适当的编辑修改。
一般情况下一个ASP包含以下几个部分:
(1)普通的HTML文件。
(2)客户端的Script程序代码,放置于<Script>和</Script>标签之内。
(3)服务器端的ASP Script程序代码,放置于<% . . . %>标签之内。
(4)Server Side Include语句,即使用#Include的语法在本页面嵌入其他的Web页面。ASP的服务器会将其原封不动的发送到客户端,由客户端的浏览器进行处理。目前在ASP中可以使用的脚本语言主要是VBScript和Jscript,其中系统默认的脚本语言为VBScript。不过任何一个可以和ActiveX Script标准兼容的脚本语言引擎都可以很好地应用于ASP之中。
1.2 程序使用的对象及其属性和方法
(1)Request对象(从客户端获取信息,主要是读取提交表单中的数据)
QueryString: 从查询字符串中读取用户提交的数据;
Form:获取客户端在FORM表单中所输入的信息;
Cookies: 取得客户端浏览器的Cookies信息。
(2)Response对象(返回信息到客户端,主要是向浏览器输出文本、数据、
Cookies等)
Response.Write: 直接送出信息到客户端;
Response.Redirect: 引导客户端浏览器至新的Web页面;
Response.End: 终止处理ASP程序,并返回当时的状况。
(3)Session对象(为单个用户保存信息)
利用Session存储信息的语法:
Session(”Session名字”)=变量或字符串信息
(4)Server对象
CreatObject方法: 用于创建组件、应用对象或脚本对象的实例
CreatObject的语法如下:
Set Server.CreatObject(ActiveX Server组件)
(5)Connection对象(ADO的内部对象,用来建立与数据库的连接)
在ADO中建立对象一般要用Server对象的CreatObject方法,语法如下:
Set Connection 对象=Server.CreatObject (“ADODB.Connection”)
Open方法: 用于建立和数据库的连接;
Close方法: 用来关闭一个已打开的对象及其相关的各种对象;
Execute方法: 用来执行数据库查询。
(6)Command对象(用来对数据库执行命令,如查询、添加记录等命令)
Execute方法: 用来执行数据库查询。
(7)Recordset对象(用来得到从数据库返回的记录集)
建立Recordset对象的语法如下:
Set Recordset 对象=Server.CreatObject(“ADODB. Recordset”)
用Open方法打开数据库的语法如下:
Recordset对象.Open[Sourse],[ActiveConnection],[CursorType],
[LockType],[Options]
1.3 系统开发环境
1.3.1 Web服务器的选择
要使自己的计算机成为Web服务器就要安装相应的Web服务器软件。有许多的Web服务器可以用来建立Windows下的Web站点。但是不同的Web服务器支持不同的功能。选择Web服务器时,最重要的是使Web服务器易于建立和管理。其次选择服务器时应注意服务器提供的安全程序,如果Web站点只为浏览Web站点的用户提供大量的信息,那么安全性问题并不十分重要,但如果要在网上提供重要信息时,应确保数据在传输之前进行加密,这时可以使用额一种安全机制进行传输。另外,Web服务器必须支持CGI脚本(包括ASP)。通过提供动态内容和及时响应用户输入,CGI脚本使得用户可以与服务器进行交互。此外Web服务器还应支持日志文件,这对于Web管理员及时了解站点的反问情况并做出相应的决策有帮助。
1.3.2 IIS简介
IIS是Windows NT提供的Internet服务的核心,Windows NT的安装光盘上带有IIS。IIS是微软公司为企业和部门发布信息而设计的,一般用于大型的站点。
IIS 5 是新一代的Web服务器软件,它包括许多新的特征:
(1) ASP3.0解释工具和ASP调试工具。
(2) 功能强大的Microsoft Management Console(是微软管理控制台)、Microsoft Transaction Server等管理工具。
(3) 对多Web站点(虚拟主机)支持。
(4) 对Web站点内容完全控制。
(5) Microsoft Index Server微软高性能索引器。
(6) HTTP1.1和HTTP重定向支持。
要特别注意的是服务器端的运行环境如下:
(1)Windows 2000 + IIS5.0 (Internet信息服务管理器5.0)
(2)Windows XP + IIS5.0 (Internet 信息服务管理器5.0)
(3)Windows 98 + PWS4.0 (personal Web Server 4.0,个人Web服务管理器)
(4)Windows NT 4.0 + Windows NT Option pack
第二章 需求分析
2.1 系统功能模块
本系统主要实现以下一些基本功能:
(1)新闻发布:新闻发布系统主要是信息的发布与管理,涉及到前台用户对新闻信息的浏览和后台新闻的管理两大模块。前台页面一般不需要用户登录注册,也就是对所有用户均开放,不做权限验证,在前台为了满足用户参与的需求,还需要添加新闻评论的功能,使得用户可以对新闻信息发表自己的看法和意见。另外,为了获得用户对哪些方面的信息感兴趣,还要在用户单击新闻浏览时自动统计新闻的浏览次数,以供后台展示热点新闻信息的受欢迎程度。后台管理方面,必须由合法的管理者来管理新闻的发布、修改、删除等,我们要将新闻信息添加到数据库,放置到指定的栏目下。为了使新闻展示出来具有好的效果,还需要对新闻进行排版、添加图片及上传附件等。另外,新闻的发布难免会发生错误,由此还需要对新闻进行修改和删除等。
除此之外,前台的评论,对于热点新闻及新闻的受欢迎程度等信息应该能提供管理界面让管理者浏览到,以便管理者能监控系统的访问过程。
(2)BBS讨论区:BBS又称电子公告板,不仅可以用在日常交流中,而且在远程教育、远程医疗中也起到了很大的作用。BBS的形式丰富、方便。给大家构建了一个完美的网络讨论空间。在BBS中对于用户来说,其首先需要注册才能够在讨论区发帖子,因此用户有用户ID、用户名、用户密码,以及用户的各项资料等属性,综合这些属性,可以得出的论坛的第一个功能部分——用户的注册,信息的修改,已经注册用户的登录、登出等操作。对于帖子来说,其属性相对就复杂了。首先,不能所有的帖子都放在一起,因此就有了第二个功能部分——帖子分类。帖子的本身又要包含标题和内容两个基本属性,当然,为了方便查看和管理,我们还需要给帖子加上发布时间的属性。将帖子和用户联系起来,则需要在帖子中注明此帖的发布人的昵称、发布人的编号等信息。另外,帖子还分主帖和针对主题的回复帖两种。
完成对用户和帖子两个基本要素的分析后,论坛的基本功能就算是完善了,即帖子的浏览、发表、用户的注册管理。但是即使对一个简单的论坛来讲,仍然是需要管理员来管理的,这个管理不仅是对帖子的管理,还应当包括对用户的管理。因此论坛应包括第三个功能部分——管理部分,在此部分中,应当允许管理员进行登录等操作,并在本部分所有的页面中加入对当前浏览者是否是管理员的判断,以防止越权管理。在判断管理员合法后,应当允许管理员对帖子和用户进行属性修改及删除等操作。
(3)用户登录与注册:用户登录页面主要是为用户提供登录的窗口,用户通过在页面内输入正确的用户名及密码,取得登录系统的权利。否则不能登录系统,实现系统的其他功能。在此,登录的前提是注册用户的一些信息,只有注册成功才能成为该网站的用户。
(4) 数据维护和安全管理:数据维护主要对后台数据库进行管理和维护,包括添加、删除、修改等操作,实现对数据库的更新,可以提高系统的运行效率;安全管理主要是对用户的信息进行管理,管理员能够有权增加或删除系统的操作人员,并指定教师的登录密码,也可以增加和删除系统管理员。
2.2 系统逻辑模块
图2-1 功能模块之间的关系图
图 2-2 系统的页面逻辑结构示意图
2.3 系统数据分析
根据系统功能和模块的分析和划分,并综合考虑实际使用情况,得出程序中要使用的数据和这些数据以及数据与模块程序之间的调用关系。
用户登录要使用到用户表的基本数据,用户分为管理员、普通用户两种,其中管理员信息主要包括用户名和密码;普通用户的信息主要有用户名、密码、性别、E_mali 等信息;管理员则可以对所有用户的信息进行管理。
数据项的定义是数据库的基础,合理的数据项定义可以提高数据的运行效率,极大限度地减少数据的冗余。
在新闻发布系统中我们需要建立的数据有以下几项:
表2-1 新闻内容表(news)结构
序号 | 字段 | 描述 | 类型和长度 | 主键 | 可空 | 默认值 |
1 | Id | 自动编号 | Int | 是 | 否 | 无 |
2 | Title | 新闻标题 | Varchar(50) | 否 | 否 | 无 |
3 | Pubtime | 发布时间 | Datetime(8) | 否 | 是 | Getdate() |
4 | Userid | 作者 | Varchar(50) | 否 | 是 | 无 |
5 | Content | 新闻内容 | Text | 否 | 否 | 无 |
6 | Viewtimes | 查看次数 | Int | 否 | 是 | 0 |
7 | tuinew | 是否推荐新闻 | int | 否 | 是 | 0 |
在网站留言系统中我们需要建立的数据有以下几项:
表2-2 留言内容表(GUEST)结构
序号 | 字段 | 描述 | 类型和长度 | 主键 | 可空 | 默认值 |
1 | Id | 自动编号 | Int | 是 | 否 | 无 |
2 | Title | 留言标题 | Varchar(50) | 否 | 否 | 无 |
3 | Ftime | 留言时间 | Datetime(8) | 否 | 是 | Getdate() |
4 | Userid | 作者 | Varchar(50) | 否 | 否 | 无 |
5 | content | 留言内容 | text | 否 | 否 | 无 |
BBS论坛系统中我们需要建立的数据有以下几项:
表2-3 论坛内容表(BBS)结构
序号 | 字段 | 描述 | 类型和长度 | 主键 | 默认值 |
1 | Bbs_id | 自动编号 | Int | 是 | 无 |
2 | Title | 文章标题 | Varchar(50) | 否 | 无 |
3 | Body | 文章内容 | Text | 否 | 无 |
4 | Layer | 层数 | Int | 否 | 无 |
5 | Parent_id | 父文章编号 | Int | 否 | 无 |
6 | Child | 回复文章数目 | Int | 否 | 0 |
7 | hits | 点击次数 | int | 否 | 0 |
8 | User_name | 用户名 | Varchar(50) | 否 | 无 |
9 | Fbtime | 发布时间 | Datetime(8) | 否 | Getdate() |
10 | hftime | 回复时间 | Datetime(8) | 否 | Getdate() |
序号 | 字段 | 描述 | 类型和长度 | 主键 |
1 | Id | 自动编号 | Int | 是 |
2 | Gly | 管理员姓名 | Varchar(50) | 否 |
3 | mm | 密码 | int | 否 |
管理员所需建立的数据:
表2-4 管理员表(GLY)结构
另外,在进入网站上的论坛、留言等模块的时候还需要普通用户的登录,普通用户表如下:
表2-4 用户表(USER)结构
序号 | 字段 | 描述 | 类型和长度 | 主键 | 可空 |
1 | Id | 自动编号 | Int | 是 | 否 |
2 | Name | 用户名 | Varchar(50) | 否 | 否 |
3 | Password | 用户密码 | Varchar(50) | 否 | 否 |
4 | | 用户电子邮箱 | Varchar(50) | 否 | 否 |
5 | Love | 爱好 | Varchar(50) | 否 | 否 |
第三章 设计阶段
3.1 概要设计
3.1.1 数据库概论
本系统的关键在于ASP数据库的开发应用技巧和流程。为了与数据库更好的配合工作,我们采用了 ADO对象。使用ActiveX数据对象ADO,可以对来自许多数据提供者的数据进行读取和写入操作。例如,可以使用ADO访问Microsoft Access、Microsoft SQL Server 和 Oracle数据库中的信息。
微软公司的Access数据库本身不是一个数据库m服务器,它不能用服务器来运行查询。对于数据庞大的情况,Access本身不是一个好的选择,另外一个要考虑的是数据库的安全问题,Access比起SQL Server而言,总体的安全性要差。 对于ASP而言,与它搭配的最常用的数据库是Microsoft SQL Server ,但从应用的角度而言,本系统从前端ASP页面的内容来看,它并不十分关心后台的数据库类型。它采用的数据库组件(ADO)模型对于系统开发者而言,是面向对象封装好的,开发者在面对不同的后台数据库时,需要修改的只是很少的一些对方即可。因此采用了在创建、使用以及配置上都比较容易的Access数据库。
Access是Microsoft Office 系列中的一个组件,它用于企业管理和个人用户中,提供通过向导建立数据库管理系统和通过编程建立数据库管理系统。Access采用的是”关系型数据库”,它本身就可以生成一个完整的系统。由于它和VB同为Microsoft开发,Access中采用Microsoft Access Visual Basic编程,所以它能很好的和VBScript 结合编程。
现在越来越多的人选择 Access 2002 作为自己的数据库,它和 Access 2000 相比,有着更突出和优越的地方。在 Access 2002 中,使用经改进的 Data Access Page 设计程序,可以快速创建连到 Access 和 SQL Server 数据库的 Web 页,实现输出报表、表格,以及 XML 格式的查询。新引入的 Data Access Pages 是表格和报表的HTML/XML 版本,是该版本中许多新功能的核心。但它只能在 Internet Explorer 5.0 及以上版本实现 (Access页虽然可以被配置到 Internet 网站,但它必须配置 Remote Data Services)。
图3—8 主页界面
图3-9 新闻界面
图3-10 论坛界面
图3-11 留言界面
图3-11管理员登录界面
图3-12 管理员主界面
图3-13 用户管理界面
图3-14 论坛管理界面
图3-15 留言管理界面
图3-16 新闻管理界面