者进行比较。
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(总页数