深爱那片海 发表于 2015-1-16 22:47:00

ASP教程之ASP中Cookie利用指南

楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。cookie实践上,在web开辟中,cookie仅仅是一个文本文件,当用户会见站点时,它就被存储在用户利用的盘算机上,个中,保留了一些信息,当用户往后再次会见这个站点时,web能够将这些信息提掏出来。

只管如今听起来cookie没有甚么冲动民气的,但实践上使用它,你能完成很多成心义的功效!好比说:你能够在站点上安排一个查询拜访问答表,扣问会见者最喜好的色彩和字体,然后依据这些定制用户的web界面。而且,你还能够保留会见者的登录暗码,如许,当会见者再次会见这个站点时,不必再输出暗码举行登录。

固然,cookie也有一些不敷。起首,因为使用cookie的功效能够编程完成一些不良妄图,以是年夜多半的扫瞄器中都有平安设定,个中能够设置是不是同意大概承受cookie,因而这就不克不及包管随时能利用cookie。再者,会见者大概成心大概偶然地删除cookie。当会见者的呆板碰到“蓝屏”逝世机时,大概从头格局化硬盘、安装体系后,本来保留的cookie将全体丧失。最初一点,有一些最后始的扫瞄器其实不能撑持cookie。

使用cooklie能做甚么?

有2种利用cookie的基础体例:

1、将cookie写进会见者的盘算机(利用RESPONSE命令)
2、从会见者的盘算机中取回cookie(利用REQUEST命令)



  Response.Cookies("CookieName")=value

实行上面的代码将会在会见者的盘算机中创立一个cookie,名字=VisitorName,值=Ken
Response.Cookies("VisitorName")="Ken"

实行上面的代码将会在会见者的盘算机中创立一个cookie,名字=VisitorName,值=表单中UserName的值
Response.Cookies("VisitorName")=Request.Form("UserName")



  Request.Cookies("CookieName")

能够将Request值看成一个变量对待,实行上面的代码,将取回名字为KensCookie的cookie值,并存进变量MyVar:
MyVar=Request.Cookies("KensCookie")

实行上面的代码,将判别名字为KensCookie的cookie值是不是为“Yes”:
IfRequest.Cookies("KensCookie")="Yes"then



你能够扩大下面的代码成为Cookie子关头值(CookieSubName),代码以下:
Response.Cookies("VisitorName")("FirstName")="Ken"
Response.Cookies("VisitorName")("LastName")="Baumbach"

解说例子前,最初会商2个观点:命令商定和利用到期工夫

  

  同其他变量的定名一样,符合地、共同地定名cookie,有益于在程序中前后联贯地利用它。你可使用上面的1个大概2个
cookie属性举行cookie变量的定名:

  域属性(Domain):域属性标明cookie由哪一个网站发生大概读取,默许情形下,cookie的域属性设置为发生它的网站,但你
也能够依据必要改动它。相干代码以下:Response.Cookies("CookieName").Domain=";

  路径属性(Path):路径属性能够完成更多的平安请求,经由过程设置网站上准确的路径,就可以限定cookie的利用局限。比方:
Response.Cookies("CookieName").Path="/maindir/subdir/path"

  

  一般情形下,当扫瞄器封闭时,一个cookie就不存在了。可是在很多时分,好比上面将要会商的web站点例子,我们但愿能更
长工夫地在会见者的盘算机上保留cookie。很侥幸,有如许的完成办法。上面的代码,就能够设置cookie的利用到期工夫为2010年
1月1日:
Response.Cookies("CookieName").Expires=#January01,2010#

  实行上面的代码,将设定cookie的过时工夫为“cookie的创立工夫+365日”:
Response.Cookies("CookieName")=Date+365

利用cookie的实践例子

如今入手下手会商实践的例子。假定:你想做一个查询拜访,每一个人初度会见时必要填写好信息,可是当往后再会见时,就不必要再那
么做。使用cookie,就能够十分美满地办理这个成绩,而年夜可不用用到数据库。



好,上面入手下手重新会商下面的代码。

起首,初始设置页面,并读取名字为KensSurvey的cookie值:


<%@LANGUAGE="VBSCRIPT"%>
<%
Survey=Request.Cookies("KensSurvey")
  然后,判别是不是已存在cookie值:

IfSurvey=""then
  假如不存在,就创立并设置cookie,并转到页面survey.asp。当下一次会见时,由于存在cookie值,就不会再转到
survey.asp页面。

Response.Cookies("KensSurvey")="x"
Response.Cookies("KensSurvey").Expires=#January01,2010#
Response.Redirect"survey.asp"
  假如cookie已存在,那末会见者将实行页面中残剩的代码:

restofthepage

Endif
%>

这里有别的一个复杂的例子:当会见者第1次扫瞄某个站点时,向他们显现接待信息。代码以下:



如今来看看下面的代码完成实行了甚么。起首,设置页面。然后,反省表单变量(在统一个页面中)。假如表单变量存
在,就创立cookie,并设置到期工夫。

<%@LANGUAGE="VBSCRIPT"%>
<%
RequestName=Request.Form("Name")
RequestLeaveMeAlone=Request.Form("LeaveMeAlone")
IfRequestName""orRequestLeaveMeAlone""then
Response.Cookies("MySiteVisitorName")=RequestName
Response.Cookies("MySiteVisitorName").Expires=#January01,2010#
Response.Cookies("MySiteLeaveMeAlone")=RequestLeaveMeAlone
Response.Cookies("MySiteLeaveMeAlone").Expires=#January01,2010#
Endif

  接着,读取cookie:

VisitorName=request.cookies("MySiteVisitorName")
LeaveMeAlone=request.cookies("MySiteLeaveMeAlone")
  假如cookie在会见者的盘算机上不存在,就创立一个表单,扣问相干信息:

IfVisitorName=""andLeaveMeAlone=""then
%>
<HTML>
<HEAD>
</HEAD>
<bodybgcolor="#ccffff"text="black"link="navy"vlink="purple">
<DIVALIGN="CENTER">
<formaction="index.asp"method="POST">
<H2>Letsbefriends</H2>
Whatsyourname(leaveblankandhittheSubmitbuttonifyoudontwantustoknow)?ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。

爱飞 发表于 2015-1-19 23:27:20

Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write

愤怒的大鸟 发表于 2015-1-25 10:19:34

另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)

小妖女 发表于 2015-2-2 21:39:19

如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。

若相依 发表于 2015-2-8 06:59:39

Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")

admin 发表于 2015-2-24 19:23:53

Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")

变相怪杰 发表于 2015-3-15 06:14:10

封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。

小女巫 发表于 2015-3-21 19:36:15

Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
页: [1]
查看完整版本: ASP教程之ASP中Cookie利用指南