第第1010章章ASPASP访问访问SQLSQLServerServer数据库数据库在管理信息系统的开发应用中,Microsoft公司的ASP(ActiveServerPages)被广为使用。ASP实际上是将标准的HTML文件拓展了一些附加特征,为编写人员提供了在服务器端运行脚本的环境,使编写人员可以利用VBScript和JavaScript或其他的第三方脚本语言来创建ASP,实现过去需要编写复杂的CGI程序才能实现的有动态内容的网页,如计数器等。ASP提供了一些内置对象和组件,允许用户从浏览器中接收和发送信息。ASP可以和诸如SQLServer这样的数据库进行连接,进而完成数据的交换与更新。本章首先介绍如何在不同版本的Windows操作系统上建立ASP的运行环境,然后重点介绍ASP的内置对象和组件,最后详细讲述使用ASP开发WEB数据库系统的一般过程和关于数据库的基本知识。10.1建立ASP的运行环境ASP程序是运行于网络服务器端的一种应用程序,想要正常运行ASP程序,首先应当建立ASP的运行环境。常用的支持ASP的网络服务器有PWS(PersonalWebServer)和IIS(InternetInformationServer),下面就分别介绍在3种常用的Windows操作系统下如何建立ASP的运行环境。10.1.1在Windows98上建立ASP的运行环境在Windows98操作系统上,通常选择PWS作为ASP运行的网络服务器。PWS是微软开发的个人网站服务器,主要应用于解决个人信息共享和Web开发。它是一个桌面形的Web服务器,使用它可以自动创建个性化主页,可以快速简便地进行Web站点设置。下面介绍PWS的安装及其配置:1.启动电脑之后,在光驱里放入Windows98安装光盘,双击光盘中“\add-ons\pws\”目录下的setup.exe,出现PersonalWebServer的安装界面,单击“下一步”,选择安装类型,如图10-1。其中“最小安装”和“典型安装”只提供使用Web站点的基本功能,不支持ASP脚本,请单击“自定义”安装;2.进入选择安装组件界面,选择“MicrosoftDataAccessComponents1.5”以及下面的“PersonalWebServer”和“TransactionServer”,如图10-2;3.选中“PersonalWebServer”,单击“显示子组件”按钮,进入PWS的子组件配置窗口,选中“文档”,单击“显示子组件”按钮,可以看到默认“ActiveServerPages”一项没有选中,如图10-3;选中该组件并单击“确认”按钮,返回如图10-2“选择安装组件界面”;ASP数据库开发实例导航·2·图10-1选择安装PWS的类型图10-2选择安装组件界面图10-3选中“ActiveServerPages”4.设置好需要的组件之后,单击“下一步”进入选择PWS安装目录界面,如图10-4,默认安装在“C:\Interpub\”目录下,用户可以选择其他的安装目录,单击“下一步”安装程序开始复制文件并且配置系统参数,安装完毕后,重新启动系统;第10章ASP访问SQLServer数据库·3·图10-4选择PWS安装目录5.双击任务栏图标或者桌面快捷方式启动PWS,主界面如图10-5,可以通过“主屏”启动和停止Web服务,在“高级”设置界面中,可以设置Web服务的虚拟目录。图10-5PWS配置管理界面这样,ASP的运行环境就成功地在Windows98系统中建立起来了。10.1.2在Windows2000上建立ASP的运行环境在Windows2000操作系统上,通常选择IIS5.0作为ASP得以运行的网络服务器。IIS是InternetInformationServer的缩写,它是微软公司主推的Web服务器,最新的版本是WindowsXP里面包含的IIS6.0。IIS与WindowNTServer完全集成在一起,因而用户能够利用WindowsNTASP数据库开发实例导航·4·Server和NTFS文件系统内置的安全特性,建立强大、灵活而安全的Internet和Intranet站点。IIS3.0版本以后引入了ASP,可以很容易地张贴动态内容和开发基于Web的应用程序。IIS的安装、管理和配置都相当简单。下面介绍IIS的安装及其配置:1.在“控制面板”的“添加/删除程序”中,选择“添加/删除Windows组件”,选中列表中的“Internet信息服务(IIS)”,如图10-6;图10-6安装Internet信息服务IIS2.单击“详细信息”按钮,选择要安装的子组件,如图10-7,确认“FrontPage2000服务器扩展”、“Internet信息服务管理单元”和“万维网服务”组件被选中,其他组件可以根据用户的需要选择安装,单击“确定”返回“安装Internet信息服务IIS”界面,单击“下一步”,即可开始安装文件和配置系统参数,安装完毕后,重新启动系统;图10-7选择要安装的子组件3.可以通过在开始菜单的“管理工具”中选择“Internet信息服务”打开IIS的配置管理主界面,如图10-8,选中“默认网站”,单击鼠标右键,可以“暂停”、“停止”或者“启动”默认的Web站点,也可以新建“虚拟目录”来发布一个新的Web站点,还可以对某个Web站点进行“服务器扩展检查”来提高IIS的安全性。4.选择鼠标右键菜单中的“属性”选项,可以对当前Web站点进行进一步的管理配置。第10章ASP访问SQLServer数据库·5·图10-8IIS的配置管理主界面图10-9“网站”属性页面如图10-9,在“网站”属性页面可以设置该站点的“描述”、服务器的“IP地址”和Web服务所使用的“TCP端口”等,还可以设置“连接超时”和“日志纪录”等项目;在“主目录”属性页面可以设置Web站点在服务器上的物理路径,并且可以进行访问权限的设置,如“读取”、“写入”、“目录浏览”、“记录访问”、“脚本资源访问”和“索引资源”,如图10-10,单击“配置”按钮,进行“应用程序配置”,在“调试”属性页面中确认选中“启用ASP服务器脚本调试”和“启用ASP客户端脚本调试”,这在进行对ASP应用程序的调试过程中会有所帮助,如图10-11;在“文档”属性页面可以设置当客户端对该Web站点请求连接时默认启动的HTML页面或者ASP应用程序;在“目录安全性”属性页面可以设置“匿名访问和身份验证控制”和“安全证书”,以确保管理信息系统运行的安全性能;ASP数据库开发实例导航·6·在“服务器扩展”属性页面可以设置“客户脚本”,默认为VBScript,如图10-12。图10-10“主目录”属性页面图10-11应用程序配置页面图10-12“服务器扩展”属性页面第10章ASP访问SQLServer数据库·7·这样,ASP的运行环境就成功地在Windows98系统中建立起来了。10.1.3在WindowsXP上建立ASP的运行环境在WindowsXP操作系统中集成了IIS5.1,在WindowsXP上建立ASP的运行环境的步骤和在Windows2000下基本相同,此处不再重复。10.2ASP对象和组件如果你想编写ASP应用程序,首先应该掌握一种脚本语言,如VBScript,并且熟练掌握ASP的各种内嵌对象和ActiveX组件。这些对象以及组件都可以用来拓展ASP应用程序的功能,实际上,只要掌握了内嵌对象和ActiveX组件,你就可以编写功能强大的ASP应用程序。一个对象具有方法、属性或者集合,其中对象的方法决定了我们可以用这个对象做什么事情;对象的属性可以读取,它描述对象状态或者设置对象状态;对象的集合包含了很多和对象有关系的键与值的配对。下面是对每一种对象的快速浏览:Request对象为脚本提供客户端在请求一个页面或传送一个窗体时提供的所有信息,这包括能够标识浏览器和用户的HTTP变量,存储他们的浏览器对应于这个域的cookie,以及附在URL后面的值(查询字符串或页面中Form段中的HTML控件内的值)。它也给我们提供了通过SecureSocketLayer(SSL)或其他的加密通信协议访问证书的能力,并提供有助于管理连接的属性。Response对象用来访问所创建的并返回客户端的响应。它为脚本提供了标识服务器和性能的HTTP变量,发送给浏览器的信息内容和任何将在Cookie中存储的信息。它也提供了一系列用于创建输出页的方法,如无所不在的Response.Write方法。Application对象是在为响应一个ASP页的首次请求而载入DLL时创建的,它提供了存储空间用来存放变量和对象的引用,可用于所有的页面,任何访问者都可以打开它们。Session对象是在每一位访问者从Web站点或Web应用程序中首次请求一个ASP页时创建的,它将保留到默认的期限结束(或者由脚本决定终止的期限)。它与Application对象一样提供一个空间用来存放变量和对象的引用,但只能供目前的访问者在会话的生命期中打开的页面使用。Server对象提供了一系列的方法和属性,在使用ASP编写脚本时是非常有用的。最常用的是Server.CreateObject方法,它允许我们在当前页的环境或会话中在服务器上实例化其他COM对象。还有一些方法能够把字符串翻译成在URL和HTML中使用的正确格式,它通过把非法字符转换成为正确、合法的等价字符来实现。ASPError对象通过Server对象的GetLastError方法使用。它提供了发生在ASP中的上一次错误的详细信息。ObjectContext对象:ObjectContext对象可以用来控制ASP的执行。这种执行过程由MicrosoftTransactionServer(MTS)来进行管理。可以把这些对象看作是基于ObjectContext对象的一个层次关系的成员,这有助于理解它们与接受和响应客户请求的过程之间的关系,如图10-13所示。图中表现了ASP和创建及服务于ASP页的过程之间的关系。ASP数据库开发实例导航·8·图10-13ASP中各种对象之间的关系10.2.1Response对象1.Response对象的集合Response对象只有一个集合,如表10-1所示,该集合设置希望放置在客户系统上的cookie的值,它直接等同于Request.Cookies集合。表10-1Response对象的集合及说明集合名称说明Cookies在当前响应中,发回客户端的所有cookie的值,这个集合为只写的2.Response对象的属性Response对象也提供一系列的属性,可以读取和修改,使响应能够适应请求。当设置某些属性时,使用的语法可能与通常所使用的有一定的差异。如表10-2所示。表10-2Response对象的属性及说明属性说明Buffer=True/False读/写,布尔型,表明由一个ASP页面所创建的输出是否一直存放在IIS缓冲区,直到当前页面的所有服务器脚本处理完毕或Flush、End方法被调用。在任何输出(包括HTTP报头信息)送往IIS之前这个属性必须设置。因此在.asp文件中,这个设置应该在%@LANGUAGE=...%语句后面的第一行。在ASP3.0以及后续版本中缺省设置缓冲为开(True),而在早期版本中缺省为关(False)CacheControlsetting读/写,字符型,设置这个属性为“Public”允许代理服务器缓存页面,如为“Private”则禁止代理服务器缓存的发生Charset=value读/写,字符型,在由服务器为每个响应创建的HTTPContent-Type报头中附上所用的字符集名称(例如:ISO-LATIN-7)ContentType=MIME-type读/写,字符型,指明响应的HTTP内容类型,标准的MIME类型(例如“text/xml”或者“Image/gif”)。假如省略,表示使用MIME类型“text/html”,内容类型告诉浏览器所期望内容的