《人机交互与界面设计》第4章服务器端交互程序设计2020/2/141《人机交互与界面设计》主要内容4.1初识ASP4.2ASP的内建对象4.3Request对象4.4Response对象4.5Session对象4.6Application对象4.7Server对象2020/2/142《人机交互与界面设计》4.1初识ASP•ASP(ActiveServerPages)是一种运行于服务器端的Web应用程序开发技术,它既不是一种语言,也不是一种开发工具,而是一种服务器端的脚本语言环境。•使用ASP,可以实现以下功能:•动态地编辑、改变或者添加页面的任何内容。•对由用户从HTML表单提交的查询或者数据作出响应。•访问数据或者数据库,并向浏览器返回结果。•为不同的用户定制网页,提高这些页面的可用性。•由于ASP代码无法从来浏览器端察看,ASP确保了站点的安全性。4.1.1ASP的运行环境2020/2/143《人机交互与界面设计》4.1初识ASP•ASP的运行需要服务器来解释。•微软的Internet信息服务器IIS(MicrosoftInternetInformationServer)是一种集成了多种Internet服务(服务、FTP服务等)的服务器软件,作为当今流行的Web服务器之一,它提供了强大的Internet和Intranet服务功能。4.1.1ASP的运行环境2020/2/144《人机交互与界面设计》4.1初识ASP•安装IIS信息服务器4.1.1ASP的运行环境“控制面板”中的“添加/删除程序”进行添加,操作步骤如下:(1)启动“添加/删除程序”应用程序,出现“添加/删除程序”对话框。(2)单击“添加/删除Windows组件”按钮,在“Windows组件向导”对话框中,选择“Internet信息服务”组件。单击“详细信息”按钮可以进行进一步设置,例如,选装FTP服务、SMTP服务等。(3)单击“下一步”按钮,系统开始安装。(4)安装完成后,单击“完成”按钮,即结束IIS的安装过程。(5)安装完毕,在浏览器中输入(或:),若能够显示windows附带的两个测试页面,表示安装成功。(6)IIS安装成功后,意味着为计算机安装了一个Web服务器。2020/2/145《人机交互与界面设计》4.1初识ASP•设置Web站点4.1.1ASP的运行环境双击“Internet服务管理器”图标,进入“Internet信息服务”窗口:(1)设置“Web站点”。右键单击“默认网站”,弹出默认网站属性设置页面。在“IP地址”下拉列表框中,选择Web服务器要连接的IP地址。若选择“全部未分配”,则表示连接本地计算机的所有IP地址。“TCP端口”采用默认的80端口。(2)设置“主目录”。“本地路径”是指当输入地址为本计算机的IP地址时,与该地址对应的物理地址为“C:\inetpub\”。(3)设置默认“文档”。选中“启用默认文档”项,可以看到默认的主页名称为default.htm、default.asp等。这样,在地址栏中只要输入计算机的IP地址,浏览器就会自动执行与默认文档同名的文件。用户可以添加新的默认文档。2020/2/146《人机交互与界面设计》4.1初识ASP•设置虚拟目录4.1.1ASP的运行环境(1)在“Internet信息服务”窗口,右击“默认Web站点”,选择“新建”“虚拟目录”项,出现“虚拟目录创建向导”对话框。(2)单击“下一步”按钮,在“虚拟目录创建向导”对话框中,输入虚拟目录名book。(3)单击“下一步”按钮,通过“浏览”下拉列表选择要设置为虚拟目录的文件夹(放置ASP文件的文件夹)。(4)单击“下一步”按钮,设置虚拟目录的访问权限。(5)单击“下一步”按钮,即可完成虚拟目录的设置。2020/2/147《人机交互与界面设计》4.1初识ASP•主目录和虚拟目录4.1.1ASP的运行环境2020/2/148建立Web站点时,需要指定包含发布文档的目录,发布目录可以是主目录或虚拟目录。每个站点都必须有一个主目录,默认主目录是C:\Inetpub\。从主目录以外的目录发布信息,可以创建虚拟目录。虚拟目录具有“别名”,客户端浏览器用此别名来访问目录。使用虚拟目录,可以发布远程主机上的信息;使用虚拟目录,用户不知道文件的物理位置,更安全。《人机交互与界面设计》4.1初识ASP4.1.2ASP文件结构ASP文件以.asp为扩展名。ASP文件在标准的HTML文件上扩展了一些附加的特征,任何可以放在HTML文档中的内容都可以放在ASP文件中。ASP程序无需编译,由相应的脚本程序引擎解释执行。ASP的默认脚本语言是VBScript,安装ASP时,系统提供两种脚本语言:VBScript和JavaScript。ASP脚本语言的代码可以放在程序的任何位置,需要使用%和%将其括起来,且不必事先说明。2020/2/149《人机交互与界面设计》4.1初识ASP4.1.2ASP文件结构一个ASPWeb页面包含以下4个部分:(1)普通HTML文件。(2)客户端脚本程序代码,用Script和/Script定界符括起来。(3)服务器端ASP脚本程序代码,用%和%定界符括起来。(4)Include语句,使用#include语句在Web页面中嵌入其他Web页面。2020/2/1410《人机交互与界面设计》4.1初识ASP4.1.3一个简单的ASP程序【例4-1】以不同的字体和不同的颜色输出一段“朋友,你好!”的文字。htmlbody%randomize'用%和%定界符括起来的部分就是服务器端的脚本fori=3to7'控制输出文字的次数及字号大小colour=int(5*rnd())'产生0~4间的随机数selectcasecolour'由colour的值确定文字的颜色case1colour=redcase2colour=yellowcase3colour=bluecase4colour=greencase0colour=brownendselect%fontsize=%=i%color=%=colour%朋友,你好!br/font%next%/body/html2020/2/1411《人机交互与界面设计》4.2ASP的内建对象和应用组件ASP中包含了许多开发者可利用的内置对象,提供基本的请求、响应、会话等处理功能。ASP对象的使用非常简单,不需建立就可以在代码中直接调用。名称说明Request从浏览器(用户端)获取信息Response发送信息到浏览器Server提供Web服务器工具Session存储使用者的信息Application在一个ASP应用内让不同使用者共享信息ASP的内置对象2020/2/1412《人机交互与界面设计》4.3Request对象•Request对象的主要功能是从客户端取得信息,包括:–获取浏览器种类–用户输入表单中的数据–Cookies中的数据–客户端认证等•用户可以像使用一般对象一样使用Request对象•Request对象包括5个数据集合、1个属性和1个方法。2020/2/1413《人机交互与界面设计》4.3Request对象•Request对象的语法如下:Request[.数据集合|属性|方法](变量)其中,符号[]表示这个参数是可以省略的。•内部对象Request拥有以下5个数据集合:Form取得客户端表格元素中所填入的信息。QueryString取回URL请求字符串。ServerVariable取得服务器端环境变量的值。ClientCertificate从客户端取得身份验证的信息。Cookies取得客户端浏览器的Cookies值。2020/2/1414《人机交互与界面设计》4.3Request对象4.3.1Form数据集合•Request对象的Form集合收集来自客户端的以表单形式发往服务器的信息。•其使用语法如下:Request.Form(element)[(index)|.Count]其中:–element指定集合要检索的表格元素名称(如Text、Radio等)。–index是一个可选参数,可以取得Form下名称相同的表格元素。–index的值是0~Request.Form(element).count之间的任意整数。–Request.Form(elemtn).count属性值代表所有名称相同的表格元素的数目。–如果不存在名称相同的表格元素其返回值为1,若该表格元素不存在则返回值为0。•Form集合对应的方法为Post,QueryString集合对应的方法为get。2020/2/1415《人机交互与界面设计》4.3Request对象4.3.1Form数据集合【例4-2】一个用户登录的实例,它利用Form数据集合从客户端获取表单信息。用户信息输入页面读取表单信息的输出页面2020/2/1416《人机交互与界面设计》4.3Request对象4.3.1Form数据集合【例4-2】用户信息输入页面程序代码(4-2.htm):htmlbodyh2align=center用户登录/h2hrformaction=4-2.aspmethod=postp用户名:inputtype=textsize=10name=name/pp密码:inputtype=passwordsize=8name=pass/ppinputtype=submitname=b1value=提交/p/form/body/html2020/2/1417《人机交互与界面设计》4.3Request对象4.3.1Form数据集合【例4-2】当用户输入了用户名和密码后单击“提交”按钮,将由程序4-2.asp读取表单中的数据并进行口令验证。这是由action=“4-2.asp”指定的。其程序代码如下:htmlbodycenterh2p你输入的用户名是:%=request.form(name)%/pp你输入的密码是:%=request.form(pass)%/p%ifrequest.form(pass)=12345then'验证密码是否为12345response.write密码正确!elseresponse.write密码不正确!endif%/body/html2020/2/1418《人机交互与界面设计》4.3Request对象4.3.2QueryString数据集合•表单信息通过get方式发送时,就可以使用Request对象的QueryString集合接收数据。•QueryString集合主要用来接收数据量较小的,标识在url后面的一些变量及其值,这些变量主要应用于网页之间的信息交流。例如:=user•其使用语法如下:Request.QueryString(variable)[(index)|.Count]–index是一个任选的参数,可以让用户取得?字符后名称相同的变量名。而且在?字符之后还可以用符号&来连接两个不同的参数,例如:–=yes&N=no–count是一个整数,其值为0~Request.QueryString(变量名称).count之间的任意数。–Request.QueryString(变量名称).count表示所有名称相同的变量数,如果不存在名称相同的变量其值为1,若该变量不存在其值为0。2020/2/1419《人机交互与界面设计》4.3Request对象4.3.2QueryString数据集合【例4-3】通过Request.QueryString集合获取客户端信息。程序代码(4