保存会话的两种技术:
cookie:客户端技术
原理:把用户数据以cookie形式写给用户各自的浏览器,用户再次访问时,带走缓存区请求资源。
sessio:服务器端技术
原理:服务器为每个用户的浏览器创建一个独享的session对象,把各自对象放进session中,用户再次访问服务器资源时,从用户的session中取出数据为用户服务,session是一个域对象
Constructor Summary
Cookie(java.lang.String name, java.lang.String value)
Constructs a cookie with a specified name and value.
name被保留。
- response下的方法
addCookie(Cookie cookie)
Adds the specified cookie to the response.
在响应中添加一个指定的cookie
- request下的方法
public Cookie[] getCookies()
获取cookie,注意返回值是一个数组
- cookie下方法
public java.lang.String getDomain()
返回这个cookie可以出现的区域,如何未定义返回空值。
public int getMaxAge()
返回这个cookie指定的最长存活时期。如何未定义这个最长存活时期,该方法返回-1,单位为秒。
public java.lang.String getName()
- Returns the name of the cookie.
-
public java.lang.String getValue()
- Returns the value of the cookie.
public void setMaxAge(int expiry)
设置最长存活时期。负数表示cookie不会生效,0表示从客户端删除这个cookie
注意:
- 一个cookie只能表示一种信息,name value 必须有
- 浏览器对每个网站最多支持20个cookie
- 浏览器本身最多支持300个cookie,每个cookie小于<4kb
- 创建一个cookie发送到浏览器,默认声明周期为会话周期,用户退出。后即删除,所以要用setmaxage()方法
- 删除cookie,如果时间设为0,表示删除cookie