一。基本意义web
Cookie指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(一般通过加密)。Cookie是由服务器端生成,发送给User-Agent(通常是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值能够由服务器端开发本身定义,对于JSP而言也能够直接写入jsessionid,这样服务器能够知道该用户是否合法用户以及是否须要从新登陆等,服务器能够设置或读取Cookies中包含的信息,借此维护用户跟服务器会话中的状态。数组
Cookies就是服务器暂存放在你的电脑里的资料(.txt格式的文本文件),好让服务器用来辨认你的计算机。当你在浏览网站的时候,Web服务器会先送一小小资料放在你的计算机上,Cookies 会帮你在网站上所打的文字或是一些选择都记录下来。当下次你再访问同一个网站,Web服务器会先看看有没有它上次留下的Cookies资料,有的话,就会依据Cookie里的内容来判断使用者,送出特定的网页内容给你。浏览器
二。主要用途安全
1. Cookies最典型的应用是断定注册用户是否已经登陆过网站。用户可能会获得提示,是否在下一次进入此网站时保留用户信息以便简化登陆手续。服务器
2.另外一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不一样页面中选择不一样的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。cookie
网站能够利用cookies跟踪统计用户访问该网站的习惯,好比什么时间访问,访问了哪些页面,在每一个网页的停留时间等。目前Cookies 最普遍的是记录用户登陆信息,这样下次访问时能够不须要输入本身的用户名、密码session
三。在jsp中app
jsp中使用cookie完成状态管理:webapp
cookie也算http消息报头的一部分,它的做用有如下方面:jsp
一 记录访客的某些信息。例如能够利用cookie记录用户光临的网页次数,或者访客曾经输入过的信息。某些网站能够自动记录用户上次登陆的用户名,用的就是cookie。
二 页面之间传递变量。浏览器并不会保存当前页面上任何变量的信息,当页面被关闭时,页面上的全部变量信息将随之消失。
使用举例
在jsp中建立简单的cookie:
String cookiename="visitTimes";
Cookie cookie=new Cookie(cookiename,"1");
setMaxAge(10*60);//设置cookie存活期
addCookie(cookie);//将cookie写入客户端
在jsp中处理cookie数据的经常使用方法:
getDomain();返回cookie的域名.
getMaxAge();返回cookie的存活时间
getName();返回cookie的名字
getPath();返回cookie适用的路径
getSecure();若是浏览器经过安全协议发送Cookie将返回true值,若是浏览器使用标准协议刚返回false值
getValue();返回cookie的值
getVersion();返回cookie所听从的协议版本setComment(String purpose);设置cookie的注释
setPath(String url);设置Cookie的适用路径
setSecure(Boolean flag);设置浏览器是否仅仅使用安全协议来发送cookie,例如使用Https或ssl
setValue(String newvalue);cookie建立后设置一个新的值
setVersion(int v);设置cookie所听从的协议版本.
4、总结:尚学堂
1:服务器能够向客户端写内容
2:Cookie只能是文本内容
3:客户端能够阻止服务器写入
4:服务器网站只能读取本身webapp(网站)写入的东西
5:Cookie分为两种
属于窗口/子窗口(放在内存中的)
属于文本(有生命周期的):经过设置Cookie的生命周期
6:一个servlet/jsp设置的cookies可以被同一个路径下面或者子路径下面的servlet/jsp读到 (路径 = URL)(路径 != 真实文件路径)
⑴Http协议的无链接性要求出现一种保存C/S间状态的机制
⑵Cookie:保存到客户端的一个文本文件,与特定客户相关
⑶Cookie以“名-值”对的形式保存数据
⑷建立Cookie:new Cookie(name,value)
⑸可使用Cookie的setXX方法来设定一些相应的值
setName(String name)/getName()
setValue(String value)/getValue()
setMaxAge(int age)/getMaxAge()
利用HttpServletResponse的addCookie(Cookie)方法将它设置到客户端
利用HttpServletRequest的getCookies()方法来读取客户端的全部Cookie,返回一个Cookie数组