考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
全国  |             |          |          |          |          |         
  当前位置:计算机等级 > 二级考试 > Java语言程序设计 > 考试辅导 > 文章内容
  

全国计算机等级考试二级Java重点内容(29)

中华IT学院   【 】  [ 2016年10月29日 ]

  cookie技术

  a, cookie是什么?

  浏览器访问服务器时,服务器发送给浏览器

  少量的数据,这些数据以set-cookie消息头的

  方式发送给浏览器。浏览器会将set-cookie消

  息头设置的内容保存下来(内存或者是硬盘)。

  当浏览器再次访问服务器时,会将之前保存的数

  据以cookie消息头的方式发送给服务器,通过这

  种机制,可以将浏览器与服务器之间交互的数据

  保存下来。

  b, 创建cookie

  Cookie cookie = new Cookie(String name,

  String value);

  cookie.setMaxAge(int seconds);

  response.addCookie(cookie);

  c,查询cookie

  //如果没有cookie,会返回null

  Cookie[] request.getCookies();

  String cookie.getName();

  String cookie.getValue();

  d,编码问题

  cookie的值只能是ascii字符,如果出现了非

  ascii字符(比如中文),需要将中文转换成

  对应的ascii字符表示。

  可以使用URLEncoder.encode方法或者

  BASE64Encoder.encode方法来实现转换。

  要注意:

  在查询时,要使用对应的方法来解码。

  e, 生存时间

  cookie.setMaxAge(int seconds)

  单位是秒。

  seconds <0: 保存在内存里(默认值),只有

  当浏览器关闭,cookie才会删除。

  seconds > 0: 以文件的方式保存在硬盘上,

  超过这个时间,浏览器会删除cookie。

  seconds = 0: 立即删除cookie。

  如果要删除一个名叫"username"的cookie:

  Cookie cookie = new Cookie("username","");

  cookie.setMaxAge(0);

  response.addCookie(cookie);

  f, 路径问题

  浏览器在访问服务器的某个路径时,会

  先比较cookie的路径与服务器的路径,只有

  符合条件的cookie才会发送给服务器。

  cookie如果没有调用setPath方法,则会

  有一个默认的路径,这个默认的路径是

  创建该cookie的组件的路径。

  比如: /web06_3/jsp01/addCookie.jsp

  创建了某个cookie,则该cookie的路径是:

  /web06_3/jsp01

  浏览器会比较cookie的路径与要访问的组件

  的路径,只有当要访问的组件的路径是cookie

  的路径或者及子路径时,浏览器才会发送该

  cookie组服务器。

  //设置cookie的路径

  cookie.setPath(String str);

  比如:

  cookie.setPath("/web06_3");这样设置的

  作用是,该组件生成的cookie,可以被这个应用

  下所有的其它组件访问到。

  练习:

  写一个Find_AddCookieServlet,该servlet

  先查询有没有一个名叫 userProfile的cookie,如果有,则

  显示该cookie的值,如果没有,则创建该cookie。

  new Cookie("userProfile","abc")

  g, cookie的限制

  cookie可以被禁止。

  cookie的大小有限制(大约4k左右,跟

  浏览器有关系),数量也有限制,浏览器

  在本地大约能保存300个左右的cookie。

  cookie不安全

  cookie的值只能是字符串

分享到:
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2006-2017 中华考试网(Examw.com) All Rights Reserved  营业执照