3/241本章主要内容2.2ASP内置对象概述2.4使用Response对象2.3使用Request对象2.7使用Server对象2.6使用Session对象2.8使用Application对象2.1ASP概述2.5使用Cookie2.1ASP概述•ASP是一种服务器端脚本编写环境,它以VBScript或Jscript作为脚本语言,其文件扩展名是.asp。•ASP脚本只在Web服务器上执行,所以在Windows操作系统下运行该网页,需要安装IIS。在客户端计算机浏览器中可以看到脚本的执行结果(即HTML静态网页),但看不到ASP源代码本身。•从浏览器来看,ASP页与标准HTML页几乎是完全相同的,向Web服务器发出一个ASP请求后,浏览器将收到一个标准HTML页。(例)2.1ASP概述编写一个ASP网页%@LANGUAGE=VBScript%HTMLHEADTITLEHello,World!/TITLE/HEADBODY这个网页于%=Time()%创建。/BODY/HTML其中%=Time()%是在服务器端执行的脚本,用于显示在服务器上处理该网页的时间。%@LANGUAGE=VBScript%HTMLHEADTITLEHello,World!/TITLEstyletype=text/css.font1{font-size:24px;font-family:微软雅黑;color:#FF3300;}/style/HEADBODYclass=font1这个网页于%=Time()%创建。/BODY/HTML改进!%@LANGUAGE=VBScript%HTMLHEADTITLE循环控制字体/TITLE/HEADBODY%Fori=1to6%fontsize=%=i%使用ASP语句控制字体大小/fontbr%next%/BODY/HTMLASP语句的书写要点•1.字母不分大小写;•2.%%的位置相对随便;•3.不能将多条语句写在同一行;•4.当语句过长时,可以让其自动换行,也可以按Enter键换行,但要在非末尾行后加一个下划线;•5.注释语句用rem或’来标记;•6.最好用缩进的写法。10/2412.2ASP内置对象概述ASP提供了一些内置对象,在脚本中不必创建这些对象,便可以直接访问它们的方法、属性和集合,以扩展脚本的功能(1)Response对象:用于向客户端浏览器发送信息,或将访问者转移到另一个网址,并可以输出和控制Cookie信息等(2)Request对象:提供客户端在请求一个页面或传送一个表单时提供的所有信息,即能够从客户端发送信息到服务器。Response和Request的关系•在ASP中,与客户端的动态交互是通过Response和Request对象实现的,这两个对象起到了服务器与客户机之间的信息传播作用,其中Request对象用于接收客户端浏览器提交的数据,而Response对象的功能则是将服务端的数据发送到客户端浏览器。12/2412.2ASP内置对象概述(3)Server对象:提供了一系列的方法和属性,在使用ASP编写脚本时是非常有用的。最常用的是Server.CreateObject方法(4)Session对象:存储一个会话内的信息。Session对象是在每一位访问者从Web站点或Web应用程序中首次请求一个ASP页时创建的,它将保留到默认的期限结束或者通过脚本设置中止的期限。13/2412.2ASP内置对象概述(5)Application对象:在一个ASP应用中让不同客户端共享信息。Application对象是在,为响应一个ASP页的首次请求而载入Asp.dll时创建的,它提供了存储空间用来存放变量和对象的引用,可以用于所有的页面,任何访问者都可以打开这些页面。14/241包含服务器端文件在ASP页中,可以通过#include命令指示Web服务器将文件内容插入到文档中,被包含文件的内容可以是允许在HTML文档中使用的任何有效内容。语法格式如下:!--#includefile|virtual=Filename--例:!--#includefile=“head.asp--案例Index.asp文件内容!--#includefile=head.htm--!--#includefile=body.asp--!--#includefile=bottom.asp--在浏览器查看INDEX.ASP的源文件优点19/2412.3Request对象一、Request对象概述•Request对象在HTTP请求期间检索客户端浏览器传递给服务器的值。•把客户端的信息传输到服务器就要用到该对象。20/2412.3Request对象二、检索查询字符串使用Request对象的QueryString集合可以从客户端提交到服务器端的数据。语法为:Request.QueryString(variable)其中参数variable是在HTTP查询字符串中指定要检索的变量名;21/2412.3Request对象HTTP查询字符串可以由几种不同的方法生成,比较常用的方法有以下三种:(1)通过HTML表单提交数据时,若将表单的METHOD属性设置为get,则表单数据将附在查询字符串中被发送,可通过QueryString集合检索表单数据。22/2412.3Request对象(2)使用A标记创建超文本链接时,可以将查询字符串放在URL后面,并使用问号“?”来分隔URL与查询字符串。例如,单击下面的超文本链接时,将发送一个名称为UN的变量,其值为“Tom”,可以通过QueryString检索查询字符串中变量的值。AHREF==Tom单击这里/A23/2412.3Request对象(3)在浏览器地址栏中键入请求网页的URL时,可以在URL后面键入问号“?”和查询字符串,可以通过QueryString集合检索查询字符串中变量的值。例:=Tom也可以通过查询字符串发送多个变量,此时要使用“&”符号分隔各个变量。例如:AHREF==Tom&UA=19单击这里/A案例25/241Requestqs.aspHTMLHEADTITLE用户信息/TITLE/HEADBODYformname=form1method=getaction=rqs.asptablewidth=523height=131border=0cellpadding=0cellspacing=0trtdwidth=202请输入你的大名:/td26/241Requestqs.asptdwidth=321labelinputname=txtUserNametype=textid=txtUserName“/label/td/trtrtd请输入你的性别:/tdtdlabelinputname=txtUserSextype=textid=txtUserSex/label/td/trtrtd27/2412.3Request对象labelinputtype=submitname=Submitvalue=提交/label/tdtdlabelinputtype=resetname=Submit2value=重置/label/td/tr/table/form/BODY/HTML28/241RQS.asp内容%@LANGUAGE=VBScript%HTMLHEADTITLE检索查询字符串示例/TITLE/HEADBODY%dimxm,xb29/241RQS.asp内容xm=Request.QueryString(txtUserName)xb=Request.QueryString(txtUserSex)Ifxb=男ThenResponse.Write欢迎你,&xm&先生!ElseIfxb=女ThenResponse.Write欢迎你,&xm&小姐!EndIf%/BODY/HTML地址栏中直接使用参数•在浏览器地址栏中直接输入:=李咏&txtUserSex=男超链中使用参数htmlheadtitle超链中使用参数/title/headbodyahref=“rqs.asp?txtUserName=李咏&txtUserSex=男超链接使用参数/a/body/html例4.1Request41.asp•HTMLHEAD•TITLE用户信息/TITLE•/HEADBODY•formname=form1method=getaction=login1.asp•tablewidth=298height=131border=0align=centerRequest41.asptrtdwidth=89用户名:/tdtdwidth=168labelinputname=strNametype=textid=strName“/label/td/trtrtd性别:/tdtdlabelinputtype=radioname=Titlevalue=Mr先生 inputtype=radioname=Titlevalue=Ms“女士/label/td/trRequest41.asptrtdlabeldivalign=centerinputtype=submitname=Submitvalue=提交“/div/label/tdtdlabeldivalign=centerinputtype=resetname=Submit2value=重置“/div/label/td/tr/table/form/BODY/HTMLlogin1.asp%@LANGUAGE=VBScript%HTMLHEADTITLE检索查询字符串示例/TITLE/HEADBODY%dimstrName,strTitlestrName=Request.QueryString(strName)Response.Write您的用户名为&strNameResponse.Writebrlogin1.aspstrTitle=Request.QueryString(Title)Ifxb=MrThenResponse.Write先生,您好ElseResponse.Write女士,您好EndIf%/BODY/HTML38/2412.3Request对象三、检索表单数据使用Form集合可以检索在HTTP请求中通过post方法发送的表单控件的值,语法为:Request.Form(element)其中参数element指定要检索的表单控件的名称;案例Requestpost.AspHTMLHEADTITLE用户个人资料/TITLE/HEADBODYFORMNAME=Form1METHOD=postACTION=rqpost.aspP姓名:INPUTTYPE=textNAME=txtUserName/PP性别:INPUTTYPE=radioNAME=optUserSexVALUE=男男 INPUTTYPE=“radio”NAME=“