session的实现原理中,每一个session对象会关联一个sessionid。例如
cookie最终是保存在浏览器客户端上的
cookie作用:
可以这样理解cookie
HTTP协议规定:任何一个cookie都是有name和value组成。name和value都是由字符串类型。
在HTTP协议中是这样规定的:当浏览器发送请求的时候,会自动携带该path下的cookie数据给服务器。(URL)
关于cookie的有效时间
在java的servlet中,对cookie提供了哪些支持呢?
关于cookie的path,cookie关联的路径:
假设现在发送的请求路径是“http://localhost:8080/servlet13/cookie/generate”生成的cookie,如果cookie没有设置path,默认的path是什么?
默认的path是:http://localhost:8080/servlet13/cookie 以及它的子路径。
也就是说,以后只要浏览器的请求路径是http://localhost:8080/servlet13/cookie 这个路径以及这个路径下的子路径,cookie都会被发送到服务器。
手动设置cookie的path
cookie.setPath(“/servlet13”);
表示只要是这个servlet13项目的请求路径,都会提交这个cookie给服务器。
浏览器发送cookie给服务器了,服务器中的java程序怎么接收?
Cookie[] cookies = request.getCookies(); // 这个方法可能返回null
if(cookies != null){
for(Cookie cookie : cookies){
// 获取cookie的name
String name = cookie.getName();
// 获取cookie的value
String value = cookie.getValue();
}
}
注意:以上方法获得的cookie数组空的话返回值是null,反正返回值肯定不是0.