1.什么是cookie?
cookie是由服务器端生成,发送给客户端浏览器的,浏览器会将其保存在某个目录下的文本文件中。
2.在JSP中使用cookie
了解了什么是cookie,下面介绍如何在JSP中使用cookie。在JSP中使用cookie,需要经过一下几个步骤。
1.创建cookie对象
Cookie newCookie = new Cookie(String name,String value);
2.写入cookie
在学习JSP内置对象response的常用方法时,有一个addCookie()方法。在创建cookie对象后就使用response对象的addCookie()方法实现写入cookie,其代码如下;
response.addCookie(newCookie);
3.读取cookie
JSP是通过response对象的addCookie()方法写入cooke后,读取时需要调用JSP中request对象的getCookies()方法,该方法将返回HTTP请求中的cookie对象数组,因此必须通过遍历的方式进行访问。
cookie是通过name/value方式进行保存的,因而在遍历数组时,需要通过调用cookie对象的getName()方法对每个数组成员的名称进行检查,直到找到我们需要的cookie,然后调用cookie对象的getValue()方法取得名称对应的值。
cookie对象的几个常用方法
3. cookie的有效期
当用户访问网页时,cookie能够在客户端创建一个文件,用于记录用户的有关数据。但是一个cookie在客户端存在的时间并不是无限期的,也有其生命周期。我们可以指定coolie的有效期。在有效期内cookie始终存在并能够被读取,当达到有效期后,cookie会被客户端清除。
设置cookie有效期的方法有调用cookie对象的setNaxAge(int expiry)方法,其中参数expiry代表cookie的有效时间,以秒为单位。
4. cookie于session作用域的对比
目前为止,学习了两种存储用户信息的技术,即cookie和session作用域,总结两者的区别 如下:
(1): session作用域是在服务器保存用户信息 , cookie是在客户端保存用户信息
(2): session作用域中保存的值是Object类型 , cookie保存的值是String类型
(3): session作用域随会话的结束而将其储蓄的数据销毁 , cookie可以长期保存在客户端
(4): cookie通常用于保存不重要的用户信息,重要的信息使用session作用域保存