Web数据库技术万红波烟台大学网络中心6.1在HTML中使用表单HTML中的表单,主要是用来通过浏览器向服务器发送数据。服务器端的程序(比如ASP程序),可以用来接收浏览器发送过来的数据。6.2Request对象通过Request对象可以访问HTTP请求的所有信息。6.2.1Request对象-Form集合Form集合包含了所有通过POST方法发送的数据。Request.Form(username)Fori=1ToRequest.Form(hobby).CountResponse.WriteResquest.Form(hobby)(i)&br/“‘Response.Write(Resquest.Form(“hobby”)(i)&“br/”)NextForEachiInRequest.Form(hobby)Response.Writei&“br/Next6.2.2Request对象-QueryString集合QueryString集合中包含了HTTP查询字符串中变量的值QueryString集合中包含了表单通过GET方法传送的数据=wan&password=passrequest.querystring(username)foreacheiinrequest.querystring(username)response.writei&br/next6.2.3Request对象-Cookie数据Cookie是存储在客户端的一些文本信息HTTP请求,HTTP回复都包含两部分HTTP头:HTTP的一些控制信息HTTP数据Set-Cookie:username=Bill;path=/wan;domain=aspsite.com;expires=Tuesday,01-Jan-9900:00:01GMT补充内容-HTTP请求:*/*Accept-Language:zh-cnAccept-Encoding:gzip,deflateIf-Modified-Since:Wed,21Mar200703:10:43GMTIf-None-Match:748b3283666bc71:2ceUser-Agent:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)Host:202.194.116.155Connection:Keep-Alive补充内容-HTTP回复HTTP/1.1200OKContent-Length:97Content-Type:text/htmlLast-Modified:Wed,21Mar200703:10:43GMTAccept-Ranges:bytesETag:748b3283666bc71:399Server:Microsoft-IIS/6.0MicrosoftOfficeWebServer:5.0_PubX-Powered-By:ASP.NETDate:Sun,25Mar200712:27:43GMThtmlheadtitleMyhomepage/title/headbodyhi,hi,myhomepage!/body/html6.2.3Cookie数据在ASP中创建Cookies数据创建单个的cookie数据response.cookies(username)=“BillGatesresponse.cookies(username).expires=Jan1,2007response.cookies(username).path=/loginresponse.cookies(username).domain=ytu.edu.cn创建cookie字典response.cookies(user)(name)=BillGatesresponse.cookies(user)(age)=436.2.3Cookie数据ASP中读取客户端浏览器发送的Cookierequest.cookies(username)foreachecinrequest.cookiesresponse.write(c&=&rquest.cookies(c))next补充内容-HTTP请求GET/setcookie.aspHTTP/1.1Accept:*/*Accept-Language:zh-cnAccept-Encoding:gzip,deflateUser-Agent:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)Host:202.194.116.155Connection:Keep-Alive补充内容-HTTP回复HTTP/1.1200OKDate:Sun,25Mar200712:34:25GMTServer:Microsoft-IIS/6.0Content-Length:123Content-Type:text/htmlSet-Cookie:username=Wan+Hongbo;path=/Set-Cookie:ASPSESSIONIDCCBQCTCB=JMHJCGDDKBOONOMBCFBBFCEO;path=/Cache-control:privatehtmlheadtitleSetcookie/title/headbodyCookie!ahref=getcookie.aspGetcookie/a/body/html补充内容-HTTP请求GET/getcookie.aspHTTP/1.1Accept:*/*Referer::zh-cnAccept-Encoding:gzip,deflateUser-Agent:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)Host:202.194.116.155Connection:Keep-AliveCookie:username=Wan+Hongbo;ASPSESSIONIDCCBQCTCB=JMHJCGDDKBOONOMBCFBBFCEO补充内容-HTTP回复HTTP/1.1200OKDate:Sun,25Mar200712:44:41GMTServer:Microsoft-IIS/6.0Content-Length:63Content-Type:text/htmlCache-control:privatehtmlhead/headbodyWanHongbo/body/html补充内容-页面间的数据传递使用Cookie在页面之间传递数据使用querystring在页面之间传递数据利用form的hidden类型传递信息利用cookie传递数据-1%response.cookies(username)=BillGates%htmlhead/headbodyahref=example2.aspexample2.asp/a/body/htmlexample1.asp利用cookie传递数据-2%dimun=request.cookies(username)%htmlhead/headbody%=un%/body/htmlexample2.asp利用QueryString传递信息-1htmlhead/head%username=Server.URLEncode(BillGates)%bodyahref=example2.asp?username=%=username%example2.asp/a/body/htmlexample1.asp利用QueryString传递信息-2htmlhead/headbody%dimusername=request.querystring(username)response.write(username)%/body/htmlexample2.asp利用form的hidden类型传递信息-1htmlhead/headbodyformmethod=postaction=“example2.aspinputname=usernametype=hiddenid=usernamevalue=BillGates/购买数量:inputname=numtype=textid=num/inputtype=submitname=Submitvalue=递交//form/body/htmlexample1.asp利用form的hidden类型传递信息-2htmlhead/headbody%dimuser=request.form(username)dimnum=request.form(num)response.write(Username=&user&,Num=&num)%/body/htmlexample2.asp6.2.4ServerVariables通过ServerVariables可以获得HTTP头中的所有信息,尤其是关于客户端的信息,比如客户端的IP地址。Request.ServerVariables(REMOTE_ADDR)6.3Response对象Response对象用来控制发送给用户的信息直接发信息到浏览器重定向浏览器6.3.1Response属性-Buffer属性Buffer属性来决定是否缓冲页输出当缓冲页输出时候,只有:ASP脚本处理完毕调用了Flush或者End方法当前缓冲区满才把响应发送到客户端。6.3.1Response属性-Charset属性设置字符集Response.Charset=GB23126.3.1Response属性-ContentType属性ContentType属性指定服务器响应的HTTP内容类型。6.3.1Response属性-Expires属性指定服务器缓冲区中的内容的过期时间,一般不设置,默认是立刻过期。一般情况,内容的缓冲是由客户端来完成。6.3.2Response方法Clear方法:清除缓冲区中的所有HTML输出End方法:使Web服务器停止处理该脚本,并返回当前缓冲区的内容。Flush方法:立即发送缓冲区的内容。Redirect方法:使浏览器立即重定向到程序指定的URL。6.3.2Response集合-Cookies集合向客户端写cookieResponse.Cookies(UserName)=BillGates6.4Application和Session对象ASP应用程序-一系列.asp文件构成了一个ASP应用程序。在同一个虚拟目录及其子目录下的所有.asp文件构成了一个ASP应用程序。存在于根目录及其子目录下的所有.asp文件构成了ASP应用程序。6.4.1Application对象Application对象可以在所有用户之间共享信息。属性方法Application(username)=BillGatesApplication.LockApplication(numOfVisits)=Application(numOfVisits)+1Application.Unlock确保同一时刻仅有一个用户可以修改和存取Application变量。6.4.1Appl