关于Cookie
-
概述:
-
cookie是浏览器提供的一种技术
-
cookie使得一些只需保存在客户端,或者只需客户端进行处理的数据被保存在客户端计算机中,不用经过网络传输,因而提高了网页响应速度,降低了服务器端的负载
-
但是由于信息被保存在客户端,所以使用了cookie技术的web 网站的安全性相对较差
- cookie中可以包含许多信息,但是至少有一个JSEESIONID,这个JSESSIONID是客户端连接到服务器时,服务器为客户端自动分配的,使用JSESSIONID可以唯一的标识每一个客户端。
- 除了服务器端为客户端自动分配的JSESSIONID之外,程序员还可以通过response.addCookie(Cookie cookie)向客户端添加其他的Cookie对象
- 客户端每次向服务器端发送请求时,都会将自己机器上保存的cookie信息发送到服务器,所以服务器也可以获取客户端的cookie信息状态
-
- 服务器端如何获取客户端已经设置的cookie信息:JSP中可以通过web container提供的request对象来获取,request.getCookies()
-
- 虽然Cookie可以保存一些信息,但是不能无限制的保存,一般一个客户端最多只能保存300多个Cookie。
-
-
cookie的应用场景:
-
实例一,如一些网站可以记住用户账号和密码(具体代码参见)
-
实例二,
-
-
编程思路:(如何使用cookie技术)
-
step1,了解一些基础知识
-
-
1)java EE中提供了一个专门用于操作cookie的类:javax.servlet.http.Cookie
-
-
了解上述Cookie类中的常用成员方法、构造函数
-
-
- 2)在JSP的scriptlet中可以使用Cookie类,也可以使用九大内置对象中的request和response来操作Cookie
-
-
了解JSP 9大内置对象中response对象的成员方法response.addCookie(Cookie cookie)的用法:使用这个函数可以由服务器向客户端添加Cookie对象(实质上也就是一个key-value对儿)
- 了解JSP 9大内置对象request对象的成员方法request.getCookies()的用法
-
-
-
-
-
step2,创建Cookie对象
-
step3,使用response..addCookie(Cookie cookie)将step2中新建的cookie对象添加到客户端浏览器
-
step4,step2-step3通过response对象设置到客户端的cookie可以被客户端机器获取并作后续处理,这些cookie信息被保存在客户端机器中(生存时间由相应设置来决定),不用服务器端重复传送,客户端机器可以随时取用,
-
step5,由于客户端每次向服务器端发送请求时,都会将本地机器中保存的cookie信息放在header头信息中一起发送到服务器端,所以服务器端也可以获得保存在客户端机器中的cookie对象的值,并根据客户端机器中的Cookie的值作出后续操作
-