用JSP实现Cookie技术

来源 :考试周刊 | 被引量 : 0次 | 上传用户:kang543
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要: 本文主要介绍了Cookie技术带给网络的方便之处,并对JSP如何实现Cookie的写入和读出,以及用JSP操作Cookie过程中一些需要注意的问题进行了探讨。
  关键词: JSPCookie写入读出
  
  Cookie是一种应用较久的技术。HTML刚刚出现的时候,每个独立的页面之间无法记录和标识不同的用户。后来人们发明了Cookie技术,当用户访问网页时,它能在访问者的机器上创立一个文件,我们把它叫作Cookie,我们可以写一段内容进去,来标识不同的用户。如果下次用户再访问这个网页的时候,它能读出这个文件,这样网页就知道上次这个用户已经访问过该网页了。
  我在此介绍一下如何在写JSP文件的时候,用JSP实现Cookie技术。
  
  一、写入Cookie
  
  其实用JSP操作Cookie是非常简单的,我们来看下面一段JSP程序:
  
  ......
  
  
  <%
  String cookieName="Sender";
  Cookie cookie=new Cookie(cookieName, "Test_Content");
  cookie.setMaxAge(10);
  response.addCookie(cookie);
  %>
  ......
  
  
  这样我们就设置了一个Cookie。
  我们来仔细研究一下这段代码:
  Cookie cookie=new Cookie(cookieName,"Test_Content");
  这一行建立了一个Cookie对象,其中有两个参数,第一个参数cookieName定义了Cookie的名字,后一个参数,也是一个字符串,定义了Cookie的内容,即网页在用户的机器上标识的文件内容。
  接下来一行:cookie.setMaxAge(10),调用了Cookie中的setMaxAge方法,设定Cookie在用户机器硬盘上的存活期为10秒。一个Cookie文件在用户的硬盘里面存在的时间并不是无限期的,在建立Cookie对象的时候,我们必须制订Cookie文件的存活期,超过了这个存活期后,Cookie文件就不再起作用,会被用户的浏览器自行删除。如果我们希望用户在下次访问这个页面的时候,Cookie文件仍然有效而且可以被网页读出来的话,我们可以将Cookie文件的存活期设得稍微长一些。比如“cookie.setMaxAge(365*24*60*60)”这样可以让Cookie文件在一年内有效。
  
  二、读出Cookie文件
  
  Cookie文件创建好后,自然还需要我们把它读出来。接下来我们看看如何读出在用户硬盘上的Cookie文件。
  
  ......
  
  
  
  
  <%
  Cookie cookies=request.getCookies();
  Cookie sCookie=null;
  String svalue=null;
  String sname=null;
  For(int i=0;i  sCookie=cookies[i];
  svalue=sCookie.getValue();
  sname=sCookie.getName();
  <%
  

  %>}
  %>
  
Namevalue
<%=sname%><%=svalue%>

  ......
  
  
  这一小段JSP程序可以读出用户硬盘上的所有有效的Cookie文件,也就是仍然在存活期内的Cookie文件,并用表格的形式列出每个Cookie的名字和内容。
  我们来逐行分析一下这段代码:“Cookie cookies=request.getCookies()”。我们用“request.getCookies()”读出用户硬盘上的Cookie文件,并将所有的Cookie文件放到一个cookie对象数组里面。
  接下来我们用一个循环语句遍历刚才建立的Cookie对象数组,我们用“sCookie=cookies[i]”取出数组中的一个Cookie对象,然后用“sCookie.getValue()”和“sCookie.getName()”两个方法来取得这个Cookie文件的名字和内容。
  通过将取出来的Cookie文件的名字和内容放在字符串变量中,我们就能对其进行各种操作。在上面的例子里,我们可通过循环语句的遍历,将所有Cookie文件内容放在一张表格中进行显示。
  
  三、需要注意的一些问题
  
  通过上面两个简单的例子,我们可以看到,用JSP进行Cookie文件的操作是非常简单的。不过我们在实际操作中还要注意一些问题:
  1.Cookie的兼容性问题
  Cookie的格式有两个不同的版本:第一个版本,我们称为Cookie Version 0,它最初是由Netscape公司制订的,也几乎被所有的浏览器所支持;较新的版本,Cookie Version 1,则是根据RFC 2109文档制定的。为了确保兼容性,JAVA规定,前面所涉及的Cookie文件的操作都是针对旧版本的Cookie进行的,而新版本的Cookie目前还不被Javax.servlet.http.Cookie包所支持。
  2.Cookie的内容
  同样的Cookie文件的内容的字符限制针对不同的Cookie版本也有所不同。在Cookie Version 0中,某些特殊的字符,例如:空格、方括号、圆括号、等于号(=)、逗号、双引号、斜杠、问号、@符号、冒号、分号都不能作为Cookie文件的内容。这也就是为什么我们在例子中设定Cookie文件的内容为“Test_Content”的原因。
  虽然在Cookie Version 1规定中放宽了限制,我们可以使用这些字符,但是考虑到新版本的Cookie文件规范目前仍然没有被所有的浏览器所支持,因而为保险起见,我们应该在Cookie文件的内容中尽量避免使用这些字符。
  
  参考文献:
  [1]武马群.Java程序设计.北京:北京工业大学出版社,2007.
  [2]杨学全.JSP编程技术.北京:清华大学出版社,2009.
  [3]仲进平.JSP网络开发技术程序设计[M].北京:人民邮电出版社,2007.
  [4]汪赵强.JSP实用技术.北京:机械工业出版社,2008.
其他文献
狂犬病是由狂犬病病毒(Rabies virus,RABV)引起的以中枢神经系统感染为特征的人畜共患传染病,人和动物一旦发病死亡率几乎达100%(WHO 2009)。全世界每年因狂犬病死亡的人数超
本研究采用双层琼脂法测定了两株犬源乳酸菌E01和E16对两株致病性大肠杆菌ATCC25922和CVCC2060的抑菌效果,其抑菌圈的大小范围为13mm-16mm左右。其中乳酸菌E01对大肠杆菌CVCC
1.前言    邢台市自1989年第一家以教授健美操为主要活动形式的健身房开办以来,各色健身房如雨后春笋般相继开业,但由于各种原因多数不久便纷纷停业了。近几年,随着居民收入的提高,体育意识的加强,健身俱乐部又兴起了。邢台市现有中小型俱乐部七家。笔者对这七家经营性健身俱乐部的经营者、指导员和会员进行了访谈,通过对邢台市七家健身俱乐部相关信息的调查与研究,以及居民收入对健身消费的可支配情况,分析邢台健
期刊
摘要: 体育与德育是学校素质教育的重要组成部分,体育教师要积极发掘两者之间的内在联系,想方设法寓德育工作于体育教学、比赛活动之中,把学校的德育工作推上一个新台阶。  关键词: 体育教学德育渗透    学校体育与德育都是我国教育方针的重要组成部分,都是学校教育的重要方面。就体育而言,从外部形态上看,是学生身体的锻炼和技能的形成,是学生有一个强健体魄的有力保障;从学生锻炼过程中的思想变化看,包含着情感
摘要: 随着我国社会流动和城市化进程的加快,越来越多的农民工子女随父母流入城市。这一群体的生存状况和体质健康理应受到更多重视。农民工家庭、农民工子弟学校和社会环境是影响农民工子女健康的主要社会因素。本文认为,全社会应形成合力,引导农民工家庭重视子女体质健康,加强农民工子弟学校的体育建设,加强针对农民工子女的安全教育等。  关键词: 农民工子女体质健康影响因素对策    1.前言    随着我国社会
民办高校近几年发展得很快,许多民办高校的规模、软件与硬件条件都已经超过一般的公办高校。这对扩大学校的影响,提高学校的知名度,带动全民健身都发挥了积极的作用。但同时我们也应该看到,由于受社会因素、训练时间、教练员水平等因素的制约,民办高校田径队的发展面临着许多问题。笔者对我省部分民办高校的田径队进行了调查分析后,从中发现了一些问题,在此提出一些看法。    一、资金的问题    笔者调查南京金肯学院
体育是学校培养全面发展的社会主义建设者和接班人的一项重要教育内容,学校的体育工作直接影响着21世纪建设人才的素质。不久前,国家教委、国家体委、卫生部、国家民委、国家科委联合对全国中小生体质健康状况作了普查,发现学生的耐力、柔韧性、肺活量等状况较之10年前有下降的趋势。造成这一现象的直接原因是学生体育锻炼得不够,包括锻炼时间和锻炼强度均达不到体锻达标要求。这一情况令人担忧。如何改变这个现状,我认为应
期刊