标签:
cookie是保存在客户端的文本,能够在一定程度上提高用户体验。Servlet API 中提供了Cookie类,可以创建Cookie对象,并通过响应中的addCookie方法,将cookie保存到客户端。
Cookie的概念与使用:
cookie是保存在客户端的文本
Servlet API提供了Cookie类,可以将文本信息封装成Cookie对象
HttpServletResponse接口中提供了addCookie方法,将cookie添加到响应中
HttpServletRequest接口中提供了getCookie方法,从请求中获取所有cookie对象
引出cookie:
登陆某个网站后,使用同一台机器再次登陆,不需要再次输入用户名和密码,已经自动登陆。
这种功能往往是cookie来实现的。
cookie是存储在客户端的文本,文本往往以键值对的形式存在。档浏览器访问使用cookie的站点后,cookie的信息就保存到了客户端。由于cookie保存在客户端,再次访问服务器端资源时,cookie会被自动传递到服务器端。值得注意的是,一些保密信息不应该存储到cookie中,比如银行卡密码。
Cookie:
Cookie(String name, String value)
Constructs a cookie with a specified name and value.
int getMaxAge()
Returns the maximum age of the cookie, specified in seconds, By default, -1 indicating the cookie will persist until browser shutdown.
设置cookie对象的有效时长,默认为-1,也就是浏览器关闭后cookie失效,cookie信息保存在硬盘上
String getName()
Returns the name of the cookie. 获取cookie对象的名字
String getValue()
Returns the value of the cookie. 获取cookie对象的值
HttpServletRequest:
Cookie[] getCookies()
Returns an array containing all of the Cookie objects the client sent with this request.
HttpServletResponse:
void addCookie(Cookie cookie)
Adds the specified cookie to the response.
删除cookie:
设置cookie的存在时间为0秒就删除cookie了
c.setMaxAge(0);
JSESSIONID cookie
通过实验查看名为jsessionid的cookie
jsessionid的值为一个随机整数
为后面章节学习会话做好准备
特殊的cookie:名为JSESSIONID的cookie
我们发现第一个访问页面没有获取到cookie,但是刷新页面或者不关闭浏览器重新访问该页面会获取到一个名为JSESSIONID的cookie,在同一个浏览器中,无论访问多少次,该cookie的值都不变
名称为JSESSIONID的cookie我们可以判断它是一个会话cookie。
他是用来实现会话机制的cookie:默认情况下,访问JSP时,服务器端将生成一个名为JSESSIONID的cookie,值为随机的16进制整数
标签:
原文地址:http://www.cnblogs.com/aigeileshei/p/5677202.html