Cookie能够在访问者的机器上创立一个文件,来标识不同的用户。多个Cookie可以保存到同一个文件中,从编程的角度来看,在JSP中Cookie就是Java提供的一个类。
创建Cookie:
Cookie objCookie = new Cookie(index Value,string Value)
/*从上面的语法可以看出,一个Cookie对象必须包含有一个特定的index Value索引值与字符串类型的数据内容 string Value。*/
Cookie c =new Cookie("mycookie","Cookie Test");
/*建立了Cookie之后,该Cookie数据还必须传送到客户端。*/
写Cookie:
response.addCookie(cookie);
/*对Cookie进行操作首先要将Cookie保存到客户端,在JSP编程中,利用response对象通过addCookie()方法将Cookie写入客户端。*/
读Cookie:
Cookie[] 数组变量名= request.getCookies();
/*得到一个Cookie对象的数组,在客户端传来的Cookie数据类型都是数组类型,因此要得到其中某一项指定的Cookie对象,需要遍历数组来找。用户只需要用循环访问该数组的各个元素,调用getName()方法检查各个Cookie的名字,直至找到目标Cookie,然后对其调用getValue()方法取得与指定名字关联的值*/
在JSP中,通过Cookie.setXXX来设置各种属性,用Cookie.getXXX读出Cookie的属性。Cookie的名字和值始终是我们关系的两个部分。
如果不设置Cookie的保存时间,Cookie不会保存在硬盘内。
同一台机器的不同客户端都可以访问服务器保存在本地机器的Cookie。新开启的页面中未保存JSESSIONID。jsession就是客户端用来保存sessionid的变量,一般对于WEB应用来说,客户端变量都会保存在Cookie中,jsessionid也不例外。不过与一般的Cookie不同,jsessionid是保存在内存Cookie中的,在一般的Cookie中看不到。内存Cookie在打开一个浏览器窗口的时候会创建,在关闭这个窗口的时候也同时销毁,这就是为什么session变量不能跨窗口使用,要跨窗口使用就需要手动把jsessionid保存到Cookie里面。