便快捷地访问数据库,从而使得开发基于WWW的应用系统成为可能,这也是本文选择ASP作为开发工具最重要的原因之一。
1.2.1ASP的6大内建对象
ASP提供了6个功能强大的内部对象,每个对象具有各自的属性(Property)、方法(Method),有的还拥有数据集合(Collection)与事件(Event),它们共同完成Web中的一些重要工作。这6个对象分别是:
▲Request对象:Request对象可以保存Client端送往Server端的所有信息。这些信息包括:使用Get或Post方法传递的数据、Server环境变量、Cookie信息等。在没有指定表单集合的情况下,程序将以QueryString、Form、Cookie、ServerVariable的顺序搜索所有集合,寻找指定变量。
▲Response对象:Response对象的主要功能是将信息从Server端传送到Client端。也可以用来实现页面的跳转或Cookie值的设定。由于ASP脚本没有输出"值"的功能,要完成此功能必须使用Response对象。
▲Server对象:Server主要功能是执行与Web服务器直接相关的一些操作。
▲Session对象:Session对象能够记录用户每一次上线的个人信息,它相当于每个上线用户的私有变量集合。它随着用户的上线而产生,随着用户的下线或强制解除而终止。
▲Application对象:Application对象能记录所有Web用户的共有信息,它相当于所有上线用户的公共变量集合。它伴随着Web应用程序的开始运行而产生,随着Web应用程序的运行结束而终止。
▲Objectcontext对象:Objectcontext对象主要在进行交易处理时使用,利用该对象可以管理、控制这些交易。
1.2.2ASP与CGI的比较
CGI(CommonGatewayInterface,通用网关接口)也是Internet上一种功能强大的Web页面技术,其工作方式有别于ASP。我们现对二者进行比较。
ASP开发Web应用程序的特点:
1完全嵌入HTML,与HTML、Script语言完美结合。
2无需编译,容易编写,可在服务器端直接执行。
3ActiveXServerComponents具有无限可扩充性。
4使用脚本语言(JavaScript、VBScript或PERL)编写。
5存取数据库轻松容易(使用ADO组件)。
6可使用任何语言编写自己的ActiveXServer组件。
7无浏览器兼容问题。
8程序代码隐藏,客户端仅能看到ASP输出的HTML文件。
相比之下,使用CGI开发Web应用程序具有以下缺点:
1对开发人员的要求非常高。
2使用CGI开发的Web应用程序虽说已能动态地产生页面,但它只能进行单一的资料操作,无法满足用户控制和管理大型数据库的需要。
3须使用其他较复杂的语言来开发CGI程序。
4CGI开发出来的Web应用程序其程序代码复用率低。
5程序开发时间较长。
6存取数据库不容易。
7每个CGI程序被不同用户执行时都得重新执行一次,并占去Server的一个端口(Port),降低Server效率。
可见,ASP在数据库访问、与HTML的集成、提高服务器的效率等诸多方面都优于CGI,更适应Web应用程序开发的需要,因此本文选择了ASP作为个性化页面生成器的开发工具。
1.2.3ASP与IIS
IIS简介
Web服务器是Web应用程序的心脏。IIS(InternetInformationServer)是微软推出的WindowsNTOptionPack的主要成员,作为WindowsNT的扩展,自推出以来已经有了很大发展,其体系结构是当今市场上最受关注的Web服务器之一。它具有强大的系统安全性,具有服务器端脚本开发调试,内容管理和站点分析,崩溃防护,内置JAVA虚拟机及全面支持ASP等强大功能。
IIS与ASP的结合
在过去,客户端/服务器结构的设计与Web的相关技术几乎处于平行线上,两者相互独立并无法作出集成性的设计。现在我们利用IIS+ASP,将客户机/服务器结构与Web密切结合,完成前后端两者的集成输出功能,使得Web站点的开发更方便,实现的功能更强大。
利用IIS+ASP技术来集成Web前后端所带来的强大效益可归结为几个方面:
1减少构建和维护成本
2加快联机过程
3应用软件集中在服务器端开发管理
4前端可使用任何浏览器(IE、Netscape...)
5后端可存取任何数据库(SQL、Access...)
6可使用任何脚本语言开发(VBScript、JavaScript...)
图1-3逻辑体系结构图
1.2.4ADO简介
ADO是ActiveXDataObject(ActiveX数据对象),是一组优化的访问数据库的专用对象集,它为ASP提供了完整的站点数据库解决方案,它作用在服务器端,提供含有数据库信息的主页内容,通过执行SQL命令,让用户在浏览器画面中输入,更新和删除站点数据库的信息。
ADO主要包括Connection,Recordset和Command三个对象,它们的主要功能如下:
▲Connection对象:负责打开或连接数据库文件;
▲Recordset对象:存取数据库的内容;
▲Command对象:对数据库下达行动查询指令,以及执行SQLServer的存储过程。
1.3技术要点
网页、图片制作工具和程序设计语言
▲DreamweaverMX制作网上书店各链接层次的网页。
▲FireworksMX制作网页所用的动画。
▲ASP动态服务器网页,建立网络数据库的链接,控制操作的流程。
▲MicrosoftAccess建立网络数据库。
在设计实现过程当中,还遇到一些技术问题,特别是与数据库的连接,如何处理它们直接影响到生成页面的质量和服务器端的效率。现将主要的技术要点及其解决思路介绍如下:
①链接数据库。
各功能模块中需要频繁的进行数据库操作,如果每遇到要使用数据库便建立一次链接将在一定程度上增大系统开销,也更容易出现各种问题,我们这里利用conn.asp文件专门建立数据库链接对象,所有的数据操作都使用该链接,从而提高了服务器效率。
②分页技术
为了提高页面的读取速度,本系统不会将所有的图书信息全部在一页中罗列出来,而是将其分成多页显示,每页显示一定数目的图书数,例如6本。分页显示的方法有很多种,在这里我们主要使用以下方法:将数据库中所有符合条件的记录一次性的都读入recordset中,存放在内存中,然后通过自定义的变量MaxPerPage(每页最多显示数)、totalPut(总数)、TotalPages(总页数)来管理分页处理。
③权限判断
为了防止非法用户访问后台系统,本系统在后台管理的每个文件中都设置了用户权限的判断,如果不是管理员权限的用户则无权访问,若是管理员还要判断该管理员的权限是管理(最高权限)、添加还是查看。这样就避免了非法用户通过直接输入文件名进行访问的情况,提高了系统的安全性。
第二章数据库
2.1创建数据库
图2-1网上书店系统E-R图
图2-2图书信息E-R图
图2-3订单信息E-R图
图2-4用户信息E-R图
图2-5管理员信息E-R图
图2-6大类别信息E-R图
图2-7送货信息E-R图
图2-8浏览信息E-R图
图2-9小类别信息E-R图
根据系统功能设计的要求以及数据库E-R图,采用MicrosoftAccess2000建立数据库,数据库名为bookshop.mdb,共有八个表。它们分别是admin管理员表(用于存放后台管理员的信息)、category大类表(用于存放图书分类中大类的信息)、delivery送货表(用于存放送货方式)、orders订单表(用于存放订单信息)、product图书表(用于存放书籍信息)、review浏览表(用于存放用户对图书的浏览信息)、sorts小类表(用于存放图书分类中小类的信息)、user用户表(用于存放用户信息)。
以下是各表包含的主要字段:
admin表:admin(用户名)、password(密码)、rank(权限)。
图2-10admin表结构图
category表:category(大类名)、first(是否在首页显示)、categoryorder(顺序)。
图2-11category表结构图
deli
上一篇:
Asp原创网上书店(论文和程序)
下一篇:
医学论文英语标题写作的修辞原则