Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了。由于cookie是由客户端浏览器保存和携带的,所以称之为客户端技术。
1)servlet创建cookie,保存少量数据,发送浏览器。
2)浏览器获得服务器发送的cookie数据,将自动的保存到浏览器端。
3)下次访问时,浏览器将自动携带cookie数据发送给服务器。
1)每一个cookie文件大小:4kb , 如果超过4kb浏览器不识别
2)一个web站点(web项目):发送20个
3)一个浏览器保存总大小:300个
4)cookie 不安全,可能泄露用户信息。浏览器支持禁用cookie操作。
5) 默认情况生命周期:与浏览器会话一样,当浏览器关闭时cookie销毁的。---临时cookie
操作cookie:
  1)创建cookie:new Cookie(name,value)
  2)发送cookie到浏览器:HttpServletResponse.addCookie(Cookie)
  3)servlet接收cookie:HttpServletRequest.getCookies() 浏览器发送的所有cookie
cookie API:
getName() 获得名称,cookie中的key
getValue() 获得值,cookie中的value
  setValue(java.lang.String newValue) 设置内容,用于修改key对应的value值。
  setMaxAge(int expiry) 设置有效时间【】
  setPath(java.lang.String uri) 设置路径【】  
  setDomain(java.lang.String pattern) 设置域名 , 一般无效,有浏览器自动设置,setDomain(".zyh.com")
    www.zyh.com / bbs.zyh.com 都可以访问
    a.b.zyh.com无法访问
    作用:设置cookie的作用范围,域名+路径在一起就构成了cookie的作用范围,上面单独设置的setPath有用,是因为有浏览器自动设置该域名属性,但是我们必须知道有这么个属性进行域名设置的
  isHttpOnly() 是否只是http协议使用。只能servlet的通过getCookies()获得,javascript不能获得。
  setComment(java.lang.String purpose) (了解)  //对该cookie进行描述的信息(说明作用),浏览器显示cookie信息时能看到
  setSecure(boolean flag) (了解)  是否使用安全传输协议。为true时,只有当是https请求连接时cookie才会发送给服务器端,而http时不会,但是服务端还是可以发送给浏览端的。
  setVersion(int v) (了解)  参数为0(传统Netscape cookie规范编译)或1(RFC 2109规范编译)。
注意事项:cookie不能发送中文,如果要发送中文,就需要进行特别处理。
代码小兵49806-11 15:28
代码小兵49806-11 15:51
代码小兵49806-11 16:22
代码小兵51603-29 17:28
暴风城-小飞04-06 20:49