关于JSP的Cookie的入门学习,以及部分代码的备注解释

来源:互联网 发布:安卓软件限速 编辑:程序博客网 时间:2024/05/28 14:56
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript">
function getCookie(c_name)
{
if (document.cookie.length>0)//判断cookie的长度大于零,不然返回空
  {
  c_start=document.cookie.indexOf(c_name + "=")//取得属性名在cookie中的位置
  // document.cookied 的头是c_name+"="。所以在getCookie里c_start=6,
  //再将7(即除了c_name+"="后的名字的第一个字母的数)传给c_start。这样才能获取完整的username。
  if (c_start!=-1)
    {
    c_start=c_start + c_name.length+1 // 上面的 c_start+c_name.length+1 计算 c_start 值之后
    c_end=document.cookie.indexOf(";",c_start)//取得此属性值得结束位置// indexOf 的第二个参数是指定从那里开始检索
    if (c_end==-1) c_end=document.cookie.length
    return unescape(document.cookie.substring(c_start,c_end))
    // unescape 是解码函数 因为我们制作cookie的时候一般把值用 escape 函数进行编码后在存储
    }
  }
return ""
}

function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}

function checkCookie()
{
username=getCookie('username')
if (username!=null && username!="")
  {alert('Welcome again '+username+'!')}
else
  {
  username=prompt('Please enter your name:',"")
  if (username!=null && username!="")
    {
    setCookie('username',username,365)
    }
  }
}
</script>
</head>

<body onLoad="checkCookie()">
</body>
</html>
0 0