ÕÒÂÛÎÄÍø > ¼ÆËã»úÂÛÎÄ > ¼ÆËã»úÈí¼þ >

ASP 3.0¸ß¼¶±à³Ì£¨Èý£©(3)

ÏÂͼÏÔʾһ¸öHTML´°ÌåµÄʵÀý£¬°üº¬Ò»Ð©Ô¤ÏÈÉèÖúõÄÖµ£¬¿ÉÒÔ°´×Ô¼ºµÄÏë·¨±à¼­ÕâЩֵ£¬È»ºóµã»÷¡°Submit¡±°´Å¥¡£

Õ⽫´ò¿ªÒ»¸öÒ³Ãæ£¬ÈçÏÂͼËùʾ£¬ÏÔʾ¼¯ºÏºÍTotalBytesÊôÐÔµÄÈ«²¿ÄÚÈÝ¡£µÚÒ»ÆÁÏÔʾµÄÊÇForm¡¢QueryStringºÍCookies¼¯ºÏ¡£

×¢Ò⣬¼ÙÈçÔÚ´°ÌåÒ³Öб༭ÁËHTML¿Ø¼þµÄÖµ£¬¶ÔÓÚCookies¼¯ºÏÒÔ¼°ÆäËûµÄ¼¯ºÏ£¬ÔÚ¶ÁÕߵļÆËã»úÉϵÄÒ³ÃæÉÏ¿ÉÄÜÏÔʾ²»Í¬µÄÖµ¡£
¿ÉÒÔ´Ó¡°Form Collection¡±¶ÎÖп´µ½´°ÌåÉϵÄHTML¿Ø¼þµÄÖµÈçºÎÔÚASPµÄRequest.Form¼¯ºÏÖбíʾ¡£Ò²¿ÉÒÔÓÃԭʼµÄ
Ò³£¨Ãû³ÆÎªrequest_form.asp£©À´ÊÔÑéºÍ¼ì²â£¬ÒÔÁ˽ⴴ½¨´°ÌåµÄHTMLºÍÈçºÎÓëÏàÓ¦ÖµÏàÁªÏµ¡£
Õâ¸öÒ³ÃæºóÃæÊÇClientCertificate¼¯ºÏ¡£ÕâÀïÊǿյģ¬ÒòΪ·þÎñÆ÷²»ÒªÇó¿Í»§¶ËÌṩ֤Êé¡£ÏÂÃæÊǵÄServerVariables¼¯ºÏ£¬ÏÂͼµÄÆÁĻͼÏÔʾµÄÊǼ¯ºÏÖаüº¬µÄÓÐÓõÄÖµ¡£

ÔÚ±¾ÊéµÄºóÃæ¸½Â¼ÖпÉÒÔÕÒµ½ËùÓÐServerVariables¼¯ºÏ³ÉÔ±µÄÒ»¸öÁÐ±í£¬¼°ÆäÖµµÄ˵Ã÷¡£È»¶ø£¬¿É´ÓÇ°ÃæÌÖÂÛµÄÔÚÇëÇóÒ³ÃæÊ±´Ó¿Í»§¶Ë·¢³öµÄHTTP±¨Í·Öмûµ½ÕâЩ³ÉÔ±¡£µ±ÇëÇóÊÕµ½ºó£¬Web·þÎñÆ÷Ò²Ôö¼ÓËü±¾ÉíµÄһЩֵµ½¼¯ºÏÖУ¬ÕýÈçÉÏÃæ¿ÉÒÔ¿´µ½µÄÔËÐÐÔÚIIS 5.0´´½¨µÄÒ³ÃæÄÇÑù¡£
1£© Ò³ÃæÊÇÈçºÎ¹¤×÷µÄ
ΪÁË´´½¨Õâ¸öÒ³Ãæ£¬Ê¹ÓÃÁ˱¾ÕÂÇ°ÃæÔÚ¶ÔForm¼¯ºÏºÍÈçºÎ·ÃÎÊÆäÖµµÄÌÖÂÛÖÐËù¿´µ½µÄÍêÈ«ÏàͬµÄ´úÂë¡£ÀýÈ磬±éÀúËùÓеļ¯ºÏ£¨³ýRequest.CookiesÍ⣩£¬Ê¹Óãº
For Each objItem In Request.collection_name
Response.Write objItem & ¡° = ¡° & Request.collection_name(objItem) & ¡°
¡±
Next
±éÀúCookies¼¯ºÏ£¬¿ÉÒÔʹÓãº
For Each objItem In Request.Cookies
If Request.Cookies(objItem).HasKeys Then
¡®Use another For ... Each to iterate all keys of dictionary
For Each objItemKey in Request.Cookies(objItem)
Resonse.Write objItem objItem & ¡°(¡° & objItemKey & ¡°) = ¡°_
& Request.Cookies(objItem)(objItemKey) & ¡°
¡±
Next
Else
¡®Print out the cookie string as normal
Response.Write objItem & ¡° = ¡° & Request.Cookies(objItem) & ¡°
¡±
End If
Next
Ϊ»ñµÃTotalBytesÊôÐÔ£¬¿É¼òµ¥µØÊ¹Óãº
Request.TotalBytes = <% = Request.TotalBytes %>


¶ÁÕßÓ¦¸Ã×¢Òâµ½£¬ÔÚÁ½¸ö¼¯ºÏÖгöÏÖµÄijЩֵ²»ÊÇ´Ó´°ÌåµÄHTML¿Ø¼þÖÐÖ±½ÓµÃµ½µÄ¡£QueryString¼¯ºÏ°üÀ¨ÁËÁ½¸öÃûΪchapterºÍsampleµÄÖµ£¬ÈçÏÂͼËùʾ£º

ΪÔÚÇëÇóÖд´½¨ÕâÁ½¸öÖµ£¬½«Ò»¸ö×Ö·û´®¸½ÔÚ´°ÌåµÄACTIONÊôÐÔµÄURLÉÏ£¬ÕâÊÇ¿ÉÒÔ½ÓÊܵġ£¹¤×÷·½Ê½Ó븽ÔÚÒ»¸öÔªËØµÄHREFÊôÐÔÉÏÏàÀàËÆ¡£²éѯ×Ö·ûµÄÖµ³öÏÖÔÚQueryString¼¯ºÏÖУ¬ÇÒ±»POSTµÄ´°Ìå¿Ø¼þÖµ³öÏÖÔÚForm¼¯ºÏÖС£

Ϊ·ÀÖ¹·ÇIEÀàµÄä¯ÀÀÆ÷³öÏÖ´íÎ󣬱ØÐ뽫²éѯ×Ö·û´®ÖеĿոñÓüӺš°+¡±À´´úÌæ£¬¶ÁÕß½«ÔÚµÚ4ÕµÄServer¶ÔÏóµÄURLEncode·½·¨Öп´µ½¸ü¶àÕâÖÖÇé¿ö¡£
2£© ´´½¨¿Í»§¶ËµÄcookie
ΪÁËÈ·±£ÖÁÉÙÓÐЩֵ³öÏÖÔÚRequest.Cookies¼¯ºÏÖУ¬Ôö¼ÓһЩ¿Í»§¶Ë½Å±¾´úÂ뵽ԭʼµÄÒ³Ãærequest_form.asp¡£½«´´½¨Ãû³ÆÎªVisitCountµÄ¶àÖµcookie¡£ÁíÒ»¸öcookieÊÇÓÉÁíÒ»¸öÒ³Ãæ´´½¨µÄ£¬ÇÒÒѾ­´æÔÚÓÚä¯ÀÀÆ÷ÖС£ÈçÏÂͼËùʾ£¬¶ÁÕß¿ÉÒÔ¿´µ½ÁíÍâµÄcookie¡£

ÕâÊÇÒ»¶Î´°Ìå±»×°ÔØÊ±ÉèÖÃÎĵµ¶ÔÏóµÄcookiesÊôÐԵĿͻ§¶Ë´úÂ룺

ÁíÍ⣬±ØÐ뽫ÄÚÈݽøÐбàÂ룬ÒÔ±ãËüÄܱ»ÕýÈ·µØ´«Ë͵½·þÎñÆ÷£¨Í¬ÑùµÄ¹æÔòÒ²ÊÊÓÃÓÚ½«²éѯ×Ö·û´®¸½µ½URLÉÏ£©¡£ÔÚµÚ4ÕÂÖУ¬ÌÖÂÛServer¶ÔÏóµÄURLEncode·½·¨Ê±£¬¶ÁÕß½«Á˽⵽¸ü¶àϸ½Ú¡£
£²¡¢²é¿´Response¶ÔÏóµÄ³ÉÔ±
»Øµ½Chapter02ʵÀýµÄ×î³õµÄDefault.aspÒ³Ãæ£¬Õâ´ÎÑ¡Ôñ¡°Using the Response Object¡±Á´½Ó£¬Õâ¸öÒ³ÃæÏÔʾµÄÊÇResponse¶ÔÏóµÄ¼¯ºÏºÍÊôÐÔµÄÄÚÈÝ£¬ÇÒÌṩµ½ËùÓÐResponse¶ÔÏó·½·¨µÄÁ´½Ó¡£
ÏÂͼÊÇʹÓÃä¯ÀÀÆ÷Netsape Communicator 4.61µÄÆÁÄ»£¬ÓÃÀ´Ö¤Ã÷ʹÓõÄÊÇ´¿·þÎñÆ÷¶ËºÍ¿çƽ̨¼æÈݼ¼Êõ¡£ÐèҪעÒâµÄÊÇCookies¼¯ºÏÊÇΪResponse¶ÔÏó¶ø½¨Á¢µÄ£¬½öÏÔʾcookieµÄÃû³Æ¶ø²»ÏÔʾÆäÖµ¡£ä¯ÀÀ¸Ãҳʱ£¬¿ÉÄܵò»µ½cookie»òµÃµ½ÓëÕâ¸öÒ³Ãæ²»Í¬µÄcookie¡£
£¨ÓÉÓÚ¶¹¶¹Ã»Óа²×°Netsape Communicator 4.61£¬ÈÔÓÃIE5.5ÏÔʾ£¬²¢ÎÞÊ²Ã´Çø±ð£©

¸÷ÖÖResponseÊôÐÔ˵Ã÷Á˽«ÒªÓÃÀ´´´½¨HTTP±¨Í·µÄһЩÐÅÏ¢¡£HTTP±¨Í·Ò³ÃæµÄÆäËû²¿·Ö£¨HTMLºÍÎı¾ÄÚÈÝ£©±»·¢Íùµ½¿Í»§¶Ë¡£ÕâЩÊôÐÔÖеÄһЩÒÔ¼°ËùÓеÄResponse¶ÔÏóµÄ·½·¨¾ùÓÐÁ´½Ó£¬ÔÊÐí¶ÁÕß´ò¿ªÁíÒ»¸öÒ³ÃæÀ´ÏÔʾÆäʹÓÃÇé¿ö¡£ÎÒÃÇÉÔºóÔٻص½ÕâÐ©Ò³Ãæ¡£
Ò³ÃæÖеÄÊôÐÔÊÇͨ¹ý¶ÁÈ¡ÏàÓ¦µÄÊôÐÔ²¢²åÈëµ½Ò³ÃæÖд´½¨µÄ¡£ÓÉÓÚÕâЩÊǶ¯Ì¬Á´½Ó£¬Í¨¹ý
ÔªËØÀ´Ñ¡Ôñ¡£
Response.CacheControl
= <% = Resposne.CacheControl %>

Á´½Óµ½Ã¿¸ö·½·¨ÊÇͨ¹ýÁ´½ÓÔªËØ£¬Ò³ÃæÖÐΨһ¸´ÔӵIJ¿·ÖÊÇResponse.Cookies¼¯ºÏ¡£Í¨¹ýÖ»ÄÜ·ÃÎÊcookie£¬¶ÁÈ¡Request.Cookies¼¯ºÏÖеÄÖµ¡£µ±·ÃÎÊResponse.Cookie¼¯ºÏʱ£¬±ØÐëÔÚ·¢ËÍÈκÎÊä³öµ½¿Í»§¶Ë֮ǰ½áÊø¶ÔËüµÄËùÓÐÒýÓá£Òò´ËÔÚÒ³ÃæµÄÉϲ¿£¬Í¨¹ý±éÀú¼¯ºÏ´´½¨Ò³ÃæµÄHTML·ÅÔÚÒ»¸ö¾Ö²¿×Ö·û´®±äÁ¿ÖС£
StrCookies = ¡°¡±
¡®We can only read the key names and not the values because
¡®the Response.Cookies collection is ¡®write only¡¯
For Each objItem In Response.Cookies
If Response.Cookies(objItem).HasKeys Then
¡®Use another For Each to iterate all subkeys
For Each objItemKey in Response.Cookies(objItem)
StrCookies = strCookies & objItem & ¡°(¡° &objItemKey & ¡°)
¡±
Next
Else
¡®print out the cookie as normal
strCookies = strCookies & objItem & ¡°
¡±
End If
Next
È»ºóÔÚÒ³ÃæµÄÊʵ±µãÉϲåÈë½á¹û¡£


Response.Cookies
is a write-only collection so the values cannot be displayed


<% = strCookies %>

ASPÖеÄcookieµÄʹÓÃ
ÔÚÇ°ÃæËù¿´µ½Ò³ÃæÖУ¬Ò»Ð©¼¯ºÏ¡¢ÊôÐԺͷ½·¨ÒѾ­Á´½Óµ½ÆäËûµÄÒ³Ãæ£¬ÓÃÀ´ÏÔʾRequestºÍResponse¶ÔÏóµÄ¸÷¸öÌØÐÔϸ½Ú£¬ÎÒÃǽ«ÔÚ±¾ÕÂµÄÆäÓàµÄ²¿·ÖÑо¿ÕâЩÄÚÈÝ£¬ÎÒÃǽ«Ñ§Ï°ÄÇЩÌṩ¸øASP´úÂëʹÓõļ¯ºÏ¡¢·½·¨ºÍÊôÐԵĸ÷ÖÖ¼¼Êõ¡£
ÔÚ±¾ÕÂÇ°ÃæÒѾ­¿´µ½ÁËÈçºÎʹÓÃRequest.CookiesºÍResponse.Cookies¼¯ºÏÀ´´´½¨ºÍÔĶÁcookie£¬µã»÷ÉÏÃæÁ½¸öÒ³ÃæÖеÄÈÎÒ»¸öµÄ¡°Cookies¡±Á´½Óʱ£¬Õâ¸öÒ³Ãæ°üº¬Ò»Ð©ÉèÖÃÁËÈý¸öcookieµÄÖµµÄASP´úÂ룬ÇÒÔÚÒ³ÃæÉÏÏÔʾ±»Ö´ÐеĴúÂ룬ÈçÏÂͼËùʾ£º

µã»÷¡°Show Cookies¡±µÄÁ´½Óʱ£¬cookieµÄÄÚÈݾÍÏÔʾ³öÀ´ÁË¡£ÕâÊÇͨ¹ý±éÀúRequest.Cookies¼¯ºÏ¶øµÃµ½µÄ£¬ÕâÓëÔÚÉÏÒ»Ò³ËùÓõķ½Ê½ÍêÈ«Ïàͬ£¬ÈçÏÂͼËùʾ£º

Õâ¸öÆÁĻͼÏÔʾµÄÊÇÔËÐÐÇ°Ãæ¿´µ½µÄÉèÖÃcookieÖµµÄ´úÂëµÄ½á¹û¡£¿ÉÄܻῴµ½ÆäËûÒѾ­´æÖüÔÚ¼ÆËã»úϵͳÀïµÄcookie¡£È»¶ø£¬¼ÙÈçÏÖÔڹرÕä¯ÀÀÆ÷È»ºóÖØÐ´ò¿ªä¯ÀÀÆ÷£¬È»ºóÔËÐÐÏÔʾcookieµÄÒ³Ãæ£¬³ýÁËTimedCookieÍ⣬ËùÓеÄcookie¶¼²»¼ûÁË£¬ÕâÊÇÓÉÓÚÖ»ÓÐÕâ¸öTimedCookie¾ßÓÐÓÐЧÆÚµÄÉèÖã¬ÆäËûµÄÔÚä¯ÀÀÆ÷¹Ø±Õʱ£¬×Ô¶¯ÏûʧÁË¡£
1£© cookieÖд洢Óû§µÄϸ½ÚÇé¿ö
¿ÉÒÔʹÓÃcookieÀ´´æ´¢ÕâÁ½ÀàÖµ£ºµ±ä¯ÀÀÆ÷¹Ø±ÕʱÎÒÃDz»Ïë±£´æµÄÖµ£¨ÀýÈçÓû§µÄ×¢²áÐÅÏ¢£©ÒÔ¼°ÔÚÓû§·ÃÎÊÕ¾µãʱҪ±£ÁôµÄÖµ¡£ÔÚÿÖÖÇé¿öÏÂcookieµÄÖµ¶ÔÓÚÀ´×ÔÓû§ä¯ÀÀÆ÷µÄÿ¸öÒ³ÃæÇëÇóµÄASP¶¼ÊÇ¿ÉÓõġ£
È»¶ø£¬ÐèÒª¼ÇסµÄÊÇ£¬cookieÖ»ÓÐÔÚ¶ÔCookieÖеÄÐéÄâ·¾¶£¨path£©ÄÚµÄÒ³Ãæ·¢³öÇëÇóʱ£¬²Å»á·¢Íù·þÎñÆ÷¡£È±Ê¡Ê±£¬¼ÙÈçpathµÄÖµÔÚcookieÖÐûÓÐÉèÖã¬ÔòÆäֵΪ´´½¨cookieµÄÒ³ÃæµÄÐéÄâ·¾¶¡£ÎªÊ¹Ò»¸öcookie·¢ÍùÒ»¸öÕ¾µãµÄËùÓÐÒ³Ãæ£¬ÐèҪʹÓÃpath=¡°/¡±¡£
ÕâÀïÊǸöʵÀý£¬´Ó×Ô¶¨ÒåµÄLoginÒ³ÃæÖУ¬½«Óû§µÄ×¢²áÐÅÏ¢´æÖüÔÚÒ»¸öcookieÖУ¬ÓÉÓÚûÓÐÓ¦ÓÃÓÐЧÆÚ£¬cookieÖµ½öÔڹرÕÕâ¸öä¯ÀÀÆ÷Õâǰ±£Áô£º
...
Request.Cookies(¡°User¡±)(¡°UID¡±) = ¡°<% = Request(¡°UserName¡±) %>¡±
Request.Cookies(¡°User¡±)(¡°PWD¡±) = ¡°<% = Request(¡°Password¡±) %>¡±
Request.Cookies(¡°User¡±).Path = ¡°/adminstuff¡± ¡®Only applies to admin pages
...
ÏÖÔÚ£¬ÔÚÓû§´ÓadminstuffĿ¼»òÆä×ÓĿ¼ÇëÇóµÄÿ¸öÒ³ÃæÖУ¬¶¼¿ÉÒÔÕÒµ½Õâ¸öcookie¡£¼ÙÈçËü²»´æÔÚ£¬¿ÉÒÔ½«Óû§Öض¨Ïòµ½×¢²áÒ³Ãæ£º
If (Request.Cookies(¡°User¡±)(¡°UID¡±) <> ¡°alexhomer¡±) _
Or (Request.Cookies(¡°User¡±)(¡°PWD¡±) <> ¡°secret¡±) Then
Response.Redirect ¡°login.asp?UserName=¡± & Request.Cookies(¡°User¡±)(¡°UID¡±)
End If
...
ÓÉÓÚ°ÑcookieÖеÄÓû§Ãû·ÅÔÚResponse.RedirectµÄURL²éѯ×Ö·û´®ÖУ¬¼ÙÈçÔÚ¿ÚÁîÊäÈëʱ³öÏÖ´íÎóÇÒÏ£ÍûÓû§²»±ØÖØÐ¼üÈëÓû§Ãû£¬¿ÉÒÔÔÚlogin.aspÒ³ÃæÖÐʹÓÃËü£º

VALUE=¡±<% = Request.QueryString(¡°UserName¡±) %>¡±>




2£© ÐÞ¸ÄÏÖÓеÄcookie
¿ÉÒÔʹÓÃASPÐÞ¸ÄÏÖÓеÄcookie£¬µ«²»ÄÜÖ»ÐÞ¸ÄcookieÖеÄÒ»¸öÖµ¡£µ±¸üÐÂÒ»¸öÔÚResponse.Cookies¼¯ºÏÖеÄCookieʱ£¬ÏÖÓеÄÖµ½«¶ªÊ§¡£ÎÒÃÇ¿ÉÒÔÓÃÈçÏ´úÂë´´½¨Ò»¸öcookie£¬¿ÉÒÔʹÓãº
Response.Cookies(¡°VisitCount¡±)(¡°StartDate¡±) = dtmStart
Response.Cookies(¡°VisitCount¡±)(¡°LastDate¡±) = Now
Response.Cookies(¡°VisitCount¡±)(¡°Visits¡±) = CStr(intVisits)
Response.Cookies(¡°VisitCount¡±).Path = ¡°/¡± ¡®Apply to entire site
Response.Cookies(¡°VisitCount¡±).Expires = DateAdd(¡°m¡±,3,Now)
¼ÙÈçÏëÒª¸üÐÂVisitsºÍLastDateµÄÖµ£¬±ØÐëÏȲ»Ðè¸Ä±äµÄËùÓÐÖµ£¬È»ºóÖØÐ´Õû¸öµÄcookie£º
datDtart = Response.Cookies(¡°VisitCount¡±)(¡°StartDate¡±)
intVisits = Response.Cookies(¡°VisitCount¡±)(¡°Visits¡±)
Response.Cookies(¡°VisitCount¡±)(¡°StartDate¡±) = dtmStart
Response.Cookies(¡°VisitCount¡±)(¡°LastDate¡±) = Now
Response.Cookies(¡°VisitCount¡±)(¡°Visits¡±) = Cstr(intVisits)
Response.Cookies(¡°VisitCount¡±).Path = ¡°/¡±
Response.Cookies(¡°VisitCount¡±).Expires = DateADD(¡°m¡±,3,Now + 1)ÇÒ¶ÔÓÚ¼¸ºõËùÓÐµÄÆäËûResponse·½·¨ºÍÊôÐÔ£¬Ó¦¸ÃÔÚдÈëÈκÎÄÚÈÝ£¨¼´´ò¿ª±ê¼Ç»òÈκÎÎı¾»òÆäËûµÄHTML£©µ½ÏìӦ֮ǰÍê³ÉÕâ¸ö¹¤×÷¡£


¹²3Ò³: ÉÏÒ»Ò³ [1] [2] 3


ÓÃVBÖÆ×÷ÍøÖ·Á´½ÓÆ÷ 
ASP 3.0¸ß¼¶±à³Ì£¨ËÄ£©
¹¤É̹ÜÀí | ¹¤¿ÆÂÛÎÄ | ²ÆÎñ¹ÜÀí | ¹ÜÀíѧ | ¹«¹²¹ÜÀí | ²ÆÕþ˰ÊÕ | ֤ȯ½ðÈÚ | »á¼ÆÉó¼Æ | ¼ÆËã»ú | ·¨ÂÉÂÛÎÄ | ҽҩѧ | ººÓïÑÔÎÄѧ
Éç»áÂÛÎÄ | ¹¤¿ÆÂÛÎÄ | Àí¿ÆÂÛÎÄ | ÎÄ»¯ÂÛÎÄ | ÒÕÊõÂÛÎÄ | ÎÄѧÂÛÎÄ | ÕÜѧÂÛÎÄ | ÕþÖÎÂÛÎÄ | Ó¢ÓïÂÛÎÄ | д×÷Ö¸µ¼ | ¼ÆËã»úÓ¦ÓÃ
www.zlunwen.com ÕÒÂÛÎÄÍø ® °æÈ¨ËùÓÐ ÍøÕ¾µØÍ¼