Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid,这样服务器可以知道该用户是否合法用户以及是否需要重新登录等,服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。
设置Cookie,代码如下:
Cookie cookie = new Cookie("cookieName","cookieValue");
cookieName为Cookie对象的名称,获取Cookie的时候需要使用;cookieValue为Cookie对象的值也就是储存用户的信息如用户名、 密码等。此步完成了实例化对象,之后需要用response.addCookie()将cookie加入到HTTP头中。
读取Cookie,代码如下:
Cookie cookies[] = request.getCookies(); for(int i=0;i<cookies.length;i++) { System.out.println(cookies[i].getValue()); }
读取Cookie得到的是所有Cookie的数组对象,需要循环遍历使用。
删除Cookie,代码如下:
for(int i=0;i<cookies.length;i++){ cookies[i].setMaxAge(0); response.addCookie(cookies[i]) }
下面讲述一下Cookie类常用方法,具体如下:
1.setValue()或者getValue() —>获取cookie对象的值。
2.getName() —>获取cookie对象的名称,循环的时候可以有选择的使用Cookie
3.setMaxAge()或者getMaxAge() —>设置或获取cookie对象有效时间,如果不设置则默认Cookie会在当前会话结束后失效,设置参数的单位为秒,如setMaxAge(60)为有效期为1分钟。
4.getComment()或者setConmment() —>为cookie设置或读取注释
5.getDomain()或者setDomain() —>设置或获取cookie的适用域