ÕÒÂÛÎÄÍø > ¼ÆËã»úÂÛÎÄ > ¼ÆËã»úÍøÂç >

ASP3.0¸ß¼¶±à³Ì£¨Èý£©

·ÃÎʺ͸üÐÂCookies¼¯ºÏ
CookiesµÄÖµ±ÈASPÆäËû¼¯ºÏ£¨ÀýÈçFormºÍServerVariables£©µÄÖµÒª¸´ÔӵöࡣCookieÊÇһС¿éÓÉä¯ÀÀÆ÷´æÖüÔÚ¿Í»§¶ËϵͳÉϵÄÎı¾£¬ÇÒËæÍ¬Ã¿´ÎÇëÇó·¢ÍùËüÃÇÓ¦ÓÃÓÚµÄÓòÖеķþÎñÆ÷¡£
ASPʹµÃÓ¦ÓÃcookie½ÏΪÈÝÒ×£¬¿ÉÒÔ´ÓRequest¶ÔÏóµÄCookies¼¯ºÏÖлñµÃËùÓÐËæÍ¬ÇëÇó·¢³öµÄcookieÖµ£¬²¢¿É´´½¨»òÐÞ¸Äcookie£¬Í¨¹ýResponse¶ÔÏóµÄCookies¼¯ºÏ·¢»Ø¸øÓû§¡£
Cookie°üº¬¿ÉÓÃÁ½ÖÖ·½Ê½¹¹ÔìµÄÐÅÏ¢£¬µ¥ÖµcookieÌṩÆäÖµ¸ø´úÂëÊÇͨ¹ýÒ»¸öÒ»°ãµÄÀàASP¼¯ºÏ¡£È»¶ø£¬¼¯ºÏµÄÿ¸ö³ÉÔ±¿ÉÄܱ¾ÉíÒ²ÊÇÒ»¸ö¼¯ºÏ£¬°üº¬ÕâÖÖÐÅÏ¢µÄcookieͨ¹ý³ÆÎª¶àÖµ£¨multiple-Value£©cookie¡£
´´½¨Ò»¸öµ¥ÖµµÄcookie½ÏΪ¼òµ¥£¬ÈçÏÂËùʾ£º
Response.Cookies(¡°item-name¡±) = ¡°item-value¡±
´´½¨Ò»¸ö¶àÖµµÄcookie£¬¿ÉÒÔʹÓÃÈçÏÂÃüÁ
Response.Cookies(¡°item-name¡±)(¡°sub-item-name¡±) = ¡°sub-item-value¡±
ÉèÖÃcookieÓ¦ÓõÄÓò¼°Â·¾¶¼°ÆäÓÐЧÆÚ£¬ÎÒÃÇʹÓãº
Response.Cookies(¡°item-name¡±).domain = ¡°domain-url¡±
Response.Cookies(¡°item-name¡±).path = ¡°virtual-path¡±
Response.Cookies(¡°item-name¡±).expires = #date#
ͨ³££¬¿Í»§Ö»ÔÚ¶Ô´´½¨cookieµÄĿ¼ÖеÄÒ³ÃæÌá³öÇëÇóʱ£¬²Å½«cookieËæÇëʾ·¢×¡·þÎñÆ÷¡£Í¨¹ýÖ¸¶¨pathÊôÐÔ£¬¿ÉÒÔÖ¸¶¨Õ¾µãÖкδ¦Õâ¸öcookieÊǺϷ¨µÄ£¬²¢ÇÒÕâ¸öcookie½«ËæÇëÇó·¢ËÍ¡£Èç¹ûcookieËæ¶ÔÕû¸öÕ¾µãµÄÒ³ÃæÇëÇó·¢ËÍ£¬ÉèÖÃpathΪ¡°/¡±¡£
¼ÙÈçExpiresÊôÐÔûÓÐÉèÖ㬹رյ±Ç°µÄä¯ÀÀÆ÷ʵÀýʱ£¬cookie½«±»×Ô¶¯Ïû³ý¡£
×¢Ò⣬ÎÒÃÇÔÚÏòä¯ÀÀÆ÷·¢ËÍÈκÎÊä³öʱ£¬ÒѾ­´´½¨ÁËcookie¡£ÒòΪ£¬ÕâЩcookieÊÇÒ³ÃæHTTP±¨Í·µÄÒ»²¿·Ö¡£

ÔÚASP 3.0ÖУ¬»º³åµÄȱʡ״̬ÊÇ´ò¿ªµÄ£¬ÇÒûÓÐÊä³ö±»·¢ËÍ£¬³ý·ÇʹÓÃResponse.FlushÖ¸¶¨×öÕâ¸ö¹¤×÷»òÕßÒ³ÃæÒѵ½Ä©¶Ë¡£ÕâÒâζ×Å´´½¨cookieµÄ´úÂë¿ÉÒÔÔÚÒ³ÃæÉϵÄÈκÎλÖã¬Ö±µ½ÈκÎÊä³ö¡°Ë¢Ð¡±£¨flush£©µ½¿Í»§¶Ëǰ£¬Ëü¶¼¿ÉÒÔ±»Ö´ÐС£

Òª¶ÁÏÖÓеÄcookie£¬Ê¹ÓÃRequest.Cookies¼¯ºÏ¡£¿ÉÒÔµ¥¶À·ÃÎÊÆäÖеÄÏîÄ¿£¬·½·¨ÀàËÆÓÚ´´½¨ËüÃÇʱʹÓõķ½·¨¡£
StrSingleValue = Request.Cookies(¡°item-name¡±)
StrSubItemValue = Request.Cookies(¡°item-name¡±)(¡°sub-item-name¡±)
×¢ÒâRequest.Cookies¼¯ºÏ£¨ºÍËùÓÐÆäËûRequest¼¯ºÏÒ»Ñù£©ÊÇÖ»¶ÁµÄ¡£Response.Cookies¼¯ºÏÊÇֻдµÄ£¬ÊÂʵÉÏ¿ÉÒÔ·ÃÎÊÕâ¸ö¼¯ºÏÖÐһϵÁÐcookieµÄÃû³Æ£¬¶ø²»ÊÇËüÃǵÄÖµ¡£

±éÀúCookies¼¯ºÏ
ΪÁËʹÓÃCookies¼¯ºÏ¸ü¼Ó·½±ã£¬¿ÉʹÓÃÃû³ÆÎªHaskeysµÄ¸½¼ÓÊôÐÔ¡£¼ÙÈç·ÃÎʵÄcookie±¾ÉíÒ²ÊǸö¼¯ºÏ£¬¼´ËüÊÇÒ»¸ö¶àÖµµÄcookie£¬Õ⽫·µ»ØTrue¡£Ê¹ÓÃHaskeysÊôÐÔ£¬¿ÉÒÔ±éÀúÍêÕûµÄRequest.Cookies¼¯ºÏ£¬´Ó¶ø»ñµÃËùÓÐcookieµÄÁÐ±í¼°ËüÃǵÄÖµ¡£
For Each objItem In Request.Cookies
If Request.Cookies(objItem).HasKey Then
¡®Use another For Each to iterate all subkeys
For Each objItemKey in Request.Cookies(objItem)
Response.Write objItem & ¡°(¡° & objItemKey & ¡°) = ¡°_
& Request.Cookies(objItem)(objItemKey) & ¡°<BR>¡±
Next
Else
¡®Print out the cookie string as normal
Response.Write objItem & ¡° = ¡±& Request.Cookies(objItem) & ¡°<BR>¡±
End If
Next
Õâ·Ç³£ÀàËÆÓÚÇ°ÃæµÄ´ÓRequest.Form¼¯ºÏÖÐÌáÈ¡¶à¸öÖµµÄ¸´ÔÓ´úÂë¡£µ«ÊÇÕâÀï¿ÉÒÔʹÓÃHaskeysÊôÐÔÀ´Åбðÿ¸öÌõÄ¿ÊÇ·ñΪһ¸ö¼¯ºÏ¡£¶øÔÚFormÀý×ÓÀ±ØÐë²éѯRequest.Form(item_name).CountÊôÐÔ£¬ÕâÊÇÒòΪForm¼¯ºÏ£¨ºÍËùÓеijýcookieÍâµÄÆäËû¼¯ºÏ£©³ÉÔ±²»¿ÉÄÜÊÇÕæÕýµÄ¼¯ºÏ¡£ASPÖ»ÊÇ×öÁË¡°Ä»ºó¡±µÄ¹¤×÷£¬µÃµ½ÁËÿ¸ö¶àÌõÄ¿¼¯ºÏµÄÖµ¡£

FormºÍQueryStringµÄ²îÒì
Á˽âÁË·ÃÎʸ÷ÖÖASP¼¯ºÏµÄ¼¼ÊõÒÔºó£¬ÐèÒª½â¾öÁíÒ»¸öÎÊÌâÊÇ£ºFormºÍQueryString¼¯ºÏÖ®¼äµÄ²îÒìÊÇʲô£¿¼ÙÈç×¼±¸Ê¹ÓÃASP£¬ºÁÎÞÒÉÎÊÓ¦¸ÃÇå³þÕâÖÖ²îÒ죬µ«ÐèÒª²Î¿¼HTTP¹¤×÷·½Ê½À´ÖØÐÂÈÏʶ£¬Àí½âËüÃÇ¡£
ͨ¹ýHTTP´ÓWeb·þÎñÆ÷ÇëÇóÒ³Ãæ»òÆäËû×ÊÔ´£¬ÓÐÁ½¸öͨÓõķ½·¨¡£¿ÉʹÓÃGET·½·¨Ö±½Ó»ñµÃ×ÊÔ´£¬Ò²¿ÉʹÓÃPOST°ÑÖµ´«¸øÏàÓ¦×ÊÔ´¡£GET·½·¨ÊÇȱʡµÄ£¬¿ÉÒÔ¿´Ò»Ï±¾ÕÂÇ°ÃæµÄÒ»¸öHTTPÇëÇóµÄʵÀý£º
7/8/99 10:27:16 Sent GET /Store/Download.asp HTTP/1.1
¼ÙÈç°ÑÒ»¸ö»ò¶à¸ö³É¶ÔµÄÃû³Æ/Öµ¸½ÔÚÇëÇóÒ³ÃæµÄURLºó£¬¾Í±ä³ÉÇëÇóµÄ²éѯ×Ö·û´®£¬ÇÒÔÚQueryString¼¯ºÏÖÐÌṩ¸øASPÒ³Ãæ¡£µ¥»÷WebÒ³Ãæ¡¢EmailÏûÏ¢»òÆäËüÎĵµµÄ³¬Á´½Ó£¬»òÔÚä¯ÀÀÆ÷µÄµØÖ·À¸ÖÐÊäÈëµØÖ·²¢°´»Ø³µ£¬»òµ¥»÷ä¯ÀÀÆ÷ÖеÄLinks»òFavorites°´Å¥£¬ËùÓÐÕâЩ¶¼ÒªÊ¹ÓÃGET·½·¨¡£
Òò´Ë£¬¶ÔÕâЩ¶¯×÷Öд«µÝÖµ¸øASPµÄΨһ·½·¨ÊÇͨ¹ýQueryString¼¯ºÏ£¬°ÑÖµ¸½ÔÚURLºó¡£
³öÏÖÔÚRequest.QueryString¼¯ºÏÖв¢±»·ÃÎʵÄÖµ£¬ÓëÇ°Ãæ¿´µ½µÄForm¼¯ºÏʵÀýÖеŤ×÷·½Ê½Ïàͬ¡£URLºÍ²éѯ×Ö·û´®µÄ½áºÏ£º
http://mysite.com/process_page.asp?FirstName=Priscilla&LastName=Descartes
¿ÉÒÔ²ÉÓÃÈçÏ·½Ê½·ÃÎÊÔÚQueryString¼¯ºÏÖÐÌṩµÄÖµ£º
strFirstName = Request.QueryString(¡°FirstName¡±) ¡®Return ¡°Priscilla¡±
strLastName = Request.QueryString(¡°LastName¡±) ¡®Return ¡°Descartes¡±
strRaw = Request.QueryString 
¡®Return ¡°FirstName=Priscilla&LastName=Descartes¡±

´°ÌåµÄGETºÍPOST·½·¨
ÔÚÒ»¸öÒ³ÃæÄÚʹÓÃ<FORM>¶Îʱ£¬¿ÉÒÔÉèÖôò¿ªµÄFORM±ê¼ÇµÄMETHODÊôÐÔֵΪ¡°GET¡±»ò¡°POST¡±£¬È±Ê¡ÖµÎª¡°GET¡±¡£¼ÙÈçʹÓá°GET¡±»òÊ¡ÂÔÆäÊôÐÔ£¬ä¯ÀÀÆ÷½«¸ÃÖµ°ó¶¨ÔÚÒ³ÃæËùÓпؼþÉÏ£¬³ÉΪһ¸ö²éѯ×Ö·û´®£¬ÇÒ¸½ÔÚ±»ÇëÇóÒ³ÃæµÄURLÉÏ¡£
µ±Õâ¸öÇëÇóµ½´ïWeb·þÎñÆ÷ʱ£¬ÆäÖµÓÉASPµÄRequest.QueryString¼¯ºÏÌṩ¡£È»¶ø£¬¼ÙÈçÉèÖÃMETHODÊôÐÔΪ¡°POST¡±£¬ä¯ÀÀÆ÷½«Öµ°ü×°½ø·¢ËÍ·þÎñÆ÷µÄHTTP±¨Í·ÖУ¬Í¨¹ýRequest.Form¼¯ºÏÌṩ¸øASP¡£
ͨ¹ýÀ´Ëµ£¬¿ÉÒÔÔÚËùÓеÄHTML´°ÌåÖÐʹÓÃPOST·½·¨¡£È»¶ø£¬ä¯ÀÀÆ÷»ò·þÎñÆ÷µÄURL×Ö·û´®³¤¶È´æÔÚÒ»¶¨µÄÏÞÖÆ¡£Òò´Ë£¬¸½Ó㤵Ä×Ö·û´®¿ÉÄÜ»áÒýÆðÒç³öºÍijЩ×Ö·û´®µÄ×Ö·û±»½Øµô¡£Í¬Ê±£¬²éѯ×Ö·û´®³öÏÖÔÚä¯ÀÀÆ÷µÄµØÖ·À¸ºÍËùÓеı£´æµÄÁ´½ÓºÍÊղؼÐÖС£²»½öÈç´Ë£¬»¹ÏÔ¶ÁËͨ¹ýWeb·þÎñÆ÷ʱÔÚHTTPÇëÇóÖв»ÏëÏÔʾµÄÖµ£¬ËüÒ²¿ÉÄܳöÏÖÄãµÄ·þÎñÆ÷ºÍÆäËû·ÓÉ·þÎñÆ÷µÄÈÕÖ¾ÎļþÖС£ÔÚHTTPÇëÇó±¨Í·ÖеÄÖµºÜÉÙÊǿɼûµÄ£¬²¢ÇÒ²»³öÏÖÔÚÈÕÖ¾ÎļþÖС£
ʹÓÃPOST·½·¨ÐèҪעÒâµÄСÎÊÌâÊÇ£¬µ±Óû§ÖØÐÂÏÂÔØ<FORM>ʱ£¬´°ÌåµÄÖµ½«²»ÔÙ±£Áô£¬ÆäֵΪ¿ÕÇÒ±ØÐëÖØÐÂÊäÈ롣Ȼ¶ø£¬µ±¸½ÔÚURLÉÏʱ£¬ÆäÖµ±»´æ´¢ÎªÒ»¸öÁ´½Ó£¬½«±»±£Áô£¬Òò´Ë½«³öÏÖÔÚËùÓеÄURLÓë×Ö·û´®½áºÏµÄÇëÇóÖУ¬Õâ»òÐíÊǸöÓŵãÒ²¿ÉÄÜÊǸöȱµã£¬Õâ¸ù¾ÝÓ¦Óöø¶¨£¨Ò»Ð©ä¯ÀÀÆ÷ÔÚ¿Í»§¶ËÉÏÄܹ»ÔÚÒ»¶¨·¶Î§ÄÚ×Ô¶¯±£ÁôÒ»¸öÒ³ÃæÉϵÄÖµ£©¡£
ÁíÒ»µãÊÇURLÓë²éѯ×Ö·û´®µÄ½áºÏÌå²»Äܰüº¬Èκοոñ»òÆäËû·Ç·¨×Ö·û£¬·ñÔòµÄ»°£¬NavigatorºÍһЩÆäËûµÄä¯ÀÀÆ÷½«³öÏÖÎÊÌâ¡£·Ç·¨×Ö·ûÊÇÄÇЩÓÃÀ´·Ö¸ôURLºÍ²éѯ×Ö·û´®µÄ²¿·Ö£¬ÀýÈç¡°/¡±¡¢¡°:¡±¡¢¡°?¡±ºÍ¡°&¡±£¨IEÄܹ»×Ô¶¯½«¿Õ¸ñת»»ÎªÕýÈ·µÄ¸ñʽ¡ª¡ª¼ÓºÅ¡°+¡±£¬µ«ÆäËûµÄ·Ç·¨×Ö·û²»ÄÜ´¦Àí£©¡£ASP·þÎñÆ÷¶ÔÏóÌṩURLEncode·½·¨´¦ÀíÕâÖֱ任£¬ÒÔºóÕ½ÚÌÖÂÛÏà¹ØÄÚÈÝ¡£

²é¿´RequestºÍResponse¶ÔÏóÄÚÈÝ
µ½Ä¿Ç°£¬Ö÷ÒªÌÖÂÛÁËһЩÀíÂÛÎÊÌ⣬ûÓÐÁоÙÌØ±ðµÄʵÀý¡£ÒòΪÒѾ­ÌÖÂÛ¹ýµÄÄÚÈݶàÊýÇé¿öÏ»¥ÏàÖ®¼äÊÇÃÜÇÐÏà¹ØµÄ¡£È»¶ø±¾ÊéΪÕâÒ»ÕÂÌṩÁËһϵÁеÄʵÀýÒ³Ãæ£¬ËµÃ÷RequestºÍResponse¶ÔÏóµÄ´ó¶àÊýÊôÐÔ¡£Ó¦ÓÃËù½²¹ýµÄʵÀý£¬Äܹ»Àí½âÕâÐ©Ò³Ãæ£¬²¢¿É½øÐÐÏàÓ¦µÄÐ޸ģ¬ÓÃËüÃÇ×÷ΪÊÔÑéʵÀý¡£
±¾Õ¼°ÆäËûËùÓÐÕ½ڵĴúÂëÑùÀý¾ùÌṩ¸øÓû§£¬¿ÉÒÔ´ÓWrox³ö°æÉçÕ¾µãÏÂÔØ¡£
http://webdev.wrox.co.uk/books/2610
http://www.wrox.com/Store/Details.asp?Code=2610
±ØÐëÊ×ÏÈÔÚWeb·þÎñÆ÷µÄWWWRootÄÚµÄ×ÓĿ¼Ï°²×°ÊµÀý£¬È»ºóʹÓÃä¯ÀÀÆ÷·ÃÎÊChapter02×ÓĿ¼£¬Ê¹Óãº
http://your_server_name_or_IP/subdirectory_name/Chapter02/Default.asp
ÕâÀïyour_server_name_or_IP/subdirectory_nameÊǰ²×°ÏÂÔØÎļþµÄ±¾µØÂ·¾¶¡£
£±¡¢²é¿´Request¶ÔÏó³ÉÔ±
ÕâÌṩһ¸ö°üº¬Ñ¡Ò³µÄ²Ëµ¥ÓÃÀ´ÊÔÑéRequestºÍResponse¶ÔÏó£¬Ê×ÏÈÑ¡ÔñUsing the Request Object£¬ÈçÏÂͼËùʾ£º

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

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

×¢Ò⣬¼ÙÈçÔÚ´°ÌåÒ³Öб༭ÁËHTML¿Ø¼þµÄÖµ£¬¶ÔÓÚCookies¼¯ºÏÒÔ¼°ÆäËûµÄ¼¯ºÏ£¬ÔÚ¶ÁÕߵļÆËã»úÉϵÄÒ³ÃæÉÏ¿ÉÄÜÏÔʾ²»Í¬µÄÖµ¡£
¿ÉÒÔ´Ó¡°Form Collection¡±¶ÎÖп´µ½´°ÌåÉϵÄHTML¿Ø¼þµÄÖµÈçºÎÔÚASPµÄRequest.Form¼¯ºÏÖбíʾ¡£Ò²¿ÉÒÔÓÃԭʼµÄ<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) & ¡°<BR>¡±
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) & ¡°<BR>¡±
Next
Else
¡®Print out the cookie string as normal
Response.Write objItem & ¡° = ¡° & Request.Cookies(objItem) & ¡°<BR>¡±
End If
Next
Ϊ»ñµÃTotalBytesÊôÐÔ£¬¿É¼òµ¥µØÊ¹Óãº
Request.TotalBytes = <% = Request.TotalBytes %><P>
¶ÁÕßÓ¦¸Ã×¢Òâµ½£¬ÔÚÁ½¸ö¼¯ºÏÖгöÏÖµÄijЩֵ²»ÊÇ´Ó´°ÌåµÄHTML¿Ø¼þÖÐÖ±½ÓµÃµ½µÄ¡£QueryString¼¯ºÏ°üÀ¨ÁËÁ½¸öÃûΪchapterºÍsampleµÄÖµ£¬ÈçÏÂͼËùʾ£º

ΪÔÚÇëÇóÖд´½¨ÕâÁ½¸öÖµ£¬½«Ò»¸ö×Ö·û´®¸½ÔÚ´°ÌåµÄACTIONÊôÐÔµÄURLÉÏ£¬ÕâÊÇ¿ÉÒÔ½ÓÊܵġ£¹¤×÷·½Ê½Ó븽ÔÚÒ»¸ö<A>ÔªËØµÄHREFÊôÐÔÉÏÏàÀàËÆ¡£²éѯ×Ö·ûµÄÖµ³öÏÖÔÚQueryString¼¯ºÏÖУ¬ÇÒ±»POSTµÄ´°Ìå¿Ø¼þÖµ³öÏÖÔÚForm¼¯ºÏÖС£
<FORM ACTION=¡±show_request.asp?chapter=2&sample=The+Request+Object¡± METHOD=¡±POST¡±>
Ϊ·ÀÖ¹·ÇIEÀàµÄä¯ÀÀÆ÷³öÏÖ´íÎ󣬱ØÐ뽫²éѯ×Ö·û´®ÖеĿոñÓüӺš°+¡±À´´úÌæ£¬¶ÁÕß½«ÔÚµÚ4ÕµÄServer¶ÔÏóµÄURLEncode·½·¨Öп´µ½¸ü¶àÕâÖÖÇé¿ö¡£
2£© ´´½¨¿Í»§¶ËµÄcookie
ΪÁËÈ·±£ÖÁÉÙÓÐЩֵ³öÏÖÔÚRequest.Cookies¼¯ºÏÖУ¬Ôö¼ÓһЩ¿Í»§¶Ë½Å±¾´úÂ뵽ԭʼµÄ<FORM>Ò³Ãærequest_form.asp¡£½«´´½¨Ãû³ÆÎªVisitCountµÄ¶àÖµcookie¡£ÁíÒ»¸öcookieÊÇÓÉÁíÒ»¸öÒ³Ãæ´´½¨µÄ£¬ÇÒÒѾ­´æÔÚÓÚä¯ÀÀÆ÷ÖС£ÈçÏÂͼËùʾ£¬¶ÁÕß¿ÉÒÔ¿´µ½ÁíÍâµÄcookie¡£

ÕâÊÇÒ»¶Î´°Ìå±»×°ÔØÊ±ÉèÖÃÎĵµ¶ÔÏóµÄcookiesÊôÐԵĿͻ§¶Ë´úÂ룺
<SCRIPT LANGUAGE=¡±JavaScript¡±>
<!--
documet.cookie = ¡¯VisitCount=VISITS=3&LASTDATE=6%2F4%2F99+10%3A10%3A13+AM¡¯;
//-->
</SCRIPT>
ÁíÍ⣬±ØÐ뽫ÄÚÈݽøÐбàÂ룬ÒÔ±ãËüÄܱ»ÕýÈ·µØ´«Ë͵½·þÎñÆ÷£¨Í¬ÑùµÄ¹æÔòÒ²ÊÊÓÃÓÚ½«²éѯ×Ö·û´®¸½µ½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¶ÔÏóµÄ·½·¨¾ùÓÐÁ´½Ó£¬ÔÊÐí¶ÁÕß´ò¿ªÁíÒ»¸öÒ³ÃæÀ´ÏÔʾÆäʹÓÃÇé¿ö¡£ÎÒÃÇÉÔºóÔٻص½ÕâÐ©Ò³Ãæ¡£
Ò³ÃæÖеÄÊôÐÔÊÇͨ¹ý¶ÁÈ¡ÏàÓ¦µÄÊôÐÔ²¢²åÈëµ½Ò³ÃæÖд´½¨µÄ¡£ÓÉÓÚÕâЩÊǶ¯Ì¬Á´½Ó£¬Í¨¹ý<A>ÔªËØÀ´Ñ¡Ôñ¡£
<A HREF = ¡±headers/expiretet_form.asp¡±>Response.CacheControl</A>
= <% = Resposne.CacheControl %><BR>
Á´½Óµ½Ã¿¸ö·½·¨ÊÇͨ¹ý<A>Á´½ÓÔªËØ£¬Ò³ÃæÖÐΨһ¸´Ôӵ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 & ¡°)<BR>¡±
Next
Else
¡®print out the cookie as normal
strCookies = strCookies & objItem & ¡°<BR>¡±
End If
Next
È»ºóÔÚÒ³ÃæµÄÊʵ±µãÉϲåÈë½á¹û¡£
<P><DIV CLASS=¡±subhead¡±>The Response.Cookies Collection</DIV>
<I><A HREF=¡±cookies/setcookies.asp¡±>Response.Cookies</A>
is a write-only collection so the values cannot be displayed</I><BR>
<% = 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Ò³ÃæÖÐʹÓÃËü£º
<FORM ACTION=¡±check_user.asp¡± METHOD=¡±POST¡±>
<INPUT TYPE=¡±TEXT¡± NAME=¡±UserName¡±
VALUE=¡±<% = Request.QueryString(¡°UserName¡±) %>¡±><P>
<INPUT TYPE=¡±SUBMIT¡± VALUE=¡±LOGIN¡±>
</FORM>
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>±ê¼Ç»òÈκÎÎı¾»òÆäËûµÄHTML£©µ½ÏìӦ֮ǰÍê³ÉÕâ¸ö¹¤×÷¡£




dzÎöÍøÂ簲ȫ¼¼Êõ£¨Ò»£©
»ùÓڣУģÆÎĵµµÄÍøÂçѧϰ×ÊÔ´½¨Éè

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